thrift (0.16.0-4) unstable; urgency=medium
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 26 Apr 2022 15:14:22 +0000 (16:14 +0100)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 26 Apr 2022 15:14:22 +0000 (16:14 +0100)
  * Specify libs as section for libthrift-0.16.0 .
  * Backport upstream fix for out of memory when use TNonblockingServer.
  * Backport upstream fix THRIFT-5449: use poll instead of select in Python
    TNonblockingServer if available.

[dgit import unpatched thrift 0.16.0-4]

43 files changed:
1  2 
debian/changelog
debian/control
debian/copyright
debian/golang-thrift-dev.install
debian/libthrift-0.16.0.install
debian/libthrift-0.16.0.shlibs
debian/libthrift-c-glib-dev.install
debian/libthrift-c-glib0.install
debian/libthrift-dev.install
debian/libthrift-java-doc.doc-base
debian/libthrift-java-doc.install
debian/libthrift-perl.install
debian/patches/THRIFT-5449.patch
debian/patches/broken_boost_1.62.patch
debian/patches/disable_TLSv1_0_and_TLSv1_1.patch
debian/patches/disable_failing_tests.patch
debian/patches/disable_locale_tests.patch
debian/patches/disable_php_testing.patch
debian/patches/fix_out_of_memory.patch
debian/patches/go_no_mod.patch
debian/patches/go_test_fail_on_busy_machine.patch
debian/patches/golang_dependency_installed.patch
debian/patches/link_with_zlib.patch
debian/patches/missing_go_test.patch
debian/patches/no_bundler_use.patch
debian/patches/no_composer_install.patch
debian/patches/no_go_race.patch
debian/patches/no_pom.patch
debian/patches/no_shmem.patch
debian/patches/node_is_nodejs.patch
debian/patches/series
debian/php-thrift.install
debian/python3-thrift.install
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/thrift-compiler.docs
debian/thrift-compiler.examples
debian/thrift-compiler.install
debian/thrift-compiler.manpages
debian/thrift-doc.install
debian/thrift.1
debian/watch

index 52f87e3854973f01d3c31c8dd61d3388a519dea3,0000000000000000000000000000000000000000..ed16ccb01c0d886584762307f6d0d9883f5acdc7
mode 100644,000000..100644
--- /dev/null
@@@ -1,113 -1,0 +1,215 @@@
- thrift (0.15.0) stable; urgency=low
++thrift (0.16.0-4) unstable; urgency=medium
 +
-   * update to 0.15.0
++  * Specify libs as section for libthrift-0.16.0 .
++  * Backport upstream fix for out of memory when use TNonblockingServer.
++  * Backport upstream fix THRIFT-5449: use poll instead of select in Python
++    TNonblockingServer if available.
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 03 Aug 2021 23:00:00 +0100
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 26 Apr 2022 17:14:22 +0200
 +
- thrift (0.14.2) stable; urgency=low
++thrift (0.16.0-3) unstable; urgency=medium
 +
-   * update to 0.14.2
++  * Upload to Sid.
++  * This release contains fix for Python 3.10 (closes: #1008810).
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 11 Jun 2021 01:00:00 +0100
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 19 Apr 2022 17:08:21 +0200
 +
- thrift (0.14.1) stable; urgency=low
++thrift (0.16.0-2) experimental; urgency=medium
 +
-   * update to 0.14.1
++  * Run Go tests without non-portable race detector.
++  * Disable tests that seem to be incompatible with newer GLib versions.
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Tue, 02 Mar 2021 21:00:00 +0100
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 01 Apr 2022 17:14:34 +0200
 +
- thrift (0.14.0) stable; urgency=low
++thrift (0.16.0-1) experimental; urgency=medium
 +
-   * update to 0.14.0
++  * New major upstream release (closes: #1008458):
++    - fixes CVE-2020-13949: potential DoS when processing untrusted payloads
++      (closes: #988949).
++  * Rename related packages to -0.16.0 suffix.
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Thu, 04 Feb 2021 17:00:00 -0500
 +
- thrift (0.13.0) stable; urgency=low
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 28 Mar 2022 01:34:46 +0200
 +
-   * update to 0.13.0
++thrift (0.13.0-7) unstable; urgency=medium
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 11 Nov 2019 12:00:00 -0500
++  * Remove python3-thrift-dbg package (closes: #994384).
++  * Update Standards-Version to 4.6.0 .
++  * Sync with Ubuntu.
 +
- thrift (0.12.0) stable; urgency=low
++  [ Lucas Kanashiro <kanashiro@ubuntu.com> ]
++  * d/p/THRIFT-5318_support_php8.patch: Backport upstream patch to add support
++    for PHP 8 (LP: #1940473).
++  * d/rules: export GO111MODULE=off, this will make go.mod file not mandatory.
 +
-   * update to 0.12.0
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 24 Sep 2021 17:18:04 +0200
 +
-  -- Apache Thrift Developers <dev@thrift.apache.org>  Wed, 28 Dec 2018 12:00:00 -0500
++thrift (0.13.0-6) unstable; urgency=medium
 +
- thrift (0.11.0) stable; urgency=low
++  * Backport upstream fix for THRIFT-5322: Go compact_protocol allocating
++    unreasonable buffer size.
 +
-   * update to 0.11.0
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 14 Feb 2021 19:50:04 +0100
 +
-  -- Jake Farrell <jfarrell@apache.org>  Wed, 07 Dec 2017 20:07:00 -0500
++thrift (0.13.0-5) unstable; urgency=medium
 +
- thrift (0.10.0) stable; urgency=low
++  * Update Standards-Version to 4.5.0 .
 +
-   * update to 0.10.0
++  [ Adrian Bunk <bunk@debian.org> ]
++  * Link with libatomic on ARMel and MIPSel (closes: #972948).
 +
-  -- Jake Farrell <jfarrell@apache.org>  Wed, 03 Jan 2017 16:52:00 -0500
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 26 Oct 2020 18:01:44 +0100
 +
- thrift (0.9.3) stable; urgency=low
++thrift (0.13.0-4) unstable; urgency=medium
 +
-   * update to 0.9.3
++  * Add XS-Go-Import-Path field.
++  * Correct installed Go source files location.
++  * Update supported Ruby version (closes: #950742).
++  * Remove unneeded composer build dependency (closes: #970587).
++  * Don't remove needed config.h header (closes: #972225).
 +
-  -- Jake Farrell <jfarrell@apache.org>  Wed, 11 Oct 2015 17:22:00 -0500
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 15 Oct 2020 17:07:25 +0200
 +
- thrift (0.9.0) stable; urgency=low
++thrift (0.13.0-3) unstable; urgency=medium
 +
-   * update to 0.9.0
++  * Backport upstream fix for wrong int to string conversions in Go testing
++    (closes: #971192).
 +
-  -- Jake Farrell <jfarrell@apache.org>  Wed, 10 Oct 2012 12:00:00 -0500
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 27 Sep 2020 21:31:25 +0200
 +
- thrift (0.7.0) stable; urgency=low
++thrift (0.13.0-2) unstable; urgency=medium
 +
-   * update to 0.7.0
++  * Link C++ tests with atomic.
++  * Upload to Sid.
 +
-  -- Jake Farrell <jfarrell@apache.org>  Tue, 10 Aug 2011 17:01:53 -0500
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 08 Dec 2019 12:24:18 +0000
 +
- thrift (0.7.0-dev1) stable; urgency=low
-   * added glib
-   * fix location of libthrift.jar
++thrift (0.13.0-1) experimental; urgency=high
 +
-  -- Roger Meier <roger@apache.org>  Tue, 12 Apr 2011 21:41:18 +0200
++  * New major upstream release:
++    - fixes CVE-2019-0205: endless loop when feed with specific input data,
++    - fixes CVE-2019-0210: Go server may panic when feed with invalid input
++      data,
++    - removed compiler plug-in mechanism (closes: #942337).
++  * Rework upstream distclean process (closes: #943653).
 +
- thrift (0.6.0-dev1) stable; urgency=low
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 01 Dec 2019 10:46:55 +0000
 +
-   * update version field
-   * added debian folder to thrift/contrib
-   * changed a few details in control file
-   * update copyright file
++thrift (0.12.0-1) experimental; urgency=medium
 +
-  -- Roger Meier <roger@apache.org>  Tue, 14 Dec 2010 12:12:33 -0800
++  * New major upstream release.
++  * Rename related packages to -0.12.0 suffix.
++  * Remove Python 2 bindings (closes: #938662).
++  * Update debhelper level to 11 .
 +
- thrift (0.5.0+nmu2) stable; urgency=low
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 05 Oct 2019 08:58:11 +0000
 +
-   * Non-maintainer upload.
-   * Merged THRIFT-71_v9.patch to skip ./bootstrap.sh if not exists.
-     https://issues.apache.org/jira/secure/attachment/12465360/THRIFT-71_v9.patch
++thrift (0.11.0-6) unstable; urgency=medium
 +
-  -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 15:00:55 +0900
++  * Update copyright file (closes: #935713).
++  * Update Python packaging bits (closes: #935715).
 +
- thrift (0.5.0+nmu1) stable; urgency=low
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 25 Aug 2019 19:18:04 +0000
 +
-   * Non-maintainer upload.
-   * Imported package information for php5-thrift from https://github.com/simplegeo/thrift.
++thrift (0.11.0-5) experimental; urgency=medium
 +
-  -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 01:00:17 +0900
++  * Fix Python 3 packaging.
++  * Sync with Ubuntu.
++  * Update Standards-Version to 4.4.0 .
 +
- thrift (0.5.0) stable; urgency=low
++  [ Adam Cecile <acecile@le-vert.net> ]
++  * Build python3 package (closes: #913724).
 +
-   * update to 0.5.0
++  [ Gianfranco Costamagna <locutusofborg@debian.org> ]
++  * Export HOME to make the build happy (closes: #935620).
++  * Fix another failure due to new go with upstream patch.
 +
-  -- Roger Meier <roger@apache.org>  Fri, 08 Oct 2010 11:23:53 +0200
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 24 Aug 2019 15:47:34 +0000
 +
- thrift (0.4.0) stable; urgency=low
++thrift (0.11.0-4) unstable; urgency=medium
 +
-   * update to 0.4.0
++  * Backport upstream security fix for CVE-2018-11798: Node.js Filesever
++    webroot fixed path (closes: #918734).
++  * Update Standards-Version to 4.3.0 .
 +
-  -- Roger Meier <roger@bufferoverflow.ch>  Sun, 22 Aug 2010 21:26:00 +0100
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 08 Jan 2019 21:31:07 +0000
 +
- thrift (0.2008.12.30~8.04) hardy; urgency=low
++thrift (0.11.0-3) unstable; urgency=medium
 +
-   * Initial release.
++  * Build with latest PHP package version.
++  * Provide PHP package without version number.
++  * Upload to Sid (closes: #835294).
 +
-  -- Esteve Fernandez <esteve@fluidinfo.com>  Thu, 15 Jan 2009 11:34:24 +0100
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 27 Oct 2018 20:57:18 +0000
++
++thrift (0.11.0-2) experimental; urgency=medium
++
++  * Disable failing Python self-tests to fix mips and s390x FTBFS.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 12 Oct 2018 00:12:09 +0000
++
++thrift (0.11.0-1) experimental; urgency=medium
++
++  * New major upstream release.
++  * Fixes  CVE-2016-5397: command injection in format_go_output
++    (closes: #894577).
++  * Fix FTBFS problems (closes: #909067).
++  * Rename related packages to -0.11.0 suffix.
++  * Build with PHP 7.2 version.
++  * Remove libmaven-ant-tasks-java build dependency (closes: #877126).
++  * Update patches.
++  * Use auto-generated debug packages.
++  * Change package priority to optional.
++  * Update Standards-Version to 4.2.1 .
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 20 Sep 2018 18:16:39 +0000
++
++thrift (0.10.0-1) experimental; urgency=low
++
++  * New upstream release.
++  * Rename related packages to -0.10.0 suffix.
++  * Correct Perl install directory (closes: #859128).
++  * Fix building with Boost 1.62 version.
++  * Only build Go bindings on supported architectures.
++  * Add python{,3}-six build dependency for testing support.
++  * Disable failing TSimpleServer testing for Python.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 13 May 2017 08:15:21 +0000
++
++thrift (0.9.3-2) experimental; urgency=low
++
++  * Build Go bindings.
++  * Update to build with Java Servlet API 3.1 .
++  * Fix build with GCC 6.2 .
++  * Fix build with Boost 1.61 .
++  * Update Standards-Version to 3.9.8 .
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 17 Jul 2016 19:31:46 +0000
++
++thrift (0.9.3-1) experimental; urgency=low
++
++  * New upstream release.
++  * Patch SSLv3 support to use SSLv23_method function (closes: #804668).
++  * Specify Qt version to build and move to version 5 of the library.
++  * This release contains TestValidators.thrift , remove its patch.
++  * Add debug package for Pyton bindings.
++  * Update OpenJDK build dependency to version 8.
++  * Update Perl build dependency.
++  * Update Standards-Version to 3.9.7 .
++  * Keep rebuildable.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 20 Mar 2016 11:10:27 +0000
++
++thrift (0.9.2-2) experimental; urgency=low
++
++  * Specify openjdk-7-jdk to build with.
++  * Disable parallel testing.
++  * Update Boost build dependency to be version 1.58.0 at least.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 03 Aug 2015 20:09:47 +0200
++
++thrift (0.9.2-1) experimental; urgency=low
++
++  * Use monolithic upstream source for Thrift packaging (closes: #792097).
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 21 Mar 2015 17:45:29 +0000
diff --cc debian/control
index 0910a94a7538ad51d440d933261b3a114e6d8112,0000000000000000000000000000000000000000..f94fe8e924356a3455dd6d432f03c954dd66a31c
mode 100644,000000..100644
--- /dev/null
@@@ -1,201 -1,0 +1,191 @@@
- Priority: extra
- Build-Depends: dotnet-runtime-6.0, dotnet-sdk-6.0, debhelper (>= 9), build-essential, python-dev, ant,
-     erlang-base, ruby-dev | ruby1.9.1-dev, ruby-bundler ,autoconf, automake,
-     pkg-config, libtool, bison, flex, libboost-dev | libboost1.56-dev | libboost1.63-all-dev,
-     python-all, python-setuptools, python-all-dev, python-all-dbg,
-     python3-all, python3-setuptools, python3-all-dev, python3-all-dbg,
-     openjdk-8-jdk | openjdk-8-jdk-headless | openjdk-11-jdk | openjdk-11-jdk-headless | default-jdk,
-     libboost-test-dev | libboost-test1.56-dev | libboost-test1.63-dev, libevent-dev, libssl-dev, perl (>= 5.8.0-7),
-     php (>= 5), php-dev (>= 5), libglib2.0-dev, qtchooser, qtbase5-dev-tools
- Maintainer: Thrift Developer's <dev@thrift.apache.org>
- Homepage: http://thrift.apache.org/
- Vcs-Git: https://github.com/apache/thrift.git
- Vcs-Browser: https://github.com/apache/thrift
- Standards-Version: 3.9.7
- X-Python-Version: >= 2.6
- X-Python3-Version: >= 3.3
 +Source: thrift
 +Section: devel
- Package: thrift-compiler
++Priority: optional
++Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Build-Depends: debhelper-compat (= 11), dh-python,
++ dh-golang, golang-golang-x-net-dev,
++ gem2deb,
++ bison, flex,
++ libboost-all-dev, libevent-dev, zlib1g-dev,
++ libssl-dev,
++ libglib2.0-dev,
++ qtbase5-dev,
++ python3-all-dev, python3-six,
++ golang-go, golang-github-golang-mock-dev,
++ pkg-php-tools (>= 1.14~), php-dev, phpunit, php-codesniffer,
++ perl, libbit-vector-perl, libclass-accessor-perl, libtest-exception-perl,
++# openjdk-11-jdk, javahelper, maven-debian-helper (>= 1.5), ant (>= 1.7), ant-optional,
++# libhttpclient-java, libslf4j-java, libservlet3.1-java (>= 8),
++# nodejs, npm,
++ ruby-dev, ruby, bundler, rake,
++ ruby-daemons, ruby-diff-lcs, ruby-eventmachine, ruby-rspec-core,
++ ruby-rack, ruby-rack-test, ruby-rspec, ruby-rspec-expectations,
++ ruby-rspec-mocks, thin,
++# erlang-dev, erlang-eunit,
++# liblua5.2-dev,
++# google-mock
++Build-Conflicts: rustc
++Standards-Version: 4.6.0
++Homepage: https://thrift.apache.org/
++XS-Ruby-Versions: ruby3.0
++XS-Go-Import-Path: github.com/apache/thrift/lib/go/thrift
 +
- Description: Compiler for Thrift definition files
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++Package: libthrift-0.16.0
++Section: libs
 +Architecture: any
++Multi-Arch: same
 +Depends: ${shlibs:Depends}, ${misc:Depends}
-  This package contains the Thrift compiler that is used for translating
-  from .thrift files (containing the definitions) to the language binding
-  for the supported languages.
++Description: Thrift C++ library
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization.  It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: python-thrift
++ This package contains the runtime libraries needed for C++ applications
++ using Thrift.
 +
- Section: python
- Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, python-six
- Recommends: python-twisted-web, python-backports.ssl-match-hostname, python-ipaddress
- Provides: ${python:Provides}
- Description: Python bindings for Thrift (Python 2)
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the Python bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to Python
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
++Package: libthrift-dev
++Section: libdevel
 +Architecture: any
-  This package installs the library for Python 2.
++Depends: libthrift-0.16.0 (= ${binary:Version}), ${misc:Depends}, pkg-config
++Description: Thrift C++ library (development headers)
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization.  It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: python-thrift-dbg
++ This package contains the development libraries required for writing C++
++ applications using Thrift.
 +
- Section: debug
- Depends: ${shlibs:Depends}, ${misc:Depends}, python-thrift (= ${binary:Version}), python-all-dbg
- Provides: ${python:Provides}
- Description: Python bindings for Thrift (debug version)
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++Package: libthrift-c-glib0
++Section: libs
 +Architecture: any
-  This package contains the Python bindings for Thrift with debugging symbols.
-  You will need the thrift tool (in the thrift-compiler package) to compile your
-  definition to Python classes, and then the modules in this package will allow
-  you to use those classes in your programs.
++Multi-Arch: same
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: Thrift glib library
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization.  It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: python3-thrift
++ This package contains the glib based runtime libraries needed for C
++ applications using Thrift.
 +
- Section: python
- Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, python3-six
- Recommends: python3-twisted-web
- Provides: ${python:Provides}
- Description: Python bindings for Thrift (Python 3)
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the Python bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to Python
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
++Package: libthrift-c-glib-dev
++Section: libdevel
 +Architecture: any
-  This package installs the library for Python 3.
++Depends: libthrift-c-glib0 (= ${binary:Version}), ${misc:Depends}, pkg-config
++Description: Thrift glib library (development headers)
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization.  It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: python3-thrift-dbg
++ This package contains the development libraries required for writing glib
++ based C applications using Thrift.
 +
- Section: debug
- Depends: ${shlibs:Depends}, ${misc:Depends}, python3-thrift (= ${binary:Version}), python3-all-dbg
- Provides: ${python:Provides}
- Description: Python bindings for Thrift (debug version)
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the Python bindings for Thrift with debugging symbols.
-  You will need the thrift tool (in the thrift-compiler package) to compile your
-  definition to Python classes, and then the modules in this package will allow
-  you to use those classes in your programs.
- Package: ruby-thrift
- Architecture: all
- Section: libs
- Depends: ruby | ruby-interpreter, ${shlibs:Depends}, ${misc:Depends}
- Provides: libthrift-ruby
- Replaces: libthrift-ruby
- Breaks: libthrift-ruby
- Description: Ruby bindings for Thrift
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the Ruby bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to Ruby
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
- Package: libthrift-java
- Architecture: all
- Section: java
- Depends: ${misc:Depends}
- Description: Java bindings for Thrift
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the Java bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to Java
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
- Package: libthrift-netstd
- Architecture: all
- Section: netstd
- Depends: dotnet-runtime-6.0, ${misc:Depends}
- Description: NET Standard bindings for Thrift
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
-  .
-  This package contains the NET Standard bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to C#
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
- Package: libthrift-perl
- Architecture: all
- Section: perl
- Depends: perl (>= 5.8.0-7), ${misc:Depends}
- Description: Perl bindings for Thrift
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++Package: thrift-compiler
 +Architecture: any
-  This package contains the Perl bindings for Thrift. You will need the thrift
-  tool (in the thrift-compiler package) to compile your definition to Perl
-  classes, and then the modules in this package will allow you to use those
-  classes in your programs.
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Conflicts: thrift-compiler (<= 0.9.1-2)
++Replaces: thrift-compiler (<= 0.9.1-2)
++Description: code generator/compiler for Thrift definitions
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization.  It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: libthrift0
++ This package contains the compiler used to generate language code from
++ Thrift definition files.
 +
- Depends: ${shlibs:Depends}, ${misc:Depends}
- Description: Thrift C++ library
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++Package: python3-thrift
++Section: python
 +Architecture: any
-  This package contains the runtime libraries needed for C++ applications
-  using Thrift.
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
++Provides: ${python3:Provides}
++Description: Python 3 library for Thrift
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization. It combines a software
++ stack with a code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: libthrift0-dbg
++ This package provides the Python 3 bindings for Thrift.
 +
- Section: debug
- Depends: ${shlibs:Depends}, ${misc:Depends}, libthrift0 (= ${binary:Version})
- Description: Thrift C++ library debug symbols
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++#Package: libthrift-java
++#Section: java
++#Architecture: all
++#Depends: ${java:Depends}, ${misc:Depends}
++#Conflicts: libthrift-java (<= 0.9.1-2)
++#Replaces: libthrift-java (<= 0.9.1-2)
++#Description: Java language support for Thrift
++# Thrift is a software framework for the development of reliable and
++# performant communication and data serialization. It combines a software
++# stack with code generation to build services that operate seamlessly
++# across a number of different development languages.
++# .
++# This package provides the Java language support for Thrift.
++#
++#Package: libthrift-java-doc
++#Architecture: all
++#Section: doc
++#Depends: ${misc:Depends}
++#Suggests: libthrift-java
++#Description: Java language support for Thrift - documentation
++# Thrift is a software framework for the development of reliable and
++# performant communication and data serialization. It combines a software
++# stack with code generation to build services that operate seamlessly
++# across a number of different development languages.
++# .
++# This package contains Javadoc HTML documentation for libthrift-java .
++#
++Package: php-thrift
++Section: php
 +Architecture: any
-  This package contains the debug symbols for the Thrift C++ runtime libraries.
++Depends: ${phpcomposer:Debian-require}, ${shlibs:Depends}, ${misc:Depends}
++Provides: ${php:Provides}
++Conflicts: php7.0-thrift, php7.2-thrift
++Replaces: php7.0-thrift, php7.2-thrift
++Description: PHP language support for Thrift
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization. It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: libthrift-dev
- Architecture: any
- Section: libdevel
- Depends: ${shlibs:Depends}, ${misc:Depends}, libthrift0 (= ${binary:Version}), libglib2.0-dev
- Description: Thrift C++ library (development headers)
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++ This package provides the PHP5 language support for Thrift.
 +
-  This package contains the development libraries required for writing C++
-  applications using Thrift.
++Package: libthrift-perl
++Section: perl
++Architecture: all
++Multi-Arch: foreign
++Depends: ${perl:Depends}, ${misc:Depends}
++Description: Perl language support for Thrift
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization. It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
- Package: php5-thrift
- Architecture: any
- Section: php
- Depends: ${php:Depends}, ${shlibs:Depends}, ${misc:Depends}
- Provides: ${php:Provides}
- Description: PHP bindings for Thrift
-  Thrift is a software framework for scalable cross-language services
-  development. It combines a software stack with a code generation engine to
-  build services that work efficiently and seamlessly.
++ This package provides the Perl language support for Thrift.
 +
-  This package contains the PHP bindings for Thrift.
++Package: golang-thrift-dev
++Architecture: amd64 arm64 armel armhf i386 ppc64el
++Multi-Arch: same
++Depends: ${misc:Depends}
++Description: Go language support for Thrift
++ Thrift is a software framework for the development of reliable and
++ performant communication and data serialization. It combines a software
++ stack with code generation to build services that operate seamlessly
++ across a number of different development languages.
 + .
++ This package provides the Go language support for Thrift.
++#
++#Package: ruby-thrift
++#Section: libs
++#Architecture: any
++#Depends: ${shlibs:Depends}, ${misc:Depends}
++#Description: Ruby library for Thrift
++# Thrift is a software framework for the development of reliable and
++# performant communication and data serialization. It combines a software
++# stack with a code generation to build services that operate seamlessly
++# across a number of different development languages.
++# .
++# This package provides the Ruby bindings for Thrift.
index a7038b1c4eec1516669fb2f43f6bb8be864a29e7,0000000000000000000000000000000000000000..683adb6c08396e3ebbbb58b7fbf27b0b5ec972f1
mode 100644,000000..100644
--- /dev/null
@@@ -1,91 -1,0 +1,85 @@@
- This package was debianized by Thrift Developer's <dev@thrift.apache.org>.
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: thrift
++Source: https://www.apache.org/dist/thrift
 +
++Files: *
++Copyright: Copyright 2006- Apache Software Foundation
++License: Apache-2.0
 +
- This package and the Debian packaging is licensed under the Apache License,
- see `/usr/share/common-licenses/Apache-2.0'.
++Files: build/cmake/FindGLIB.cmake
++Copyright: Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
++License: BSD-2-clause
++ All rights reserved.
++ .
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ .
++ 1. Redistributions of source code must retain the above copyright
++    notice, this list of conditions and the following disclaimer.
++ 2. Redistributions in binary form must reproduce the above copyright
++    notice, this list of conditions and the following disclaimer in the
++    documentation and/or other materials provided with the distribution.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 +
- The following information was copied from Apache Thrift LICENSE file.
++Files: debian/*
++Copyright: Copyright 2012-2014 Eric Evans <eevans@debian.org>,
++           Copyright 2014-     Laszlo Boszormenyi (GCS) <gcs@debian.org>
++License: GPL-2+
 +
- --------------------------------------------------
- SOFTWARE DISTRIBUTED WITH THRIFT:
++License: GPL-2+
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU General Public License as published by the Free
++ Software Foundation; either version 2 of the License, or (at your option)
++ any later version.
++ .
++ This program is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++ or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ for more details.
++ .
++ You should have received a copy of the GNU General Public License along
++ with this package; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
++ .
++ On Debian systems, the full text of the GNU General Public License version
++ 2 can be found in the file `/usr/share/common-licenses/GPL-2'.
 +
- The Apache Thrift software includes a number of subcomponents with
- separate copyright notices and license terms. Your use of the source
- code for the these subcomponents is subject to the terms and
- conditions of the following licenses.
++License: GPL-3+
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <https://www.gnu.org/licenses/>.
++ .
++ On Debian systems, the full text of the GNU General Public License
++ version 3 can be found in the file `/usr/share/common-licenses/GPL-3'.
 +
- --------------------------------------------------
- Portions of the following files are licensed under the MIT License:
-   lib/erl/Makefile.am
- Please see doc/licenses/otp-base-license.txt for the full terms of this license.
- --------------------------------------------------
- The following files contain some portions of code contributed under
- the Thrift Software License (see doc/licenses/old-thrift-license.txt), and relicensed
- under the Apache 2.0 License:
-   compiler/cpp/Makefile.am
-   compiler/cpp/src/thrift/generate/t_cpp_generator.cc
-   compiler/cpp/src/thrift/generate/t_netstd_generator.cc
-   compiler/cpp/src/thrift/generate/t_erl_generator.cc
-   compiler/cpp/src/thrift/generate/t_hs_generator.cc
-   compiler/cpp/src/thrift/generate/t_java_generator.cc
-   compiler/cpp/src/thrift/generate/t_ocaml_generator.cc
-   compiler/cpp/src/thrift/generate/t_perl_generator.cc
-   compiler/cpp/src/thrift/generate/t_php_generator.cc
-   compiler/cpp/src/thrift/generate/t_py_generator.cc
-   compiler/cpp/src/thrift/generate/t_rb_generator.cc
-   compiler/cpp/src/thrift/generate/t_st_generator.cc
-   compiler/cpp/src/thrift/generate/t_xsd_generator.cc
-   compiler/cpp/src/thrift/main.cc
-   compiler/cpp/src/thrift/parse/t_field.h
-   compiler/cpp/src/thrift/parse/t_program.h
-   compiler/cpp/src/thrift/platform.h
-   compiler/cpp/src/thrift/thriftl.ll
-   compiler/cpp/src/thrift/thrifty.yy
-   lib/netstd/Thrift/Protocol/TBinaryProtocol.cs
-   lib/netstd/Thrift/Protocol/Entities/TField.cs
-   lib/netstd/Thrift/Protocol/Entities/TList.cs
-   lib/netstd/Thrift/Protocol/Entities/TMap.cs
-   lib/netstd/Thrift/Protocol/Entities/TMessage.cs
-   lib/netstd/Thrift/Protocol/Entities/TMessageType.cs
-   lib/netstd/Thrift/Protocol/TProtocol.cs
-   lib/netstd/Thrift/Protocol/TProtocolException.cs
-   lib/netstd/Thrift/Protocol/TProtocolFactory.cs
-   lib/netstd/Thrift/Protocol/Utilities/TProtocolUtil.cs
-   lib/netstd/Thrift/Protocol/Entities/TSet.cs
-   lib/netstd/Thrift/Protocol/Entities/TStruct.cs
-   lib/netstd/Thrift/Protocol/Entities/TType.cs
-   lib/netstd/Thrift/Server/TServer.cs
-   lib/netstd/Thrift/Server/TSimpleAsyncServer.cs
-   lib/netstd/Thrift/Server/TThreadPoolAsyncServer.cs
-   lib/netstd/Thrift/TApplicationException.cs
-   lib/netstd/Thrift/Thrift.csproj
-   lib/netstd/Thrift.sln
-   lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
-   lib/netstd/Thrift/Transport/Server/TServerTransport.cs
-   lib/netstd/Thrift/Transport/Client/TSocketTransport.cs
-   lib/netstd/Thrift/Transport/Client/TStreamTransport.cs
-   lib/netstd/Thrift/Transport/TTransport.cs
-   lib/netstd/Thrift/Transport/TTransportException.cs
-   lib/netstd/Thrift/Transport/TTransportFactory.cs
-   lib/netstd/Tests/Thrift.PublicInterfaces.Compile.Tests/Properties/AssemblyInfo.cs
-   lib/netstd/Tests/Thrift.PublicInterfaces.Compile.Tests/Thrift.PublicInterfaces.Compile.Tests.csproj
-   lib/rb/lib/thrift.rb
-   lib/st/README.md
-   lib/st/thrift.st
-   lib/cpp/test/OptionalRequiredTest.cpp
-   test/OptionalRequiredTest.thrift
-   test/ThriftTest.thrift
- --------------------------------------------------
- For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components:
- #   Copyright (c) 2007 Thomas Porschberg <thomas@randspringer.de>
- #
- #   Copying and distribution of this file, with or without
- #   modification, are permitted in any medium without royalty provided
- #   the copyright notice and this notice are preserved.
++License: Apache-2.0
++ Licensed to the Apache Software Foundation (ASF) under one or more contributor
++ license agreements. The ASF licenses this work to You under the Apache License,
++ Version 2.0 (the "License"); you may not use this work except in compliance
++ with the License.  You may obtain a copy of the License at
++ .
++ https://www.apache.org/licenses/LICENSE-2.0
++ .
++ On Debian systems, the complete text of the Apache License Version 2.0
++ can be found in the file '/usr/share/common-licenses/Apache-2.0'.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d091038124b0fad240b547e4d71b6d9a6de4b54e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++lib/go/thrift /usr/share/gocode/src/github.com/apache/thrift/lib/go/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d0b0147984b4811468e33a6aebd68f23c66602ad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/lib/*/libthrift-*.so
++usr/lib/*/libthriftnb-*.so
++usr/lib/*/libthriftqt5-*.so
++usr/lib/*/libthriftz-*.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..87767f9540687b2da66750f018f39a62473189f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++libthrift 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
++libthriftnb 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
++libthriftqt5 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
++libthriftz 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e062c94e1efbc11c45de230bdff821898f20b82
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/thrift/c_glib/
++usr/lib/*/libthrift_c_glib.a
++usr/lib/*/libthrift_c_glib.so
++usr/lib/*/pkgconfig/thrift_c_glib.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d71b50dcf4358b81fb888526abb0b9f0e88fdc78
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libthrift_c_glib.so.*
index 58b5223d464f759584921c6c289fd4b58a32ace4,0000000000000000000000000000000000000000..54e3e1306c05c0efd73bea901471c3679b172439
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,20 @@@
- usr/lib/*.a
- usr/lib/*.la
- usr/lib/pkgconfig
- usr/include
++usr/include/thrift/*.h
++usr/include/thrift/async/
++usr/include/thrift/concurrency/
++usr/include/thrift/processor/
++usr/include/thrift/protocol/
++usr/include/thrift/qt/
++usr/include/thrift/server/
++usr/include/thrift/transport/
++usr/lib/*/libthrift.a
++usr/lib/*/libthriftnb.a
++usr/lib/*/libthriftqt5.a
++usr/lib/*/libthriftz.a
++usr/lib/*/libthriftnb.so
++usr/lib/*/libthriftqt5.so
++usr/lib/*/libthrift.so
++usr/lib/*/libthriftz.so
++usr/lib/*/pkgconfig/thrift-nb.pc
++usr/lib/*/pkgconfig/thrift.pc
++usr/lib/*/pkgconfig/thrift-qt5.pc
++usr/lib/*/pkgconfig/thrift-z.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..03672c0e2b22591183be5db2995cde42f6349221
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++Document: libthrift-java-doc
++Title: Programmer API for Thrift Java support
++Author: Apache Software Foundation
++Section: Programming
++
++Format: HTML
++Index: /usr/share/doc/thrift/java/index.html
++Files: /usr/share/doc/thrift/java/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1c296680f4d0b7ef1ed0f96f6faec309371a8c82
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/_jh_build.javadoc/api/* /usr/share/doc/thrift/java/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f3ee2e4da39867b4eaf0025fb25251a9455c3abf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/perl5/Thrift.pm       /usr/share/perl5
++usr/lib/perl5/Thrift  /usr/share/perl5
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b40bebf0cfb45ee0ec8c168515ce029146ab948c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,94 @@@
++From 88a45ac77518eafb57db08938ecdf38c5fcf7a31 Mon Sep 17 00:00:00 2001
++From: Yiyang Zhou <yiyangzhou123@ucla.edu>
++Date: Wed, 4 Aug 2021 21:55:04 +0800
++Subject: [PATCH] THRIFT-5449: Use poll instead of select in Python
++ TNonblockingServer if available Client: Python
++
++---
++ lib/py/src/server/TNonblockingServer.py | 46 +++++++++++++++++++++++--
++ 1 file changed, 44 insertions(+), 2 deletions(-)
++
++diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py
++index ac06496511..fdf6779ad2 100644
++--- a/lib/py/src/server/TNonblockingServer.py
+++++ b/lib/py/src/server/TNonblockingServer.py
++@@ -253,6 +253,7 @@ def __init__(self,
++         self._read, self._write = socket.socketpair()
++         self.prepared = False
++         self._stop = False
+++        self.poll = select.poll() if hasattr(select, 'poll') else None
++ 
++     def setNumThreads(self, num):
++         """Set the number of worker threads that should be created."""
++@@ -318,13 +319,53 @@ def _select(self):
++         else:
++             return select.select(readable, writable, readable) + (True,)
++ 
+++    def _poll_select(self):
+++        """Does poll on open connections, if available."""
+++        remaining = []
+++
+++        self.poll.register(self.socket.handle.fileno(), select.POLLIN | select.POLLRDNORM)
+++        self.poll.register(self._read.fileno(), select.POLLIN | select.POLLRDNORM)
+++
+++        for i, connection in list(self.clients.items()):
+++            if connection.is_readable():
+++                self.poll.register(connection.fileno(), select.POLLIN | select.POLLRDNORM | select.POLLERR | select.POLLHUP | select.POLLNVAL)
+++                if connection.remaining or connection.received:
+++                    remaining.append(connection.fileno())
+++            if connection.is_writeable():
+++                self.poll.register(connection.fileno(), select.POLLOUT | select.POLLWRNORM)
+++            if connection.is_closed():
+++                try:
+++                    self.poll.unregister(i)
+++                except KeyError:
+++                    logger.debug("KeyError in unregistering connections...")
+++                del self.clients[i]
+++        if remaining:
+++            return remaining, [], [], False
+++
+++        rlist = []
+++        wlist = []
+++        xlist = []
+++        pollres = self.poll.poll()
+++        for fd, event in pollres:
+++            if event & (select.POLLERR | select.POLLHUP | select.POLLNVAL):
+++                xlist.append(fd)
+++            elif event & (select.POLLOUT | select.POLLWRNORM):
+++                wlist.append(fd)
+++            elif event & (select.POLLIN | select.POLLRDNORM):
+++                rlist.append(fd)
+++            else:  # should be impossible
+++                logger.debug("reached an impossible state in _poll_select")
+++                xlist.append(fd)
+++
+++        return rlist, wlist, xlist, True
+++
++     def handle(self):
++         """Handle requests.
++ 
++         WARNING! You must call prepare() BEFORE calling handle()
++         """
++         assert self.prepared, "You have to call prepare before handle"
++-        rset, wset, xset, selected = self._select()
+++        rset, wset, xset, selected = self._select() if not self.poll else self._poll_select()
++         for readable in rset:
++             if readable == self._read.fileno():
++                 # don't care i just need to clean readable flag
++@@ -343,6 +384,8 @@ def handle(self):
++                     connection.read()
++                 if connection.received:
++                     connection.status = WAIT_PROCESS
+++                    if self.poll:
+++                        self.poll.unregister(connection.fileno())
++                     msg = connection.received.popleft()
++                     itransport = TTransport.TMemoryBuffer(msg.buffer, msg.offset)
++                     otransport = TTransport.TMemoryBuffer()
++@@ -354,7 +397,6 @@ def handle(self):
++             self.clients[writeable].write()
++         for oob in xset:
++             self.clients[oob].close()
++-            del self.clients[oob]
++ 
++     def close(self):
++         """Closes the server."""
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3af4b7643513e6e559510ac8d2756c5fcc1d7004
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++Description: these fail in chroot environments
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2021-09-26
++
++---
++
++--- thrift-0.10.0.orig/lib/cpp/test/Makefile.am
+++++ thrift-0.10.0/lib/cpp/test/Makefile.am
++@@ -113,9 +113,10 @@ check_PROGRAMS += \
++ endif
++ 
++ TESTS_ENVIRONMENT= \
++-     BOOST_TEST_LOG_SINK=tests.xml \
++-     BOOST_TEST_LOG_LEVEL=test_suite \
++-     BOOST_TEST_LOG_FORMAT=XML
+++     BOOST_TEST_LOGGER=XML,test_suite,tests.xml
+++#    BOOST_TEST_LOG_SINK=tests.xml \
+++#    BOOST_TEST_LOG_LEVEL=test_suite \
+++#    BOOST_TEST_LOG_FORMAT=XML
++ 
++ TESTS = \
++      $(check_PROGRAMS)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9d9ec74b6b8e450eab8c766f7c1ec91dcf0da0f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Description: Disable TLS v1.0 and TLS v1.1 connection tests
++ TLS v1.0 and TLS v1.1 protocols are disabled as of OpenSSL 1.1.0f-4, see:
++ https://packages.qa.debian.org/o/openssl/news/20170806T233554Z.html
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Bug-Debian: https://bugs.debian.org/859128
++Last-Update: 2021-09-26
++
++---
++
++--- thrift-0.10.0.orig/lib/cpp/test/SecurityTest.cpp
+++++ thrift-0.10.0/lib/cpp/test/SecurityTest.cpp
++@@ -224,11 +224,11 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix
++         {
++     //   server    = SSLTLS   SSLv2    SSLv3    TLSv1_0  TLSv1_1  TLSv1_2
++     // client
++-    /* SSLTLS  */  { true,    false,   false,   true,    true,    true    },
+++    /* SSLTLS  */  { true,    false,   false,   false,   false,   true    },
++     /* SSLv2   */  { false,   false,   false,   false,   false,   false   },
++     /* SSLv3   */  { false,   false,   true,    false,   false,   false   },
++-    /* TLSv1_0 */  { true,    false,   false,   true,    false,   false   },
++-    /* TLSv1_1 */  { true,    false,   false,   false,   true,    false   },
+++    /* TLSv1_0 */  { false,   false,   false,   true,    false,   false   },
+++    /* TLSv1_1 */  { false,   false,   false,   false,   true,    false   },
++     /* TLSv1_2 */  { true,    false,   false,   false,   false,   true    }
++         };
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6d4f02a3fde8e93b9e22596cc418708df27457b3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,68 @@@
++Description: disable failing tests
++ SSL and security tests don't work on buildd machines. Other tests that seem
++ to be incompatible with newer GLib versions.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2022-04-01
++
++---
++
++--- a/lib/c_glib/test/Makefile.am
+++++ b/lib/c_glib/test/Makefile.am
++@@ -47,7 +47,6 @@ check_PROGRAMS = \
++   testapplicationexception \
++   testcontainertest \
++   testtransportsocket \
++-  testtransportsslsocket \
++   testbinaryprotocol \
++   testcompactprotocol \
++   testbufferedtransport \
++--- a/lib/cpp/test/Makefile.am
+++++ b/lib/cpp/test/Makefile.am
++@@ -94,8 +94,6 @@ check_PROGRAMS = \
++      TransportTest \
++      TInterruptTest \
++      TServerIntegrationTest \
++-     SecurityTest \
++-     SecurityFromBufferTest \
++      ZlibTest \
++      TFileTransportTest \
++      link_test \
++--- a/lib/c_glib/test/testthriftbinaryreadcheck.c
+++++ b/lib/c_glib/test/testthriftbinaryreadcheck.c
++@@ -272,8 +272,8 @@ main (int argc, char *argv[])
++      g_test_init (&argc, &argv, NULL);
++ 
++      g_test_add_func ("/testthriftbinaryreadcheck/CreateAndDestroy", test_create_and_destroy);
++-     g_test_add_func ("/testthriftbinaryreadcheck/Initialize", test_initialize);
++-     g_test_add_func ("/testthriftbinaryreadcheck/test_read_and_write_complex_types", test_read_and_wirte_complex_types);
+++//     g_test_add_func ("/testthriftbinaryreadcheck/Initialize", test_initialize);
+++//     g_test_add_func ("/testthriftbinaryreadcheck/test_read_and_write_complex_types", test_read_and_wirte_complex_types);
++ 
++      return g_test_run ();
++ }
++--- a/lib/c_glib/test/testthriftcompactreadcheck.c
+++++ b/lib/c_glib/test/testthriftcompactreadcheck.c
++@@ -267,9 +267,9 @@ main (int argc, char *argv[])
++ 
++   g_test_add_func ("/testthriftcompactreadcheck/CreateAndDestroy",
++                    test_create_and_destroy);
++-  g_test_add_func ("/testthriftcompactreadcheck/Initialize", test_initialize);
++-  g_test_add_func ("/testthriftcompactreadcheck/ReadAndWriteComplexTypes",
++-                   test_read_and_write_complex_types);
+++//  g_test_add_func ("/testthriftcompactreadcheck/Initialize", test_initialize);
+++//  g_test_add_func ("/testthriftcompactreadcheck/ReadAndWriteComplexTypes",
+++//                   test_read_and_write_complex_types);
++ 
++   return g_test_run ();
++ }
++--- a/lib/c_glib/test/testthriftframedreadcheck.c
+++++ b/lib/c_glib/test/testthriftframedreadcheck.c
++@@ -216,7 +216,7 @@ main(int argc, char *argv[])
++   g_test_init (&argc, &argv, NULL);
++ 
++   g_test_add_func ("/testframedtransport/OpenAndClose", test_open_and_close);
++-  g_test_add_func ("/testframedtransport/ReadAndWrite", test_read_and_write);
+++//  g_test_add_func ("/testframedtransport/ReadAndWrite", test_read_and_write);
++ 
++   return g_test_run ();
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d09a1d56de74c992118616cd5192f9c30e381b73
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++Description: disable locale specific tests
++ On buildd network locales might not be available.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Forwarded: no
++Last-Update: 2022-03-31
++
++---
++
++
++--- thrift-0.16.0.orig/lib/cpp/test/ToStringTest.cpp
+++++ thrift-0.16.0/lib/cpp/test/ToStringTest.cpp
++@@ -44,6 +44,7 @@ BOOST_AUTO_TEST_CASE(base_types_to_strin
++ // NOTE: Currently (as of 2021.08.12) the locale-based tests do not work on
++ // Windows in the AppVeyor Thrift CI build correctly. Therefore disabled on
++ // Windows:
+++/*
++ #ifndef _WIN32
++ BOOST_AUTO_TEST_CASE(locale_en_US_int_to_string) {
++ #ifdef _WIN32
++@@ -53,7 +54,9 @@ BOOST_AUTO_TEST_CASE(locale_en_US_int_to
++ #endif
++   BOOST_CHECK_EQUAL(to_string(1000000), "1000000");
++ }
+++*/
++ 
+++/*
++ BOOST_AUTO_TEST_CASE(locale_de_DE_floating_point_to_string) {
++ #ifdef _WIN32
++   std::locale::global(std::locale("de-DE.UTF-8"));
++@@ -65,6 +68,7 @@ BOOST_AUTO_TEST_CASE(locale_de_DE_floati
++   BOOST_CHECK_EQUAL(to_string(1.5L), "1.5");
++ }
++ #endif
+++*/
++ 
++ BOOST_AUTO_TEST_CASE(empty_vector_to_string) {
++   std::vector<int> l;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b40284fea16a4e37506c3e6d5f5d3e5ea1d88a8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Description: PHP tests are not phpunit 8 compatible
++ Disable those for now.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2019-09-22
++
++---
++
++--- thrift-0.12.0.orig/lib/php/test/Makefile.am
+++++ thrift-0.12.0/lib/php/test/Makefile.am
++@@ -35,13 +35,13 @@ deps: $(top_srcdir)/composer.json
++ all-local: deps
++ 
++ check-json-serializer: deps stubs
++-     $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/
+++#    $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/
++ 
++ check-validator: deps stubs
++-     $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/
+++#    $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/
++ 
++ check-protocol:      deps stubs
++-     $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/
+++#    $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/
++ 
++ check: deps stubs \
++   check-protocol \
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ac90ac708b8437e7b8a1c26004d441dbd7d3c04a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++From b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04 Mon Sep 17 00:00:00 2001
++From: shangxu <shangxu@domob.cn>
++Date: Fri, 13 Nov 2020 18:03:01 +0800
++Subject: [PATCH] fix Out Of Memory when use TNonblockingServer
++
++---
++ lib/py/src/server/TNonblockingServer.py | 4 ++++
++ 1 file changed, 4 insertions(+)
++
++diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py
++index f62d486ebc..ac06496511 100644
++--- a/lib/py/src/server/TNonblockingServer.py
+++++ b/lib/py/src/server/TNonblockingServer.py
++@@ -151,6 +151,10 @@ def read(self):
++             while len(self._rbuf) >= self._reading.end:
++                 if self._reading.is_header:
++                     mlen, = struct.unpack('!i', self._rbuf[:4])
+++                    if mlen < 0:
+++                        logger.error('could not read the head from frame')
+++                        self.close()
+++                        break
++                     self._reading = Message(self._reading.end, mlen, False)
++                     self.status = WAIT_MESSAGE
++                 else:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d5a945a554ed6d97badeb7988fb38426af9e5939
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,101 @@@
++Description: Go mod can't be specified
++ Just delete those from Go invocation.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Forwarded: no
++Last-Update: 2022-04-01
++
++---
++
++--- thrift-0.16.0.orig/lib/go/Makefile.am
+++++ thrift-0.16.0/lib/go/Makefile.am
++@@ -31,13 +31,13 @@ install:
++      @echo '##############################################################'
++ 
++ check-local:
++-     $(GO) test -mod=mod ./thrift
+++     $(GO) test ./thrift
++ 
++ clean-local:
++      $(RM) -rf pkg
++ 
++ all-local:
++-     $(GO) build -mod=mod ./thrift
+++     $(GO) build ./thrift
++ 
++ EXTRA_DIST = \
++      thrift \
++--- thrift-0.16.0.orig/lib/go/test/Makefile.am
+++++ thrift-0.16.0/lib/go/test/Makefile.am
++@@ -89,7 +89,7 @@ gopath: $(THRIFT) $(THRIFTTEST) \
++      touch gopath
++ 
++ check: gopath
++-     $(GO) build -mod=mod \
+++     $(GO) build \
++                              ./gopath/src/includestest \
++                              ./gopath/src/binarykeytest \
++                              ./gopath/src/servicestest \
++@@ -107,14 +107,14 @@ check: gopath
++                              ./gopath/src/duplicateimportstest \
++                              ./gopath/src/equalstest \
++                              ./gopath/src/conflictargnamestest
++-     $(GO) test -mod=mod github.com/apache/thrift/lib/go/thrift
++-     $(GO) test -mod=mod ./gopath/src/tests ./gopath/src/dontexportrwtest
+++     $(GO) test github.com/apache/thrift/lib/go/thrift
+++     $(GO) test ./gopath/src/tests ./gopath/src/dontexportrwtest
++ 
++ clean-local:
++      $(RM) -r gopath ThriftTest.thrift gen-go
++ 
++ client: stubs
++-     $(GO) run -mod=mod TestClient.go
+++     $(GO) run TestClient.go
++ 
++ EXTRA_DIST = \
++      dontexportrwtest \
++--- thrift-0.16.0.orig/lib/go/test/fuzz/Makefile.am
+++++ thrift-0.16.0/lib/go/test/fuzz/Makefile.am
++@@ -19,12 +19,12 @@
++ 
++ gopathfuzz: $(THRIFT) fuzz.go
++      $(THRIFT) -r --gen go:thrift_import=github.com/apache/thrift/lib/go/thrift$(COMPILER_EXTRAFLAG) ../../../../tutorial/tutorial.thrift
++-     cd gen-go/shared && go mod init shared
++-     cd gen-go/tutorial && go mod init tutorial
+++#    cd gen-go/shared && go mod init shared
+++#    cd gen-go/tutorial && go mod init tutorial
++      touch gopathfuzz
++ 
++ check: gopathfuzz
++-     go test -mod=mod -tags gofuzz
+++     go test -tags gofuzz
++ 
++ clean-local:
++      $(RM) -r gopathfuzz gen-go
++--- thrift-0.16.0.orig/test/go/Makefile.am
+++++ thrift-0.16.0/test/go/Makefile.am
++@@ -37,13 +37,13 @@ gopath: $(THRIFT) ThriftTest.thrift
++      touch gopath
++ 
++ bin/testclient: gopath
++-     GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/testclient
+++     GOPATH=`pwd` $(GO) install ./src/bin/testclient
++ 
++ bin/testserver: gopath
++-     GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/testserver
+++     GOPATH=`pwd` $(GO) install ./src/bin/testserver
++ 
++ bin/stress: gopath
++-     GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/stress
+++     GOPATH=`pwd` $(GO) install ./src/bin/stress
++ 
++ clean-local:
++      $(RM) -r src/gen src/github.com/golang src/thrift bin pkg gopath ThriftTest.thrift
++@@ -51,7 +51,7 @@ clean-local:
++ check_PROGRAMS: bin/testclient bin/testserver bin/stress
++ 
++ check: gopath genmock
++-     $(GO) test -mod=mod -v ./src/common/...
+++     $(GO) test -v ./src/common/...
++ 
++ genmock: gopath
++      sh genmock.sh
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..979341ca9cccb3462e0cc56a6a0be22d978e5c48
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++Description: wait a second after go serve socket
++ Multiple upstream wait time by hundred.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2021-09-26
++
++---
++
++--- thrift-0.11.0.orig/lib/go/test/tests/multiplexed_protocol_test.go
+++++ thrift-0.11.0/lib/go/test/tests/multiplexed_protocol_test.go
++@@ -84,7 +84,7 @@ func TestMultiplexedProtocolFirst(t *tes
++ 
++      defer server.Stop()
++      go server.Serve()
++-     time.Sleep(10 * time.Millisecond)
+++     time.Sleep(1000 * time.Millisecond)
++ 
++      transport, err := createTransport(addr)
++      if err != nil {
++@@ -123,7 +123,7 @@ func TestMultiplexedProtocolSecond(t *te
++ 
++      defer server.Stop()
++      go server.Serve()
++-     time.Sleep(10 * time.Millisecond)
+++     time.Sleep(1000 * time.Millisecond)
++ 
++      transport, err := createTransport(addr)
++      if err != nil {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ebb7a59becb8af304b4f7db941cc7f11ccc533eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++Description: golang dependencies already installed as build dependency
++Forwarded: no
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2019-12-01
++
++---
++
++--- thrift-0.13.0.orig/lib/go/test/Makefile.am
+++++ thrift-0.13.0/lib/go/test/Makefile.am
++@@ -71,9 +71,9 @@ gopath: $(THRIFT) $(THRIFTTEST) \
++      $(THRIFT) $(THRIFTARGS) ConflictNamespaceTestD.thrift
++      $(THRIFT) $(THRIFTARGS) ConflictNamespaceTestSuperThing.thrift
++      $(THRIFT) $(THRIFTARGS) ConflictNamespaceServiceTest.thrift
++-     GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true
++-     sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' gopath/src/github.com/golang/mock/gomock/controller.go || true
++-     GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock
+++     echo GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true
+++     echo sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' gopath/src/github.com/golang/mock/gomock/controller.go || true
+++     echo GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock
++      ln -nfs ../../../thrift gopath/src/thrift
++      ln -nfs ../../tests gopath/src/tests
++      cp -r ./dontexportrwtest gopath/src
++--- thrift-0.13.0.orig/test/go/Makefile.am
+++++ thrift-0.13.0/test/go/Makefile.am
++@@ -34,9 +34,9 @@ gopath: $(THRIFT) ThriftTest.thrift
++      mkdir -p src/gen
++      $(THRIFTCMD) ThriftTest.thrift
++      $(THRIFTCMD) ../StressTest.thrift
++-     GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true
++-     sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' src/github.com/golang/mock/gomock/controller.go || true
++-     GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock
+++     echo GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true
+++     echo sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' src/github.com/golang/mock/gomock/controller.go || true
+++     echo GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock
++      ln -nfs ../../../lib/go/thrift src/thrift
++      touch gopath
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f421c3af153021638c9c3f372827620964107efd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++Description: add zlib library to link with
++ Need to specify which library contain the zlib functions during linking.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++
++---
++
++--- thrift-0.9.2.orig/test/cpp/Makefile
+++++ thrift-0.9.2/test/cpp/Makefile
++@@ -632,13 +632,13 @@ src/TestClient.$(OBJEXT): src/$(am__dirs
++ 
++ TestClient$(EXEEXT): $(TestClient_OBJECTS) $(TestClient_DEPENDENCIES) $(EXTRA_TestClient_DEPENDENCIES) 
++      @rm -f TestClient$(EXEEXT)
++-     $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS)
+++     $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS) $(ZLIB_LIBS)
++ src/TestServer.$(OBJEXT): src/$(am__dirstamp) \
++      src/$(DEPDIR)/$(am__dirstamp)
++ 
++ TestServer$(EXEEXT): $(TestServer_OBJECTS) $(TestServer_DEPENDENCIES) $(EXTRA_TestServer_DEPENDENCIES) 
++      @rm -f TestServer$(EXEEXT)
++-     $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS)
+++     $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS) $(ZLIB_LIBS)
++ 
++ mostlyclean-compile:
++      -rm -f *.$(OBJEXT)
++--- thrift-0.9.2.orig/test/cpp/Makefile.in
+++++ thrift-0.9.2/test/cpp/Makefile.in
++@@ -632,13 +632,13 @@ src/TestClient.$(OBJEXT): src/$(am__dirs
++ 
++ TestClient$(EXEEXT): $(TestClient_OBJECTS) $(TestClient_DEPENDENCIES) $(EXTRA_TestClient_DEPENDENCIES) 
++      @rm -f TestClient$(EXEEXT)
++-     $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS)
+++     $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS) $(ZLIB_LIBS)
++ src/TestServer.$(OBJEXT): src/$(am__dirstamp) \
++      src/$(DEPDIR)/$(am__dirstamp)
++ 
++ TestServer$(EXEEXT): $(TestServer_OBJECTS) $(TestServer_DEPENDENCIES) $(EXTRA_TestServer_DEPENDENCIES) 
++      @rm -f TestServer$(EXEEXT)
++-     $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS)
+++     $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS) $(ZLIB_LIBS)
++ 
++ mostlyclean-compile:
++      -rm -f *.$(OBJEXT)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..58250b4ce3712826a8ac48b29da79849d45e2938
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,71 @@@
++Description: <short summary of the patch>
++ TODO: Put a short summary on the line above and replace this paragraph
++ with a longer explanation of this change. Complete the meta-information
++ with other relevant fields (see below for details). To make it easier, the
++ information below has been extracted from the changelog. Adjust it or drop
++ it.
++ .
++ thrift (0.16.0-1) experimental; urgency=medium
++ .
++   * New major upstream release.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: <vendor|upstream|other>, <url of original patch>
++Bug: <url in upstream bugtracker>
++Bug-Debian: https://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: <no|not-needed|url proving that it has been forwarded>
++Reviewed-By: <name and email of someone who approved the patch>
++Last-Update: 2022-03-28
++
++--- thrift-0.16.0.orig/test/go/src/common/clientserver_test.go
+++++ thrift-0.16.0/test/go/src/common/clientserver_test.go
++@@ -21,14 +21,10 @@ package common
++ 
++ import (
++      "context"
++-     "errors"
++-     "reflect"
++      "sync"
++      "testing"
++ 
++-     "github.com/golang/mock/gomock"
++ 
++-     "github.com/apache/thrift/lib/go/thrift"
++      "github.com/apache/thrift/test/go/src/gen/thrifttest"
++ )
++ 
++@@ -61,6 +57,7 @@ func TestAllConnection(t *testing.T) {
++ }
++ 
++ func doUnit(t *testing.T, unit *test_unit) {
+++/*
++      ctrl := gomock.NewController(t)
++      defer ctrl.Finish()
++      handler := NewMockThriftTest(ctrl)
++@@ -84,6 +81,7 @@ func doUnit(t *testing.T, unit *test_uni
++      }
++      defer trans.Close()
++      callEverythingWithMock(t, client, handler)
+++*/
++ }
++ 
++ var rmapmap = map[int32]map[int32]int32{
++@@ -101,6 +99,7 @@ var xxs = &thrifttest.Xtruct{
++ var xcept = &thrifttest.Xception{ErrorCode: 1001, Message: "some"}
++ var defaultCtx = context.Background()
++ 
+++/*
++ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, handler *MockThriftTest) {
++      gomock.InOrder(
++              handler.EXPECT().TestVoid(gomock.Any()),
++@@ -336,3 +335,4 @@ func callEverythingWithMock(t *testing.T
++              t.Errorf("Unexpected error in TestVoid() call: %s", err)
++      }
++ }
+++*/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec4ebb3de2ae75bfcad1f3f4a15410d6fe920ba3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++Description: do not use bundler as per Ruby policy
++ .
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Bug-Debian: https://bugs.debian.org/804668
++Last-Update: 2019-10-23
++
++---
++
++--- a/lib/rb/Makefile.am
+++++ b/lib/rb/Makefile.am
++@@ -22,20 +22,24 @@ DESTDIR ?= /
++ if HAVE_BUNDLER
++ 
++ all-local:
++-     $(BUNDLER) install
++-     $(BUNDLER) exec rake build_ext
+++     echo Do not use bundler for all-local
+++#    $(BUNDLER) install
+++#    $(BUNDLER) exec rake build_ext
++ 
++ install-exec-hook:
++-     $(BUNDLER) exec rake install
+++     echo Do not use bundler for install-exec-hook
+++#    $(BUNDLER) exec rake install
++ 
++ clean-local:
++-     $(BUNDLER) install
++-     $(BUNDLER) exec rake clean
+++     echo Do not use bundler for clean-local
+++#    $(BUNDLER) install
+++#    $(BUNDLER) exec rake clean
++      $(RM) -r spec/gen-rb/
++ 
++ check-local: all
++-     $(BUNDLER) install
++-     $(BUNDLER) exec rake
+++     echo Do not use bundler for check-local
+++#    $(BUNDLER) install
+++#    $(BUNDLER) exec rake
++ 
++ endif
++ 
++--- a/test/rb/Makefile.am
+++++ b/test/rb/Makefile.am
++@@ -26,8 +26,9 @@ precross: stubs
++ 
++ check: stubs
++ if HAVE_BUNDLER
++-     $(BUNDLER) install
++-     $(BUNDLER) exec $(RUBY) -I. test_suite.rb
+++     echo Do not use bundler for check
+++#    $(BUNDLER) install
+++#    $(BUNDLER) exec $(RUBY) -I. test_suite.rb
++ endif
++ 
++ clean-local:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5d88e359e863b70220d3c22892e884e236962f47
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,36 @@@
++Description: <short summary of the patch>
++ TODO: Put a short summary on the line above and replace this paragraph
++ with a longer explanation of this change. Complete the meta-information
++ with other relevant fields (see below for details). To make it easier, the
++ information below has been extracted from the changelog. Adjust it or drop
++ it.
++ .
++ thrift (0.12.0-1) experimental; urgency=medium
++ .
++   * New major upstream release.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: <vendor|upstream|other>, <url of original patch>
++Bug: <url in upstream bugtracker>
++Bug-Debian: https://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: <no|not-needed|url proving that it has been forwarded>
++Reviewed-By: <name and email of someone who approved the patch>
++Last-Update: 2019-09-18
++
++--- thrift-0.12.0.orig/lib/php/test/Makefile.am
+++++ thrift-0.12.0/lib/php/test/Makefile.am
++@@ -30,7 +30,7 @@ stubs: ../../../test/ThriftTest.thrift
++      $(THRIFT) --gen php:json         -r --out ./packages/phpjs  TestValidators.thrift
++ 
++ deps: $(top_srcdir)/composer.json
++-     composer install --working-dir=$(top_srcdir)
+++     echo Disabled composer install --working-dir=$(top_srcdir)
++ 
++ all-local: deps
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1dbfa3dba1c5b7e3280c974405709e22d2df6fb3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++Description: run simple Go test only
++ Race testing is available on amd64, ppc64le and arm64 only.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2022-04-01
++
++---
++
++--- a/lib/go/Makefile.am
+++++ b/lib/go/Makefile.am
++@@ -31,7 +31,7 @@ install:
++      @echo '##############################################################'
++ 
++ check-local:
++-     $(GO) test -mod=mod -race ./thrift
+++     $(GO) test -mod=mod ./thrift
++ 
++ clean-local:
++      $(RM) -rf pkg
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5b98780bf993fe016c3a40abf4a0f20e9d14c27d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++Description: no need for ANT Maven task
++ Just disable its download.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++
++---
++
++--- thrift-0.9.2.orig/lib/java/build.xml
+++++ thrift-0.9.2/lib/java/build.xml
++@@ -295,7 +295,9 @@
++   </target>
++ 
++   <target name="mvn.ant.tasks.download" depends="setup.init,mvn.ant.tasks.check,proxy" unless="mvn.ant.tasks.found">
+++<!--
++     <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
+++-->
++   </target>
++ 
++   <target name="mvn.ant.tasks.check">
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d28554d1d61fdfeecda788c58d92884cbe59abf4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++Description: don't test servers that need shmem
++ As buildd's don't have shmem enabled / mounted, tests would fail.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2017-09-11
++
++---
++
++--- thrift-0.9.2.orig/test/py/RunClientServer.py
+++++ thrift-0.9.2/test/py/RunClientServer.py
++@@ -69,7 +69,8 @@ def default_servers():
++         'THttpServer',
++     ]
++     if platform.system() != 'Windows':
++-        servers.append('TProcessPoolServer')
+++# buildd servers don't have shmem enabled
+++#        servers.append('TProcessPoolServer')
++         servers.append('TForkingServer')
++     return servers
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3112c471626638dcc8ddc23bc23ef0b41d6ea038
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,40 @@@
++Description: node is called nodejs in Debian
++ Use the proper binary name.
++Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
++Last-Update: 2019-10-23
++
++---
++
++--- a/lib/nodejs/test/testAll.sh
+++++ b/lib/nodejs/test/testAll.sh
++@@ -45,7 +45,7 @@ testServer()
++     ${ISTANBUL} cover ${DIR}/server.js --dir ${REPORT_PREFIX}${COUNT} --handle-sigint -- --type $2 -p $3 -t $4 $5 &
++     COUNT=$((COUNT+1))
++   else
++-    node ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 &
+++    nodejs ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 &
++   fi
++   SERVERPID=$!
++   sleep 0.1
++@@ -53,7 +53,7 @@ testServer()
++     ${ISTANBUL} cover ${DIR}/client.js --dir ${REPORT_PREFIX}${COUNT} -- --${1} --type $2 -p $3 -t $4 $5 || RET=1
++     COUNT=$((COUNT+1))
++   else
++-    node ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1
+++    nodejs ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1
++   fi
++   kill -2 $SERVERPID || RET=1
++   wait $SERVERPID
++@@ -117,9 +117,9 @@ fi
++ 
++ # unit tests
++ 
++-node ${DIR}/binary.test.js || TESTOK=1
++-node ${DIR}/int64.test.js || TESTOK=1
++-node ${DIR}/deep-constructor.test.js || TESTOK=1
+++nodejs ${DIR}/binary.test.js || TESTOK=1
+++nodejs ${DIR}/int64.test.js || TESTOK=1
+++nodejs ${DIR}/deep-constructor.test.js || TESTOK=1
++ 
++ # integration tests
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9fb36e9696759095e3c70e05ebf30bf19a9bc029
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++##link_with_zlib.patch
++#no_pom.patch
++node_is_nodejs.patch
++no_bundler_use.patch
++#/golang_dependency_installed.patch
++broken_boost_1.62.patch
++disable_TLSv1_0_and_TLSv1_1.patch
++no_shmem.patch
++disable_failing_tests.patch
++go_test_fail_on_busy_machine.patch
++no_composer_install.patch
++disable_php_testing.patch
++disable_locale_tests.patch
++no_go_race.patch
++#/no_gradlew.patch
++missing_go_test.patch
++#/link_tests_atomic.patch
++go_no_mod.patch
++fix_out_of_memory.patch
++THRIFT-5449.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6c183411b0f47c0df6646847dbf168b580ba06ab
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++etc/php.d/thrift_protocol.ini /etc/php/7.3/mods-available/
++usr/lib/php/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..27f8b8993eed1fd73573c0db48b7bba32fe586c6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/python3/*-packages/*.egg-info
++usr/lib/python3/*-packages/thrift/
diff --cc debian/rules
index d0de508724c449f57d149fbf8bc017abdbd28aa0,0000000000000000000000000000000000000000..dca26638384bcb40c04609967cdd92e62f382196
mode 100755,000000..100755
--- /dev/null
@@@ -1,226 -1,0 +1,146 @@@
- # Sample debian/rules that uses debhelper.
- #
- # This file was originally written by Joey Hess and Craig Small.
- # As a special exception, when this file is copied by dh-make into a
- # dh-make output file, you may use that output file without restriction.
- # This special exception was added by Craig Small in version 0.37 of dh-make.
- #
- # Modified to make a template file for a multi-binary package with separated
- # build-arch and build-indep targets  by Bill Allombert 2001
 +#!/usr/bin/make -f
 +# -*- makefile -*-
- # This has to be exported to make some magic below work.
- export DH_OPTIONS
- PYVERS := $(shell pyversions -r)
- export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
- export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
- export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
- export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
- configure: configure-stamp
- configure-stamp:
-       dh_testdir
-       # Add here commands to configure the package.
-       if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi
-       $(CURDIR)/configure --prefix=/usr --enable-plugin=no
-       touch configure-stamp
- #Architecture
- build: build-arch build-indep
-       # Tests disabled
-       # $(MAKE) -C test check
- build-arch: build-arch-stamp
- $(CURDIR)/compiler/cpp/thrift build-arch-stamp: configure-stamp
-       # Compile compiler
-       $(MAKE) -C $(CURDIR)/compiler/cpp
-       # Compile C++ library
-       $(MAKE) -C $(CURDIR)/lib/cpp
-       # Compile C (glib) library
-       $(MAKE) -C $(CURDIR)/lib/c_glib
-       # Python library
-       cd $(CURDIR)/lib/py && \
-     for py in $(PYVERS); do  \
-         $$py setup.py build; \
-         $$py-dbg setup.py build; \
-     done
-       # PHP
-       cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \
-               phpize && \
-               ./configure && $(MAKE)
-       touch $@
- build-indep: build-indep-stamp
- build-indep-stamp: configure-stamp $(CURDIR)/compiler/cpp/thrift
-       # Add here commands to compile the indep part of the package.
-       #$(MAKE) doc
-       # Java
-       cd $(CURDIR)/lib/java && \
-               ./gradlew --no-daemon -Prelease=true jar
-       # C#
-       $(MAKE) -C $(CURDIR)/lib/netstd
-       # Ruby
-       $(MAKE) -C $(CURDIR)/lib/rb
-       # Perl
-       $(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor
-       touch $@
- clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-arch-stamp build-indep-stamp configure-stamp
-       cd $(CURDIR)/lib/py && python setup.py clean --all
-       # Add here commands to clean up after the build process.
-       -$(MAKE) clean
-       dh_clean
- install: install-indep install-arch
- install-indep:
-       dh_testdir
-       dh_testroot
-       dh_prep -i
-       dh_installdirs -i
-       # Add here commands to install the indep part of the package into
-       # debian/<package>-doc.
-       #INSTALLDOC#
-       # Java
-       mkdir -p $(CURDIR)/debian/libthrift-java/usr/share/java/ && \
-       cp $(CURDIR)/lib/java/build/libs/libthrift*.jar \
-               $(CURDIR)/debian/libthrift-java/usr/share/java/
-       # Ruby
-       mkdir -p $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1 && \
-       cp $(CURDIR)/lib/rb/lib/thrift.rb \
-               $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1
-       cp -r $(CURDIR)/lib/rb/lib/thrift \
-               $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1
-       # C#
-       mkdir -p $(CURDIR)/debian/libthrift-netstd/usr/lib/cli/thrift/ && \
-       cp $(CURDIR)/lib/netstd/Thrift/bin/Release/netstandard2.0/Thrift.dll \
-               $(CURDIR)/debian/libthrift-netstd/usr/lib/cli/thrift/Thrift.dll
-       # Perl
-       $(MAKE) -C $(CURDIR)/lib/perl install DESTDIR=$(CURDIR)/debian/libthrift-perl
-       mkdir -p $(CURDIR)/debian/libthrift-perl/usr/share
-       mv $(CURDIR)/debian/libthrift-perl/usr/local/lib/perl5 $(CURDIR)/debian/libthrift-perl/usr/share
-       rmdir $(CURDIR)/debian/libthrift-perl/usr/local/lib
-       rmdir $(CURDIR)/debian/libthrift-perl/usr/local
-       dh_install -i
- install-arch:
-       dh_testdir
-       dh_testroot
-       dh_clean -k -s
-       dh_installdirs -s
-       # Add here commands to install the arch part of the package into
-       # debian/tmp.
-       #$(MAKE) DESTDIR=$(CURDIR)/debian/thrift install
-       # Compiler
-       mkdir -p $(CURDIR)/debian/thrift-compiler/usr/bin && \
-       cp $(CURDIR)/compiler/cpp/thrift \
-               $(CURDIR)/debian/thrift-compiler/usr/bin/thrift && \
-       rmdir $(CURDIR)/debian/thrift-compiler/usr/sbin
-       # Python
-       cd $(CURDIR)/lib/py && \
-       python2 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift && \
-       python2-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift-dbg && \
-       python3 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift && \
-       python3-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift-dbg
-       find $(CURDIR)/debian/python-thrift -name "*.py[co]" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python-thrift -name "__pycache__" -print0 | xargs -0 rm -fr
-       find $(CURDIR)/debian/python-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr
-       find $(CURDIR)/debian/python-thrift-dbg -name "*.py[co]" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -rf
-       find $(CURDIR)/debian/python-thrift-dbg -depth -type d -empty -exec rmdir {} \;
-       find $(CURDIR)/debian/python3-thrift -name "*.py[co]" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python3-thrift -name "__pycache__" -print0 | xargs -0 rm -fr
-       find $(CURDIR)/debian/python3-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr
-       find $(CURDIR)/debian/python3-thrift-dbg -name "*.py[co]" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python3-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f
-       find $(CURDIR)/debian/python3-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -rf
-       find $(CURDIR)/debian/python3-thrift-dbg -depth -type d -empty -exec rmdir {} \;
-       # PHP
-       mkdir -p $(CURDIR)/debian/php5-thrift
-       cd $(CURDIR)/lib/php && \
-               $(MAKE) DESTDIR=$(CURDIR)/debian/php5-thrift install
-       # C++ and C (glib)
-       mkdir -p $(CURDIR)/debian/tmp; \
-       cd $(CURDIR)/lib/cpp && \
-               $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-       cd $(CURDIR)/lib/c_glib && \
-               $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
-       dh_install --sourcedir=debian/tmp -s
- # Must not depend on anything. This is to be called by
- # binary-arch/binary-indep
- # in another 'make' thread.
- binary-common:
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs
-       dh_installdocs
-       dh_installexamples
-       dh_installman
-       dh_link
-       dh_strip -plibthrift0 --dbg-package=libthrift0-dbg
-       dh_strip -ppython-thrift --dbg-package=python-thrift-dbg
-       dh_strip -ppython3-thrift --dbg-package=python3-thrift-dbg
-       dh_strip -pthrift-compiler
-       dh_compress
-       dh_fixperms
-       dh_makeshlibs
-       dh_installdeb
-       dh_perl
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
- # Build architecture independent packages using the common target.
- binary-indep: build-indep install-indep
-       $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
- # Build architecture dependent packages using the common target.
- binary-arch: build-arch install-arch
-       echo "php:Depends=phpapi-$(shell php-config5 --phpapi)" > $(CURDIR)/debian/substvars
-       $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
- binary: binary-arch binary-indep
- .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
 +
 +# Uncomment this to turn on verbose mode.
 +#export DH_VERBOSE=1
 +
++export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
++
++# for Java install
++#export CLASSPATH=/usr/share/java/commons-codec.jar:/usr/share/java/commons-logging.jar:/usr/share/java/slf4j-simple.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/servlet-api-3.1.jar:/usr/share/java/httpcore.jar:/usr/share/java/httpclient.jar:/usr/share/java/junit4.jar:/usr/share/java/ant-junit.jar:.
++
++export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions
++
++ifneq (,$(filter $(DEB_HOST_ARCH), armel mipsel))
++  export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
++endif
++
++# Go 1.16 expects a go.mod file by default and thrift Go extension does not
++# contain that, let's turn it off for now.
++#export GO111MODULE=off
++
++# for Go install
++export DH_GOPKG=thrift
++export XDG_CACHE_HOME=$(CURDIR)/go-cache/
++
++# for Ruby install
++export DESTDIR=$(CURDIR)/debian/tmp/
++
++#export JAVA_PREFIX=/usr/share/java/
++export PERL_PREFIX=/usr/
++export INSTALLDIRS=vendor
++
++export QT_SELECT=qt5
++
++# Set install Perl locations
++ARCHLIB := $(shell perl -MConfig -e 'print $$Config{vendorarch}')
++
++RUBY_LIBDIR := $(shell ruby -rrbconfig -e'print RbConfig::CONFIG["vendordir"]')
++
++PYTHON3_VERSIONS = $(shell py3versions -r)
++
++override_dh_autoreconf:
++      $(CURDIR)/bootstrap.sh
++
++override_dh_auto_clean:
++      $(RM) -r $(CURDIR)/go-cache/
++      $(RM) $(CURDIR)/test/go/genmock.sh
++      $(RM) -r $(CURDIR)/lib/py/build/ \
++              $(CURDIR)/lib/py/thrift.egg-info/
++      $(RM) $(CURDIR)/test/go/src/github.com \
++              $(CURDIR)/test/go/src/golang.org/x/tools \
++              $(CURDIR)/test/go/src/golang.org/x/net \
++              $(CURDIR)/lib/go/test/gopath/src/golang.org/x/net \
++              $(CURDIR)/lib/go/test/gopath/src/github.com/golang/mock
++      [ ! -f Makefile ] || $(MAKE) clean
++      cd $(CURDIR)/lib/php/src/ext/thrift_protocol/ && phpize --clean
++      find $(CURDIR) \( -name Makefile -o -name Makefile.in \) -exec rm {} \;
++      find $(CURDIR) -name .dirstamp -exec rm {} \;
++      $(RM) aclocal/libtool.m4 aclocal/lt*
++      $(RM) aclocal.m4 config.guess config.h config.log config.status \
++              config.sub configure configure.scan depcomp libtool stamp-h1 \
++              lib/cpp/*.pc lib/c_glib/thrift_c_glib.pc
++      $(RM) lib/c_glib/src/thrift/config.h \
++              lib/c_glib/src/thrift/stamp-h3 \
++              lib/cpp/src/thrift/config.h \
++              lib/cpp/src/thrift/stamp-h2 \
++              lib/cpp/test/tests.xml
++      $(RM) autoscan.log config.hin
++#     jh_clean
++      # let dh clean
++      dh_auto_clean
++
++override_dh_auto_configure:
++      dh_auto_configure -- \
++              --with-cpp --with-c_glib --with-php --with-php_extension \
++              --with-perl --without-python --with-py3 --without-java \
++              --without-nodejs --without-erlang --without-lua \
++              --with-go --with-ruby \
++              --with-qt4=no --with-qt5=yes \
++              --without-rust \
++              --disable-tutorial
++
++override_dh_auto_build:
++#     mkdir -p $(CURDIR)/lib/java/build/lib/
++      # symlinks for Go build
++      mkdir -p $(CURDIR)/lib/go/test/gopath/src/
++      ln -s /usr/share/gocode/src/github.com \
++              $(CURDIR)/test/go/src/
++      mkdir -p $(CURDIR)/lib/go/test/gopath/src/golang.org/x/
++      ln -s /usr/share/gocode/src/golang.org/x/net \
++              $(CURDIR)/lib/go/test/gopath/src/golang.org/x/
++
++      dh_auto_build --no-parallel
++      set -ex; cd lib/py && for python in $(PYTHON3_VERSIONS); do \
++        $$python setup.py build; \
++      done
++#     jh_build thrift.jar $(CURDIR)/lib/java/src/
++
++override_dh_auto_install:
++      dh_auto_install -- INSTALLDIRS=vendor
++      set -ex; cd lib/py && for python in $(PYTHON3_VERSIONS); do \
++        $$python setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp; \
++      done
++#     jh_installlibs -plibthrift-java thrift.jar
++#     jh_installjavadoc
++#     jh_depends
++
++      find $(CURDIR)/debian/tmp/ -name \*.la -exec rm {} \;
++
++override_dh_missing:
++      dh_missing --list-missing
++
++override_dh_auto_test:
++      cd $(CURDIR)/lib/c_glib/test/ && \
++              $(MAKE) gen-c_glib/t_test_enum_test_types.h
++      mkdir -p $(CURDIR)/vendor/bin/
++      ln -s /usr/bin/phpunit $(CURDIR)/vendor/bin/
++      ln -s $(CURDIR)/lib/php/src/autoload.php $(CURDIR)/vendor/
++      touch $(CURDIR)/test/go/genmock.sh
++      mkdir -p $(CURDIR)/test/go/src/golang.org/x/
++      # symlinks for Go testing
++      ln -s /usr/share/gocode/src/golang.org/x/tools \
++              $(CURDIR)/test/go/src/golang.org/x/
++      ln -s /usr/share/gocode/src/golang.org/x/net/ \
++              $(CURDIR)/test/go/src/golang.org/x/
++      # GOPATH set automatically to $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
++      mkdir -p $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/lib/
++      ln -s $(CURDIR)/lib/go \
++              $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/lib/
++      mkdir -p $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/golang/
++      ln -s /usr/share/gocode/src/github.com/golang/mock \
++              $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/golang/
++      ln -s $(CURDIR)/lib/go/test/fuzz/gen-go/shared \
++              $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/
++      ln -s $(CURDIR)/lib/go/test/fuzz/gen-go/tutorial \
++              $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/
++      ln -s $(CURDIR)/test \
++              $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/
++      dh_auto_test --no-parallel
++
++%:
++      dh $@ --with python3,ruby,phpcomposer
++
++.PHONY: override_dh_autoreconf override_dh_auto_clean \
++      override_dh_auto_configure override_dh_auto_install \
++      override_dh_missing override_dh_auto_test
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f084e7d991ae165da98832599b41a4d828ade2c9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++# Long lines only
++source-is-missing lib/js/test/phantom-client.js
++source-is-missing lib/js/test/test-async.js
++source-is-missing lib/js/test/test-es6.js
++source-is-missing lib/js/test/test.js
++
++# Only one file, not the whole source
++license-problem-php-license debian/copyright
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6d5ee1d05223fd083860e3f61a2f6f60be8569db
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++NOTICE
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..52685b7bb172b774c3718ed47348e003e7aad205
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++tutorial/tutorial.thrift
++tutorial/shared.thrift
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c703cf852fddcc0e947d87b4fedf75cf8badd4f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/bin/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3b5f6af6d740579ae46c5983808bb34b253c8cc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/thrift.1
index 299950c58d46d875441a081e9981757b1251f717,0000000000000000000000000000000000000000..6d5ee1d05223fd083860e3f61a2f6f60be8569db
mode 100644,000000..100644
--- /dev/null
@@@ -1,2 -1,0 +1,1 @@@
- #DOCS#
++NOTICE
diff --cc debian/thrift.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..24da58107516bb5a084679155fca787a49e5abc4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,78 @@@
++.TH "THRIFT" "1" "July  9, 2012" "thrift-compiler" "thrift"
++.SH NAME
++thrift \ - code generator/compiler for Thrift IDL
++.SH SYNOPSIS
++.B thrift
++[options] \fIsource_file\fR
++.SH DESCRIPTION
++Thrift is a framework for efficient serialization and RPC services.  The
++.B thrift
++compiler accepts a source file containing definitions of Thrift structs and services,
++and generates the language-specific code to implement them.
++.SH OPTIONS
++.TP
++\fB\-version\fR
++.RS 4
++print the compiler version and exit
++.RE
++.TP
++\fB\-o DIRECTORY\fR
++.RS 4
++Set the output directory for gen-* packages (default: current directory)
++.RE
++.TP
++\fB\-out DIRECTORY\fR
++.RS 4
++Set the ouput location for generated files. (no gen-* folder will be created)
++.RE
++.TP
++\fB\-I DIRECTORY\fR
++.RS 4
++Add a directory to the list of directories searched for include directives
++.RE
++.TP
++\fB\-nowarn\fR
++.RS 4
++Suppress all compiler warnings (BAD!)
++.RE
++.TP
++\fB\-strict\fR
++.RS 4
++Strict compiler warnings on
++.RE
++.TP
++\fB\-v[erbose]\fR
++.RS 4
++Verbose mode
++.RE
++.TP
++\fB\-r[ecurse]\fR
++.RS 4
++Also generate included files
++.RE
++.TP
++\fB\-debug\fR
++.RS 4
++Parse debug trace to stdout
++.RE
++.TP
++\fB\-\-gen STRING\fR
++.RS 4
++Generate code with a dynamically-registered generator. STRING has the form
++language[:key1=val1[,key2,[key3=val3]]].  Keys and values are options passed to
++the generator.  Many options will not require values.  For a complete list of
++supported generators, run
++.B thrift
++without arguments.
++.RE
++.SH AUTHOR
++Thrift is a top-level project of the Apache Software Foundation, (see
++http://thrift.apache.org).
++.PP
++This manual page was written by Eric Evans <eevans@debian.org> for the Debian
++system (but may be used by others). Permission is granted to copy, distribute
++and/or modify this document under the terms of the GNU General Public License,
++Version 2 or any  later version published by the Free Software Foundation.
++.PP
++On Debian systems, the complete text of the GNU General Public License can be
++found in /usr/share/common-licenses/GPL.
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9f6ac2bbbbd9980b05cff44d492159433edb6289
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++version=3
++https://thrift.apache.org/download .*/thrift-(\d[\d\.]+)\.(?:tgz|tar\.(?:gz|bz2|xz))