From: Peter Michael Green Date: Sun, 22 Nov 2020 14:00:47 +0000 (+0000) Subject: thrift (0.13.0-5+rpi1) bullseye-staging; urgency=medium X-Git-Tag: archive/raspbian/0.13.0-6+rpi1~17 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=548fbfe89afef390f1b66e9856b5f81c913be8c8;p=thrift.git thrift (0.13.0-5+rpi1) bullseye-staging; urgency=medium * Link with libatomic on armhf too for raspbian. [dgit import unpatched thrift 0.13.0-5+rpi1] --- 548fbfe89afef390f1b66e9856b5f81c913be8c8 diff --cc debian/changelog index 69b5f20,0000000..0368d94 mode 100644,000000..100644 --- a/debian/changelog +++ b/debian/changelog @@@ -1,83 -1,0 +1,168 @@@ - thrift (0.12.0) stable; urgency=low ++thrift (0.13.0-5+rpi1) bullseye-staging; urgency=medium + - * update to 0.12.0 ++ * Link with libatomic on armhf too for raspbian. + - -- Apache Thrift Developers Wed, 28 Dec 2018 12:00:00 -0500 ++ -- Peter Michael Green Sun, 22 Nov 2020 14:00:47 +0000 + - thrift (0.11.0) stable; urgency=low ++thrift (0.13.0-5) unstable; urgency=medium + - * update to 0.11.0 ++ * Update Standards-Version to 4.5.0 . + - -- Jake Farrell Wed, 07 Dec 2017 20:07:00 -0500 ++ [ Adrian Bunk ] ++ * Link with libatomic on ARMel and MIPSel (closes: #972948). + - thrift (0.10.0) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Mon, 26 Oct 2020 18:01:44 +0100 + - * update to 0.10.0 ++thrift (0.13.0-4) unstable; urgency=medium + - -- Jake Farrell Wed, 03 Jan 2017 16:52:00 -0500 ++ * 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). + - thrift (0.9.3) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Thu, 15 Oct 2020 17:07:25 +0200 + - * update to 0.9.3 ++thrift (0.13.0-3) unstable; urgency=medium + - -- Jake Farrell Wed, 11 Oct 2015 17:22:00 -0500 ++ * Backport upstream fix for wrong int to string conversions in Go testing ++ (closes: #971192). + - thrift (0.9.0) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Sun, 27 Sep 2020 21:31:25 +0200 + - * update to 0.9.0 ++thrift (0.13.0-2) unstable; urgency=medium + - -- Jake Farrell Wed, 10 Oct 2012 12:00:00 -0500 ++ * Link C++ tests with atomic. ++ * Upload to Sid. + - thrift (0.7.0) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Sun, 08 Dec 2019 12:24:18 +0000 + - * update to 0.7.0 ++thrift (0.13.0-1) experimental; urgency=high + - -- Jake Farrell Tue, 10 Aug 2011 17:01:53 -0500 ++ * 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.7.0-dev1) stable; urgency=low - * added glib - * fix location of libthrift.jar ++ -- Laszlo Boszormenyi (GCS) Sun, 01 Dec 2019 10:46:55 +0000 + - -- Roger Meier Tue, 12 Apr 2011 21:41:18 +0200 ++thrift (0.12.0-1) experimental; urgency=medium + - thrift (0.6.0-dev1) stable; urgency=low ++ * New major upstream release. ++ * Rename related packages to -0.12.0 suffix. ++ * Remove Python 2 bindings (closes: #938662). ++ * Update debhelper level to 11 . + - * update version field - * added debian folder to thrift/contrib - * changed a few details in control file - * update copyright file ++ -- Laszlo Boszormenyi (GCS) Sat, 05 Oct 2019 08:58:11 +0000 + - -- Roger Meier Tue, 14 Dec 2010 12:12:33 -0800 ++thrift (0.11.0-6) unstable; urgency=medium + - thrift (0.5.0+nmu2) stable; urgency=low ++ * Update copyright file (closes: #935713). ++ * Update Python packaging bits (closes: #935715). + - * 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 ++ -- Laszlo Boszormenyi (GCS) Sun, 25 Aug 2019 19:18:04 +0000 + - -- Yamashita Yuu Tue, 07 Dec 2010 15:00:55 +0900 ++thrift (0.11.0-5) experimental; urgency=medium + - thrift (0.5.0+nmu1) stable; urgency=low ++ * Fix Python 3 packaging. ++ * Sync with Ubuntu. ++ * Update Standards-Version to 4.4.0 . + - * Non-maintainer upload. - * Imported package information for php5-thrift from https://github.com/simplegeo/thrift. ++ [ Adam Cecile ] ++ * Build python3 package (closes: #913724). + - -- Yamashita Yuu Tue, 07 Dec 2010 01:00:17 +0900 ++ [ Gianfranco Costamagna ] ++ * Export HOME to make the build happy (closes: #935620). ++ * Fix another failure due to new go with upstream patch. + - thrift (0.5.0) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Sat, 24 Aug 2019 15:47:34 +0000 + - * update to 0.5.0 ++thrift (0.11.0-4) unstable; urgency=medium + - -- Roger Meier Fri, 08 Oct 2010 11:23:53 +0200 ++ * Backport upstream security fix for CVE-2018-11798: Node.js Filesever ++ webroot fixed path (closes: #918734). ++ * Update Standards-Version to 4.3.0 . + - thrift (0.4.0) stable; urgency=low ++ -- Laszlo Boszormenyi (GCS) Tue, 08 Jan 2019 21:31:07 +0000 + - * update to 0.4.0 ++thrift (0.11.0-3) unstable; urgency=medium + - -- Roger Meier Sun, 22 Aug 2010 21:26:00 +0100 ++ * Build with latest PHP package version. ++ * Provide PHP package without version number. ++ * Upload to Sid (closes: #835294). + - thrift (0.2008.12.30~8.04) hardy; urgency=low ++ -- Laszlo Boszormenyi (GCS) Sat, 27 Oct 2018 20:57:18 +0000 + - * Initial release. ++thrift (0.11.0-2) experimental; urgency=medium + - -- Esteve Fernandez Thu, 15 Jan 2009 11:34:24 +0100 ++ * Disable failing Python self-tests to fix mips and s390x FTBFS. ++ ++ -- Laszlo Boszormenyi (GCS) 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) 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) 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) 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) 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) 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) Sat, 21 Mar 2015 17:45:29 +0000 diff --cc debian/control index 414a815,0000000..ed21bc5 mode 100644,000000..100644 --- a/debian/control +++ b/debian/control @@@ -1,202 -1,0 +1,225 @@@ +Source: thrift +Section: devel - Priority: extra - Build-Depends: debhelper (>= 9), build-essential, mono-mcs, python-dev, ant, - mono-devel, libmono-system-web4.0-cil, 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 - 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 ++Priority: optional ++Maintainer: Laszlo Boszormenyi (GCS) ++Build-Depends: debhelper-compat (= 11), dh-python, ++ dh-golang, golang-golang-x-net-dev, ++ gem2deb (>= 0.3.0~), ++ bison, flex, ++ libboost-all-dev (>= 1.61.0), 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 (>= 5.22), libbit-vector-perl, libclass-accessor-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 (>= 1:2.2), 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 ++Standards-Version: 4.5.0 ++Homepage: https://thrift.apache.org/ ++XS-Ruby-Versions: ruby2.7 ++XS-Go-Import-Path: github.com/apache/thrift/lib/go/thrift + - Package: thrift-compiler ++Package: libthrift-0.13.0 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} - 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. - . - 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. - - Package: python-thrift - Architecture: any - 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. ++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. + . - This package installs the library for Python 2. ++ This package contains the runtime libraries needed for C++ applications ++ using Thrift. + - Package: python-thrift-dbg ++Package: libthrift-dev +Architecture: any - 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. ++Section: libdevel ++Depends: libthrift-0.13.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. + . - 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. ++ This package contains the development libraries required for writing C++ ++ applications using Thrift. + - Package: python3-thrift ++Package: libthrift-c-glib0 ++Section: libs +Architecture: any - 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. ++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. + . - This package installs the library for Python 3. ++ This package contains the glib based runtime libraries needed for C ++ applications using Thrift. + - Package: python3-thrift-dbg ++Package: libthrift-c-glib-dev +Architecture: any - 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-cil - Architecture: all - Section: cli-mono - Depends: cli-common, libmono-corlib4.0-cil (>= 2.10) | libmono-corlib4.5-cil (>=3.2), libmono-system4.0-cil (>= 2.10), - libmono-system-web4.0-cil (>= 2.10), ${misc:Depends} - Description: CLI 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 CLI 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. ++Section: libdevel ++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. + . - 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. ++ This package contains the development libraries required for writing glib ++ based C applications using Thrift. + - Package: libthrift0 ++Package: thrift-compiler +Architecture: any +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. ++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. + . - This package contains the runtime libraries needed for C++ applications - using Thrift. ++ This package contains the compiler used to generate language code from ++ Thrift definition files. + - Package: libthrift0-dbg ++#Package: python-thrift ++#Section: python ++#Architecture: any ++#Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} ++#Conflicts: python-thrift (<= 0.9.1-2) ++#Replaces: python-thrift (<= 0.9.1-2) ++#Description: Python 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 Python bindings for Thrift. ++# ++#Package: python-thrift-dbg ++#Section: debug ++#Architecture: any ++#Depends: python-thrift (= ${binary:Version}), ${misc:Depends} ++#Description: Python library for Thrift (debug symbols) ++# 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 the debugging symbols for Python bindings of Thrift. ++# ++Package: python3-thrift ++Section: python +Architecture: any - 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. ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends} ++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. + . - This package contains the debug symbols for the Thrift C++ runtime libraries. ++ This package provides the Python 3 bindings for Thrift. + - Package: libthrift-dev ++Package: python3-thrift-dbg ++Section: debug +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. ++Depends: python3-thrift (= ${binary:Version}), ${misc:Depends} ++Description: Python library for Thrift (debug symbols) ++ 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 the development libraries required for writing C++ - applications using Thrift. ++ This package contains the debugging symbols for Python 3 bindings of Thrift. + - Package: php5-thrift ++#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 +Architecture: any +Section: php - Depends: ${php:Depends}, ${shlibs:Depends}, ${misc:Depends} ++Depends: ${phpcomposer:Debian-require}, ${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. ++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. ++ . ++ This package provides the PHP5 language support for Thrift. ++ ++Package: libthrift-perl ++Section: perl ++Architecture: all ++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. ++ . ++ This package provides the Perl language support for Thrift. ++ ++Package: golang-thrift-dev ++Architecture: amd64 arm64 armel armhf i386 ppc64el ++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 contains the PHP bindings for Thrift. ++ 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. diff --cc debian/copyright index 3e6fcf7,0000000..47d214a mode 100644,000000..100644 --- a/debian/copyright +++ b/debian/copyright @@@ -1,128 -1,0 +1,196 @@@ - This package was debianized by Thrift Developer's . - - - This package and the Debian packaging is licensed under the Apache License, - see `/usr/share/common-licenses/Apache-2.0'. - - The following information was copied from Apache Thrift LICENSE file. - - -------------------------------------------------- - SOFTWARE DISTRIBUTED WITH THRIFT: - - 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. - - -------------------------------------------------- - Portions of the following files are licensed under the MIT License: - - lib/erl/src/Makefile.am - - Please see doc/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/old-thrift-license.txt), and relicensed - under the Apache 2.0 License: - - compiler/cpp/Makefile.am - compiler/cpp/src/generate/t_cpp_generator.cc - compiler/cpp/src/generate/t_csharp_generator.cc - compiler/cpp/src/generate/t_erl_generator.cc - compiler/cpp/src/generate/t_hs_generator.cc - compiler/cpp/src/generate/t_java_generator.cc - compiler/cpp/src/generate/t_ocaml_generator.cc - compiler/cpp/src/generate/t_perl_generator.cc - compiler/cpp/src/generate/t_php_generator.cc - compiler/cpp/src/generate/t_py_generator.cc - compiler/cpp/src/generate/t_rb_generator.cc - compiler/cpp/src/generate/t_st_generator.cc - compiler/cpp/src/generate/t_xsd_generator.cc - compiler/cpp/src/main.cc - compiler/cpp/src/parse/t_field.h - compiler/cpp/src/parse/t_program.h - compiler/cpp/src/platform.h - compiler/cpp/src/thriftl.ll - compiler/cpp/src/thrifty.yy - lib/csharp/src/Protocol/TBinaryProtocol.cs - lib/csharp/src/Protocol/TField.cs - lib/csharp/src/Protocol/TList.cs - lib/csharp/src/Protocol/TMap.cs - lib/csharp/src/Protocol/TMessage.cs - lib/csharp/src/Protocol/TMessageType.cs - lib/csharp/src/Protocol/TProtocol.cs - lib/csharp/src/Protocol/TProtocolException.cs - lib/csharp/src/Protocol/TProtocolFactory.cs - lib/csharp/src/Protocol/TProtocolUtil.cs - lib/csharp/src/Protocol/TSet.cs - lib/csharp/src/Protocol/TStruct.cs - lib/csharp/src/Protocol/TType.cs - lib/csharp/src/Server/TServer.cs - lib/csharp/src/Server/TSimpleServer.cs - lib/csharp/src/Server/TThreadPoolServer.cs - lib/csharp/src/TApplicationException.cs - lib/csharp/src/Thrift.csproj - lib/csharp/src/Thrift.sln - lib/csharp/src/TProcessor.cs - lib/csharp/src/Transport/TServerSocket.cs - lib/csharp/src/Transport/TServerTransport.cs - lib/csharp/src/Transport/TSocket.cs - lib/csharp/src/Transport/TStreamTransport.cs - lib/csharp/src/Transport/TTransport.cs - lib/csharp/src/Transport/TTransportException.cs - lib/csharp/src/Transport/TTransportFactory.cs - lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs - lib/csharp/ThriftMSBuildTask/ThriftBuild.cs - lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj - lib/rb/lib/thrift.rb - lib/st/README - lib/st/thrift.st - 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 - # - # 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. - - -------------------------------------------------- - For the compiler/cpp/src/md5.[ch] components: - - /* - Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved. - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - L. Peter Deutsch - ghost@aladdin.com - - */ - - --------------------------------------------------- - For the lib/rb/setup.rb: Copyright (c) 2000-2005 Minero Aoki, - lib/ocaml/OCamlMakefile and lib/ocaml/README-OCamlMakefile components: - Copyright (C) 1999 - 2007 Markus Mottl - - Licensed under the terms of the GNU Lesser General Public License 2.1 - (see doc/lgpl-2.1.txt for the full terms of this license) ++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 ++ ++Files: compiler/cpp/src/thrift/thrifty.cc ++Copyright: Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++License: GPL-3+ with Bison exception or Apache-2.0 ++ ++Files: compiler/cpp/src/thrift/thrifty.hh ++Copyright: Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++License: GPL-3+ with Bison exception ++ ++Files: compile ylwrap ++Copyright: Copyright (C) 1996-2014 Free Software Foundation, Inc. ++License: GPL-2+ ++ ++Files: build/cmake/FindGLIB.cmake ++Copyright: Copyright (C) 2012 Raphael Kubo da Costa ++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. ++ ++Files: lib/php/src/ext/thrift_protocol/run-tests.php ++Copyright: Copyright (C) 1997-2017 The PHP Group ++License: PHP-3.01 ++ -------------------------------------------------------------------- ++ The PHP License, version 3.01 ++ Copyright (c) 1999 - 2006 The PHP Group. All rights reserved. ++ -------------------------------------------------------------------- ++ . ++ Redistribution and use in source and binary forms, with or without ++ modification, is 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. ++ . ++ 3. The name "PHP" must not be used to endorse or promote products ++ derived from this software without prior written permission. For ++ written permission, please contact group@php.net. ++ . ++ 4. Products derived from this software may not be called "PHP", nor ++ may "PHP" appear in their name, without prior written permission ++ from group@php.net. You may indicate that your software works in ++ conjunction with PHP by saying "Foo for PHP" instead of calling ++ it "PHP Foo" or "phpfoo" ++ . ++ 5. The PHP Group may publish revised and/or new versions of the ++ license from time to time. Each version will be given a ++ distinguishing version number. ++ Once covered code has been published under a particular version ++ of the license, you may always continue to use it under the terms ++ of that version. You may also choose to use such covered code ++ under the terms of any subsequent version of the license ++ published by the PHP Group. No one other than the PHP Group has ++ the right to modify the terms applicable to covered code created ++ under this License. ++ . ++ 6. Redistributions of any form whatsoever must retain the following ++ acknowledgment: ++ "This product includes PHP software, freely available from ++ ". ++ . ++ THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ++ ANY EXPRESSED 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 PHP ++ DEVELOPMENT TEAM OR ITS 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. ++ . ++ -------------------------------------------------------------------- ++ . ++ This software consists of voluntary contributions made by many ++ individuals on behalf of the PHP Group. ++ . ++ The PHP Group can be contacted via Email at group@php.net. ++ . ++ For more information on the PHP Group and the PHP project, ++ please see . ++ . ++ PHP includes the Zend Engine, freely available at ++ . ++ ++Files: debian/* ++Copyright: Copyright 2012-2014 Eric Evans , ++ Copyright 2014- Laszlo Boszormenyi (GCS) ++License: GPL-2+ ++ ++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'. ++ ++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 . ++ . ++ 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'. ++ ++License: GPL-3+ with Bison exception ++ 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 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 program. If not, see . ++ . ++ As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ . ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. ++ ++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'. diff --cc debian/golang-thrift-dev.install index 0000000,0000000..d091038 new file mode 100644 --- /dev/null +++ b/debian/golang-thrift-dev.install @@@ -1,0 -1,0 +1,1 @@@ ++lib/go/thrift /usr/share/gocode/src/github.com/apache/thrift/lib/go/ diff --cc debian/libthrift-0.13.0.install index 0000000,0000000..d0b0147 new file mode 100644 --- /dev/null +++ b/debian/libthrift-0.13.0.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/lib/*/libthrift-*.so ++usr/lib/*/libthriftnb-*.so ++usr/lib/*/libthriftqt5-*.so ++usr/lib/*/libthriftz-*.so diff --cc debian/libthrift-0.13.0.shlibs index 0000000,0000000..cc1c630 new file mode 100644 --- /dev/null +++ b/debian/libthrift-0.13.0.shlibs @@@ -1,0 -1,0 +1,4 @@@ ++libthrift 0.13.0 libthrift-0.13.0 (>= 0.13.0-1~) ++libthriftnb 0.13.0 libthrift-0.13.0 (>= 0.13.0-1~) ++libthriftqt5 0.13.0 libthrift-0.13.0 (>= 0.13.0-1~) ++libthriftz 0.13.0 libthrift-0.13.0 (>= 0.13.0-1~) diff --cc debian/libthrift-c-glib-dev.install index 0000000,0000000..6e062c9 new file mode 100644 --- /dev/null +++ b/debian/libthrift-c-glib-dev.install @@@ -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 diff --cc debian/libthrift-c-glib0.install index 0000000,0000000..d71b50d new file mode 100644 --- /dev/null +++ b/debian/libthrift-c-glib0.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libthrift_c_glib.so.* diff --cc debian/libthrift-dev.install index 58b5223,0000000..54e3e13 mode 100644,000000..100644 --- a/debian/libthrift-dev.install +++ b/debian/libthrift-dev.install @@@ -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 diff --cc debian/libthrift-java-doc.doc-base index 0000000,0000000..03672c0 new file mode 100644 --- /dev/null +++ b/debian/libthrift-java-doc.doc-base @@@ -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/* diff --cc debian/libthrift-java-doc.install index 0000000,0000000..1c29668 new file mode 100644 --- /dev/null +++ b/debian/libthrift-java-doc.install @@@ -1,0 -1,0 +1,1 @@@ ++debian/_jh_build.javadoc/api/* /usr/share/doc/thrift/java/ diff --cc debian/libthrift-perl.install index 0000000,0000000..f3ee2e4 new file mode 100644 --- /dev/null +++ b/debian/libthrift-perl.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/perl5/Thrift.pm /usr/share/perl5 ++usr/lib/perl5/Thrift /usr/share/perl5 diff --cc debian/patches/Fix_wrong_int_to_string_conversions.patch index 0000000,0000000..be07b19 new file mode 100644 --- /dev/null +++ b/debian/patches/Fix_wrong_int_to_string_conversions.patch @@@ -1,0 -1,0 +1,174 @@@ ++From 22b6c0c8bbc7089ce714f782366c2914c5e9eac5 Mon Sep 17 00:00:00 2001 ++From: Yuxuan 'fishy' Wang ++Date: Fri, 28 Aug 2020 17:20:31 -0700 ++Subject: [PATCH] THRIFT-5270: Fix wrong int to string conversions ++ ++Client: go ++ ++Starting from go 1.15, go test starts to complain about wrongly used int ++to string conversions: ++ ++ ./field.go:58:83: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ++ ./numeric.go:72:12: conversion from int64 to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ++ ./json_protocol_test.go:612:92: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ++ ./simple_json_protocol_test.go:685:96: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ++ ++json_protocol_test and simple_json_protocol_test usages are actually ++already in format arg so just remove the conversion is good enough. ++field is no longer used anywhere so just removed it (there's one line of ++commented out code in compact_protocol so remove that line as well). The ++one in numeric.go is actually a bug. We didn't set sValue correctly in ++NewNumericFromI64 and NewNumericFromI32 functions. ++--- ++ lib/go/thrift/compact_protocol.go | 1 - ++ lib/go/thrift/field.go | 79 ---------------------- ++ lib/go/thrift/json_protocol_test.go | 2 +- ++ lib/go/thrift/numeric.go | 4 +- ++ lib/go/thrift/simple_json_protocol_test.go | 2 +- ++ 5 files changed, 4 insertions(+), 84 deletions(-) ++ delete mode 100644 lib/go/thrift/field.go ++ ++diff --git a/lib/go/thrift/compact_protocol.go b/lib/go/thrift/compact_protocol.go ++index 468935781d..8510f1f79e 100644 ++--- a/lib/go/thrift/compact_protocol.go +++++ b/lib/go/thrift/compact_protocol.go ++@@ -209,7 +209,6 @@ func (p *TCompactProtocol) writeFieldBeginInternal(ctx context.Context, name str ++ } ++ ++ p.lastFieldId = fieldId ++- // p.lastField.Push(field.id); ++ return written, nil ++ } ++ ++diff --git a/lib/go/thrift/field.go b/lib/go/thrift/field.go ++deleted file mode 100644 ++index 9d66525509..0000000000 ++--- a/lib/go/thrift/field.go +++++ /dev/null ++@@ -1,79 +0,0 @@ ++-/* ++- * Licensed to the Apache Software Foundation (ASF) under one ++- * or more contributor license agreements. See the NOTICE file ++- * distributed with this work for additional information ++- * regarding copyright ownership. The ASF licenses this file ++- * to you under the Apache License, Version 2.0 (the ++- * "License"); you may not use this file except in compliance ++- * with the License. You may obtain a copy of the License at ++- * ++- * http://www.apache.org/licenses/LICENSE-2.0 ++- * ++- * Unless required by applicable law or agreed to in writing, ++- * software distributed under the License is distributed on an ++- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ++- * KIND, either express or implied. See the License for the ++- * specific language governing permissions and limitations ++- * under the License. ++- */ ++- ++-package thrift ++- ++-// Helper class that encapsulates field metadata. ++-type field struct { ++- name string ++- typeId TType ++- id int ++-} ++- ++-func newField(n string, t TType, i int) *field { ++- return &field{name: n, typeId: t, id: i} ++-} ++- ++-func (p *field) Name() string { ++- if p == nil { ++- return "" ++- } ++- return p.name ++-} ++- ++-func (p *field) TypeId() TType { ++- if p == nil { ++- return TType(VOID) ++- } ++- return p.typeId ++-} ++- ++-func (p *field) Id() int { ++- if p == nil { ++- return -1 ++- } ++- return p.id ++-} ++- ++-func (p *field) String() string { ++- if p == nil { ++- return "" ++- } ++- return "" ++-} ++- ++-var ANONYMOUS_FIELD *field ++- ++-type fieldSlice []field ++- ++-func (p fieldSlice) Len() int { ++- return len(p) ++-} ++- ++-func (p fieldSlice) Less(i, j int) bool { ++- return p[i].Id() < p[j].Id() ++-} ++- ++-func (p fieldSlice) Swap(i, j int) { ++- p[i], p[j] = p[j], p[i] ++-} ++- ++-func init() { ++- ANONYMOUS_FIELD = newField("", STOP, 0) ++-} ++diff --git a/lib/go/thrift/json_protocol_test.go b/lib/go/thrift/json_protocol_test.go ++index 07afa9683b..333d383216 100644 ++--- a/lib/go/thrift/json_protocol_test.go +++++ b/lib/go/thrift/json_protocol_test.go ++@@ -609,7 +609,7 @@ func TestWriteJSONProtocolMap(t *testing ++ for k, value := range DOUBLE_VALUES { ++ ik, err := p.ReadI32() ++ if err != nil { ++- t.Fatalf("Bad key for %s index %v, wrote: %v, expected: %v, error: %s", thetype, k, ik, string(k), err.Error()) +++ t.Fatalf("Bad key for %s index %v, wrote: %v, expected: %v, error: %s", thetype, k, ik, k, err.Error()) ++ } ++ if int(ik) != k { ++ t.Fatalf("Bad key for %s index %v, wrote: %v, expected: %v", thetype, k, ik, k) ++diff --git a/lib/go/thrift/numeric.go b/lib/go/thrift/numeric.go ++index aa8daa9b54..e4512d204c 100644 ++--- a/lib/go/thrift/numeric.go +++++ b/lib/go/thrift/numeric.go ++@@ -69,14 +69,14 @@ func NewNumericFromDouble(dValue float64) Numeric { ++ ++ func NewNumericFromI64(iValue int64) Numeric { ++ dValue := float64(iValue) ++- sValue := string(iValue) +++ sValue := strconv.FormatInt(iValue, 10) ++ isNil := false ++ return &numeric{iValue: iValue, dValue: dValue, sValue: sValue, isNil: isNil} ++ } ++ ++ func NewNumericFromI32(iValue int32) Numeric { ++ dValue := float64(iValue) ++- sValue := string(iValue) +++ sValue := strconv.FormatInt(int64(iValue), 10) ++ isNil := false ++ return &numeric{iValue: int64(iValue), dValue: dValue, sValue: sValue, isNil: isNil} ++ } ++diff --git a/lib/go/thrift/simple_json_protocol_test.go b/lib/go/thrift/simple_json_protocol_test.go ++index 951389a60d..986fff27e3 100644 ++--- a/lib/go/thrift/simple_json_protocol_test.go +++++ b/lib/go/thrift/simple_json_protocol_test.go ++@@ -682,7 +682,7 @@ func TestWriteSimpleJSONProtocolMap(t *testing.T) { ++ strv := l[k*2+4] ++ ik, err := strconv.Atoi(strk) ++ if err != nil { ++- t.Fatalf("Bad value for %s index %v, wrote: %v, expected: %v, error: %s", thetype, k, strk, string(k), err.Error()) +++ t.Fatalf("Bad value for %s index %v, wrote: %v, expected: %v, error: %s", thetype, k, strk, k, err.Error()) ++ } ++ if ik != k { ++ t.Fatalf("Bad value for %s index %v, wrote: %v, expected: %v", thetype, k, strk, k) diff --cc debian/patches/add_missing_test_files.patch index 0000000,0000000..01edd1c new file mode 100644 --- /dev/null +++ b/debian/patches/add_missing_test_files.patch @@@ -1,0 -1,0 +1,70 @@@ ++Description: put back files used for testing ++ Needs for testing and while present up to 0.12.0 and in Git, missed from ++ the source of 0.13.0 release. ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2019-10-23 ++ ++--- ++ ++--- /dev/null +++++ b/lib/go/test/ConflictNamespaceServiceTest.thrift ++@@ -0,0 +1,25 @@ +++# +++# Licensed to the Apache Software Foundation (ASF) under one +++# or more contributor license agreements. See the NOTICE file +++# distributed with this work for additional information +++# regarding copyright ownership. The ASF licenses this file +++# to you under the Apache License, Version 2.0 (the +++# "License"); you may not use this file except in compliance +++# with the License. You may obtain a copy of the License at +++# +++# http://www.apache.org/licenses/LICENSE-2.0 +++# +++# Unless required by applicable law or agreed to in writing, +++# software distributed under the License is distributed on an +++# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +++# KIND, either express or implied. See the License for the +++# specific language governing permissions and limitations +++# under the License. +++# +++namespace go conflict.context +++ +++include "ConflictNamespaceTestD.thrift" +++ +++service ConflictService { +++ ConflictNamespaceTestD.ThingD thingFunc() +++} ++--- /dev/null +++++ b/lib/php/test/TestValidators.thrift ++@@ -0,0 +1,31 @@ +++/* +++ * Licensed to the Apache Software Foundation (ASF) under one +++ * or more contributor license agreements. See the NOTICE file +++ * distributed with this work for additional information +++ * regarding copyright ownership. The ASF licenses this file +++ * to you under the Apache License, Version 2.0 (the +++ * "License"); you may not use this file except in compliance +++ * with the License. You may obtain a copy of the License at +++ * +++ * http://www.apache.org/licenses/LICENSE-2.0 +++ * +++ * Unless required by applicable law or agreed to in writing, +++ * software distributed under the License is distributed on an +++ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +++ * KIND, either express or implied. See the License for the +++ * specific language governing permissions and limitations +++ * under the License. +++ */ +++ +++namespace php TestValidators +++ +++include "../../../test/ThriftTest.thrift" +++ +++union UnionOfStrings { +++ 1: string aa; +++ 2: string bb; +++} +++ +++service TestService { +++ void test() throws(1: ThriftTest.Xception xception); +++} diff --cc debian/patches/broken_boost_1.62.patch index 0000000,0000000..5059fbc new file mode 100644 --- /dev/null +++ b/debian/patches/broken_boost_1.62.patch @@@ -1,0 -1,0 +1,22 @@@ ++Description: ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2019-01-09 ++ ++--- ++ ++--- thrift-0.10.0.orig/lib/cpp/test/Makefile.am +++++ thrift-0.10.0/lib/cpp/test/Makefile.am ++@@ -116,9 +116,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) diff --cc debian/patches/disable_TLSv1_0_and_TLSv1_1.patch index 0000000,0000000..3b6cceb new file mode 100644 --- /dev/null +++ b/debian/patches/disable_TLSv1_0_and_TLSv1_1.patch @@@ -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) ++Bug-Debian: https://bugs.debian.org/859128 ++Last-Update: 2017-09-10 ++ ++--- ++ ++--- thrift-0.10.0.orig/lib/cpp/test/SecurityTest.cpp +++++ thrift-0.10.0/lib/cpp/test/SecurityTest.cpp ++@@ -222,11 +222,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 } ++ }; ++ diff --cc debian/patches/disable_failing_tests.patch index 0000000,0000000..fd044a2 new file mode 100644 --- /dev/null +++ b/debian/patches/disable_failing_tests.patch @@@ -1,0 -1,0 +1,27 @@@ ++Description: disable failing tests ++ . ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2019-10-05 ++ ++--- ++ ++--- thrift-0.12.0.orig/lib/c_glib/test/Makefile.am +++++ thrift-0.12.0/lib/c_glib/test/Makefile.am ++@@ -47,7 +47,6 @@ check_PROGRAMS = \ ++ testapplicationexception \ ++ testcontainertest \ ++ testtransportsocket \ ++- testtransportsslsocket \ ++ testbinaryprotocol \ ++ testcompactprotocol \ ++ testbufferedtransport \ ++--- thrift-0.12.0.orig/lib/cpp/test/Makefile.am +++++ thrift-0.12.0/lib/cpp/test/Makefile.am ++@@ -98,7 +98,6 @@ check_PROGRAMS = \ ++ TransportTest \ ++ TInterruptTest \ ++ TServerIntegrationTest \ ++- SecurityTest \ ++ ZlibTest \ ++ TFileTransportTest \ ++ link_test \ diff --cc debian/patches/disable_php_testing.patch index 0000000,0000000..0b40284 new file mode 100644 --- /dev/null +++ b/debian/patches/disable_php_testing.patch @@@ -1,0 -1,0 +1,26 @@@ ++Description: PHP tests are not phpunit 8 compatible ++ Disable those for now. ++Author: Laszlo Boszormenyi (GCS) ++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 \ diff --cc debian/patches/go_test_fail_on_busy_machine.patch index 0000000,0000000..8bf8726 new file mode 100644 --- /dev/null +++ b/debian/patches/go_test_fail_on_busy_machine.patch @@@ -1,0 -1,0 +1,27 @@@ ++Description: wait a second after go serve socket ++ Multiple upstream wait time by hundred. ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2018-09-23 ++ ++--- ++ ++--- 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 ++@@ -66,7 +66,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 { ++@@ -105,7 +105,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 { diff --cc debian/patches/golang_1.10_fix.patch index 0000000,0000000..13f3023 new file mode 100644 --- /dev/null +++ b/debian/patches/golang_1.10_fix.patch @@@ -1,0 -1,0 +1,424 @@@ ++From a9efd1abd4fd4862d8e967ec207015af79494b6c Mon Sep 17 00:00:00 2001 ++From: "D. Can Celasun" ++Date: Thu, 15 Mar 2018 12:52:37 +0100 ++Subject: [PATCH] THRIFT-4516: Fix "go vet" warnings for Go 1.10 ++ ++Client: go ++--- ++ lib/go/test/dontexportrwtest/compile_test.go | 9 ++-- ++ lib/go/thrift/application_exception_test.go | 4 +- ++ lib/go/thrift/compact_protocol.go | 2 +- ++ lib/go/thrift/json_protocol_test.go | 2 +- ++ lib/go/thrift/protocol_test.go | 34 +++++++-------- ++ lib/go/thrift/simple_json_protocol.go | 2 +- ++ lib/go/thrift/simple_json_protocol_test.go | 2 +- ++ test/go/src/common/clientserver_test.go | 44 ++++++++++---------- ++ 11 files changed, 53 insertions(+), 54 deletions(-) ++ ++diff --git a/lib/go/test/dontexportrwtest/compile_test.go b/lib/go/test/dontexportrwtest/compile_test.go ++index 2b877e3b0d..cf6763e297 100644 ++--- a/lib/go/test/dontexportrwtest/compile_test.go +++++ b/lib/go/test/dontexportrwtest/compile_test.go ++@@ -20,7 +20,6 @@ ++ package dontexportrwtest ++ ++ import ( ++- "fmt" ++ "testing" ++ ) ++ ++@@ -29,10 +28,10 @@ import ( ++ func TestReadWriteMethodsArePrivate(t *testing.T) { ++ // This will only compile if read/write methods exist ++ s := NewTestStruct() ++- fmt.Sprintf("%v", s.read) ++- fmt.Sprintf("%v", s.write) +++ _ = s.read +++ _ = s.write ++ ++ is := NewInnerStruct() ++- fmt.Sprintf("%v", is.read) ++- fmt.Sprintf("%v", is.write) +++ _ = is.read +++ _ = is.write ++ } ++diff --git a/lib/go/thrift/application_exception_test.go b/lib/go/thrift/application_exception_test.go ++index b2687a6c84..77433575d5 100644 ++--- a/lib/go/thrift/application_exception_test.go +++++ b/lib/go/thrift/application_exception_test.go ++@@ -29,13 +29,13 @@ func TestTApplicationException(t *testing.T) { ++ t.Fatalf("Expected empty string for exception but found '%s'", exc.Error()) ++ } ++ if exc.TypeId() != UNKNOWN_APPLICATION_EXCEPTION { ++- t.Fatalf("Expected type UNKNOWN for exception but found '%s'", exc.TypeId()) +++ t.Fatalf("Expected type UNKNOWN for exception but found '%v'", exc.TypeId()) ++ } ++ exc = NewTApplicationException(WRONG_METHOD_NAME, "junk_method") ++ if exc.Error() != "junk_method" { ++ t.Fatalf("Expected 'junk_method' for exception but found '%s'", exc.Error()) ++ } ++ if exc.TypeId() != WRONG_METHOD_NAME { ++- t.Fatalf("Expected type WRONG_METHOD_NAME for exception but found '%s'", exc.TypeId()) +++ t.Fatalf("Expected type WRONG_METHOD_NAME for exception but found '%v'", exc.TypeId()) ++ } ++ } ++diff --git a/lib/go/thrift/compact_protocol.go b/lib/go/thrift/compact_protocol.go ++index fc1d18287e..66fbf5c335 100644 ++--- a/lib/go/thrift/compact_protocol.go +++++ b/lib/go/thrift/compact_protocol.go ++@@ -806,7 +806,7 @@ func (p *TCompactProtocol) getTType(t tCompactType) (TType, error) { ++ case COMPACT_STRUCT: ++ return STRUCT, nil ++ } ++- return STOP, TException(fmt.Errorf("don't know what type: %s", t&0x0f)) +++ return STOP, TException(fmt.Errorf("don't know what type: %v", t&0x0f)) ++ } ++ ++ // Given a TType value, find the appropriate TCompactProtocol.Types constant. ++diff --git a/lib/go/thrift/json_protocol_test.go b/lib/go/thrift/json_protocol_test.go ++index 0902f1b21f..59c4d64a26 100644 ++--- a/lib/go/thrift/json_protocol_test.go +++++ b/lib/go/thrift/json_protocol_test.go ++@@ -590,7 +590,7 @@ func TestWriteJSONProtocolMap(t *testing.T) { ++ } ++ str := trans.String() ++ if str[0] != '[' || str[len(str)-1] != ']' { ++- t.Fatalf("Bad value for %s, wrote: %q, in go: %q", thetype, str, DOUBLE_VALUES) +++ t.Fatalf("Bad value for %s, wrote: %v, in go: %v", thetype, str, DOUBLE_VALUES) ++ } ++ expectedKeyType, expectedValueType, expectedSize, err := p.ReadMapBegin() ++ if err != nil { ++diff --git a/lib/go/thrift/protocol_test.go b/lib/go/thrift/protocol_test.go ++index 2e3b65df99..e9118da88f 100644 ++--- a/lib/go/thrift/protocol_test.go +++++ b/lib/go/thrift/protocol_test.go ++@@ -227,17 +227,17 @@ func ReadWriteBool(t testing.TB, p TProt ++ for k, v := range BOOL_VALUES { ++ err = p.WriteBool(v) ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error writing bool in list at index %d: %q", "ReadWriteBool", p, trans, err, k, v) +++ t.Errorf("%s: %T %T %v Error writing bool in list at index %v: %v", "ReadWriteBool", p, trans, err, k, v) ++ } ++ } ++ p.WriteListEnd() ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error writing list end: %q", "ReadWriteBool", p, trans, err, BOOL_VALUES) +++ t.Errorf("%s: %T %T %v Error writing list end: %v", "ReadWriteBool", p, trans, err, BOOL_VALUES) ++ } ++ p.Flush() ++ thetype2, thelen2, err := p.ReadListBegin() ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error reading list: %q", "ReadWriteBool", p, trans, err, BOOL_VALUES) +++ t.Errorf("%s: %T %T %v Error reading list: %v", "ReadWriteBool", p, trans, err, BOOL_VALUES) ++ } ++ _, ok := p.(*TSimpleJSONProtocol) ++ if !ok { ++@@ -245,16 +245,16 @@ func ReadWriteBool(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteBool", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteBool", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteBool", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range BOOL_VALUES { ++ value, err := p.ReadBool() ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error reading bool at index %d: %q", "ReadWriteBool", p, trans, err, k, v) +++ t.Errorf("%s: %T %T %v Error reading bool at index %v: %v", "ReadWriteBool", p, trans, err, k, v) ++ } ++ if v != value { ++- t.Errorf("%s: index %d %q %q %q != %q", "ReadWriteBool", k, p, trans, v, value) +++ t.Errorf("%s: index %v %v %v %v != %v", "ReadWriteBool", k, p, trans, v, value) ++ } ++ } ++ err = p.ReadListEnd() ++@@ -294,7 +294,7 @@ func ReadWriteByte(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteByte", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteByte", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteByte", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range BYTE_VALUES { ++@@ -331,7 +331,7 @@ func ReadWriteI16(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteI16", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteI16", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteI16", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range INT16_VALUES { ++@@ -368,7 +368,7 @@ func ReadWriteI32(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteI32", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteI32", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteI32", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range INT32_VALUES { ++@@ -404,7 +404,7 @@ func ReadWriteI64(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteI64", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteI64", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteI64", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range INT64_VALUES { ++@@ -432,25 +432,25 @@ func ReadWriteDouble(t testing.TB, p TProtocol, trans TTransport) { ++ p.Flush() ++ thetype2, thelen2, err := p.ReadListBegin() ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error reading list: %q", "ReadWriteDouble", p, trans, err, DOUBLE_VALUES) +++ t.Errorf("%s: %T %T %v Error reading list: %v", "ReadWriteDouble", p, trans, err, DOUBLE_VALUES) ++ } ++ if thetype != thetype2 { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteDouble", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteDouble", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteDouble", p, trans, thelen, thelen2) ++ } ++ for k, v := range DOUBLE_VALUES { ++ value, err := p.ReadDouble() ++ if err != nil { ++- t.Errorf("%s: %T %T %q Error reading double at index %d: %q", "ReadWriteDouble", p, trans, err, k, v) +++ t.Errorf("%s: %T %T %q Error reading double at index %d: %v", "ReadWriteDouble", p, trans, err, k, v) ++ } ++ if math.IsNaN(v) { ++ if !math.IsNaN(value) { ++- t.Errorf("%s: %T %T math.IsNaN(%q) != math.IsNaN(%q)", "ReadWriteDouble", p, trans, v, value) +++ t.Errorf("%s: %T %T math.IsNaN(%v) != math.IsNaN(%v)", "ReadWriteDouble", p, trans, v, value) ++ } ++ } else if v != value { ++- t.Errorf("%s: %T %T %v != %q", "ReadWriteDouble", p, trans, v, value) +++ t.Errorf("%s: %T %T %v != %v", "ReadWriteDouble", p, trans, v, value) ++ } ++ } ++ err = p.ReadListEnd() ++@@ -478,7 +478,7 @@ func ReadWriteString(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T type %s != type %s", "ReadWriteString", p, trans, thetype, thetype2) ++ } ++ if thelen != thelen2 { ++- t.Errorf("%s: %T %T len %s != len %s", "ReadWriteString", p, trans, thelen, thelen2) +++ t.Errorf("%s: %T %T len %v != len %v", "ReadWriteString", p, trans, thelen, thelen2) ++ } ++ } ++ for k, v := range STRING_VALUES { ++@@ -487,7 +487,7 @@ func ReadWriteString(t testing.TB, p TProtocol, trans TTransport) { ++ t.Errorf("%s: %T %T %q Error reading string at index %d: %q", "ReadWriteString", p, trans, err, k, v) ++ } ++ if v != value { ++- t.Errorf("%s: %T %T %d != %d", "ReadWriteString", p, trans, v, value) +++ t.Errorf("%s: %T %T %v != %v", "ReadWriteString", p, trans, v, value) ++ } ++ } ++ if err != nil { ++diff --git a/lib/go/thrift/simple_json_protocol.go b/lib/go/thrift/simple_json_protocol.go ++index 88f569cc15..2e8a71112a 100644 ++--- a/lib/go/thrift/simple_json_protocol.go +++++ b/lib/go/thrift/simple_json_protocol.go ++@@ -1064,7 +1064,7 @@ func (p *TSimpleJSONProtocol) ParseListEnd() error { ++ for _, char := range line { ++ switch char { ++ default: ++- e := fmt.Errorf("Expecting end of list \"]\", but found: \"", line, "\"") +++ e := fmt.Errorf("Expecting end of list \"]\", but found: \"%v\"", line) ++ return NewTProtocolExceptionWithType(INVALID_DATA, e) ++ case ' ', '\n', '\r', '\t', rune(JSON_RBRACKET[0]): ++ break ++diff --git a/lib/go/thrift/simple_json_protocol_test.go b/lib/go/thrift/simple_json_protocol_test.go ++index 49181ab199..7b98082a4e 100644 ++--- a/lib/go/thrift/simple_json_protocol_test.go +++++ b/lib/go/thrift/simple_json_protocol_test.go ++@@ -658,7 +658,7 @@ func TestWriteSimpleJSONProtocolMap(t *testing.T) { ++ } ++ str := trans.String() ++ if str[0] != '[' || str[len(str)-1] != ']' { ++- t.Fatalf("Bad value for %s, wrote: %q, in go: %q", thetype, str, DOUBLE_VALUES) +++ t.Fatalf("Bad value for %s, wrote: %v, in go: %v", thetype, str, DOUBLE_VALUES) ++ } ++ l := strings.Split(str[1:len(str)-1], ",") ++ if len(l) < 3 { ++diff --git a/test/go/src/common/clientserver_test.go b/test/go/src/common/clientserver_test.go ++index cb1abf775c..9f93c4c6cc 100644 ++--- a/test/go/src/common/clientserver_test.go +++++ b/test/go/src/common/clientserver_test.go ++@@ -127,12 +127,12 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ) ++ var err error ++ if err = client.TestVoid(defaultCtx); err != nil { ++- t.Errorf("Unexpected error in TestVoid() call: ", err) +++ t.Errorf("Unexpected error in TestVoid() call: %s", err) ++ } ++ ++ thing, err := client.TestString(defaultCtx, "thing") ++ if err != nil { ++- t.Errorf("Unexpected error in TestString() call: ", err) +++ t.Errorf("Unexpected error in TestString() call: %s", err) ++ } ++ if thing != "thing" { ++ t.Errorf("Unexpected TestString() result, expected 'thing' got '%s' ", thing) ++@@ -140,22 +140,22 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ bl, err := client.TestBool(defaultCtx, true) ++ if err != nil { ++- t.Errorf("Unexpected error in TestBool() call: ", err) +++ t.Errorf("Unexpected error in TestBool() call: %s", err) ++ } ++ if !bl { ++- t.Errorf("Unexpected TestBool() result expected true, got %f ", bl) +++ t.Errorf("Unexpected TestBool() result expected true, got %v ", bl) ++ } ++ bl, err = client.TestBool(defaultCtx, false) ++ if err != nil { ++- t.Errorf("Unexpected error in TestBool() call: ", err) +++ t.Errorf("Unexpected error in TestBool() call: %s", err) ++ } ++ if bl { ++- t.Errorf("Unexpected TestBool() result expected false, got %f ", bl) +++ t.Errorf("Unexpected TestBool() result expected false, got %v ", bl) ++ } ++ ++ b, err := client.TestByte(defaultCtx, 42) ++ if err != nil { ++- t.Errorf("Unexpected error in TestByte() call: ", err) +++ t.Errorf("Unexpected error in TestByte() call: %s", err) ++ } ++ if b != 42 { ++ t.Errorf("Unexpected TestByte() result expected 42, got %d ", b) ++@@ -163,7 +163,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ i32, err := client.TestI32(defaultCtx, 4242) ++ if err != nil { ++- t.Errorf("Unexpected error in TestI32() call: ", err) +++ t.Errorf("Unexpected error in TestI32() call: %s", err) ++ } ++ if i32 != 4242 { ++ t.Errorf("Unexpected TestI32() result expected 4242, got %d ", i32) ++@@ -171,7 +171,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ i64, err := client.TestI64(defaultCtx, 424242) ++ if err != nil { ++- t.Errorf("Unexpected error in TestI64() call: ", err) +++ t.Errorf("Unexpected error in TestI64() call: %s", err) ++ } ++ if i64 != 424242 { ++ t.Errorf("Unexpected TestI64() result expected 424242, got %d ", i64) ++@@ -179,7 +179,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ d, err := client.TestDouble(defaultCtx, 42.42) ++ if err != nil { ++- t.Errorf("Unexpected error in TestDouble() call: ", err) +++ t.Errorf("Unexpected error in TestDouble() call: %s", err) ++ } ++ if d != 42.42 { ++ t.Errorf("Unexpected TestDouble() result expected 42.42, got %f ", d) ++@@ -194,7 +194,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ xs.I64Thing = 424242 ++ xsret, err := client.TestStruct(defaultCtx, xs) ++ if err != nil { ++- t.Errorf("Unexpected error in TestStruct() call: ", err) +++ t.Errorf("Unexpected error in TestStruct() call: %s", err) ++ } ++ if *xs != *xsret { ++ t.Errorf("Unexpected TestStruct() result expected %#v, got %#v ", xs, xsret) ++@@ -204,7 +204,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ x2.StructThing = xs ++ x2ret, err := client.TestNest(defaultCtx, x2) ++ if err != nil { ++- t.Errorf("Unexpected error in TestNest() call: ", err) +++ t.Errorf("Unexpected error in TestNest() call: %s", err) ++ } ++ if !reflect.DeepEqual(x2, x2ret) { ++ t.Errorf("Unexpected TestNest() result expected %#v, got %#v ", x2, x2ret) ++@@ -213,7 +213,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ m := map[int32]int32{1: 2, 3: 4, 5: 42} ++ mret, err := client.TestMap(defaultCtx, m) ++ if err != nil { ++- t.Errorf("Unexpected error in TestMap() call: ", err) +++ t.Errorf("Unexpected error in TestMap() call: %s", err) ++ } ++ if !reflect.DeepEqual(m, mret) { ++ t.Errorf("Unexpected TestMap() result expected %#v, got %#v ", m, mret) ++@@ -222,7 +222,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ sm := map[string]string{"a": "2", "b": "blah", "some": "thing"} ++ smret, err := client.TestStringMap(defaultCtx, sm) ++ if err != nil { ++- t.Errorf("Unexpected error in TestStringMap() call: ", err) +++ t.Errorf("Unexpected error in TestStringMap() call: %s", err) ++ } ++ if !reflect.DeepEqual(sm, smret) { ++ t.Errorf("Unexpected TestStringMap() result expected %#v, got %#v ", sm, smret) ++@@ -231,7 +231,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ s := []int32{1, 2, 42} ++ sret, err := client.TestSet(defaultCtx, s) ++ if err != nil { ++- t.Errorf("Unexpected error in TestSet() call: ", err) +++ t.Errorf("Unexpected error in TestSet() call: %s", err) ++ } ++ // Sets can be in any order, but Go slices are ordered, so reflect.DeepEqual won't work. ++ stemp := map[int32]struct{}{} ++@@ -247,7 +247,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ l := []int32{1, 2, 42} ++ lret, err := client.TestList(defaultCtx, l) ++ if err != nil { ++- t.Errorf("Unexpected error in TestList() call: ", err) +++ t.Errorf("Unexpected error in TestList() call: %s", err) ++ } ++ if !reflect.DeepEqual(l, lret) { ++ t.Errorf("Unexpected TestList() result expected %#v, got %#v ", l, lret) ++@@ -255,7 +255,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ eret, err := client.TestEnum(defaultCtx, thrifttest.Numberz_TWO) ++ if err != nil { ++- t.Errorf("Unexpected error in TestEnum() call: ", err) +++ t.Errorf("Unexpected error in TestEnum() call: %s", err) ++ } ++ if eret != thrifttest.Numberz_TWO { ++ t.Errorf("Unexpected TestEnum() result expected %#v, got %#v ", thrifttest.Numberz_TWO, eret) ++@@ -263,7 +263,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ tret, err := client.TestTypedef(defaultCtx, thrifttest.UserId(42)) ++ if err != nil { ++- t.Errorf("Unexpected error in TestTypedef() call: ", err) +++ t.Errorf("Unexpected error in TestTypedef() call: %s", err) ++ } ++ if tret != thrifttest.UserId(42) { ++ t.Errorf("Unexpected TestTypedef() result expected %#v, got %#v ", thrifttest.UserId(42), tret) ++@@ -271,7 +271,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ mapmap, err := client.TestMapMap(defaultCtx, 42) ++ if err != nil { ++- t.Errorf("Unexpected error in TestMapmap() call: ", err) +++ t.Errorf("Unexpected error in TestMapmap() call: %s", err) ++ } ++ if !reflect.DeepEqual(mapmap, rmapmap) { ++ t.Errorf("Unexpected TestMapmap() result expected %#v, got %#v ", rmapmap, mapmap) ++@@ -279,7 +279,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ xxsret, err := client.TestMulti(defaultCtx, 42, 4242, 424242, map[int16]string{1: "blah", 2: "thing"}, thrifttest.Numberz_EIGHT, thrifttest.UserId(24)) ++ if err != nil { ++- t.Errorf("Unexpected error in TestMulti() call: %v", err) +++ t.Errorf("Unexpected error in TestMulti() call: %s", err) ++ } ++ if !reflect.DeepEqual(xxs, xxsret) { ++ t.Errorf("Unexpected TestMulti() result expected %#v, got %#v ", xxs, xxsret) ++@@ -323,11 +323,11 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h ++ ++ err = client.TestOneway(defaultCtx, 2) ++ if err != nil { ++- t.Errorf("Unexpected error in TestOneway() call: ", err) +++ t.Errorf("Unexpected error in TestOneway() call: %s", err) ++ } ++ ++ //Make sure the connection still alive ++ if err = client.TestVoid(defaultCtx); err != nil { ++- t.Errorf("Unexpected error in TestVoid() call: ", err) +++ t.Errorf("Unexpected error in TestVoid() call: %s", err) ++ } ++ } diff --cc debian/patches/golang_dependency_installed.patch index 0000000,0000000..ebb7a59 new file mode 100644 --- /dev/null +++ b/debian/patches/golang_dependency_installed.patch @@@ -1,0 -1,0 +1,37 @@@ ++Description: golang dependencies already installed as build dependency ++Forwarded: no ++Author: Laszlo Boszormenyi (GCS) ++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 ++ diff --cc debian/patches/link_tests_atomic.patch index 0000000,0000000..81497fc new file mode 100644 --- /dev/null +++ b/debian/patches/link_tests_atomic.patch @@@ -1,0 -1,0 +1,262 @@@ ++Description: fix tests FTBFS with atomic link ++ On armel and at least mipsel needs atomic to link with. ++Author: Laszlo Boszormenyi (GCS) ++Forwarded: no ++Last-Update: 2019-12-08 ++ ++--- ++ ++--- thrift-0.13.0.orig/lib/c_glib/test/Makefile.am +++++ thrift-0.13.0/lib/c_glib/test/Makefile.am ++@@ -186,7 +186,7 @@ testthrifttest_CFLAGS = -I$(top_srcdir)/ ++ ++ testthrifttestclient_SOURCES = testthrifttestclient.cpp ++ testthrifttestclient_CPPFLAGS = -I../../cpp/src $(BOOST_CPPFLAGS) -I./gen-cpp -I../src -I./gen-c_glib $(GLIB_CFLAGS) ++-testthrifttestclient_LDADD = ../../cpp/.libs/libthrift.la ../libthrift_c_glib.la libtestgenc.la libtestgencpp.la +++testthrifttestclient_LDADD = ../../cpp/.libs/libthrift.la ../libthrift_c_glib.la libtestgenc.la libtestgencpp.la -latomic ++ testthrifttestclient_LDFLAGS = -L../.libs -L../../cpp/.libs $(GLIB_LIBS) $(GOBJECT_LIBS) ++ ++ check_LTLIBRARIES = libtestgenc.la ++--- thrift-0.13.0.orig/lib/cpp/test/Makefile.am +++++ thrift-0.13.0/lib/cpp/test/Makefile.am ++@@ -83,7 +83,8 @@ noinst_PROGRAMS = Benchmark \ ++ Benchmark_SOURCES = \ ++ Benchmark.cpp ++ ++-Benchmark_LDADD = libtestgencpp.la +++Benchmark_LDADD = libtestgencpp.la \ +++ -latomic ++ ++ check_PROGRAMS = \ ++ UnitTests \ ++@@ -139,7 +140,8 @@ UnitTests_LDADD = \ ++ libtestgencpp.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(BOOST_SYSTEM_LDADD) \ ++- $(BOOST_THREAD_LDADD) +++ $(BOOST_THREAD_LDADD) \ +++ -latomic ++ ++ TInterruptTest_SOURCES = \ ++ TSocketInterruptTest.cpp \ ++@@ -151,7 +153,8 @@ TInterruptTest_LDADD = \ ++ $(BOOST_FILESYSTEM_LDADD) \ ++ $(BOOST_CHRONO_LDADD) \ ++ $(BOOST_SYSTEM_LDADD) \ ++- $(BOOST_THREAD_LDADD) +++ $(BOOST_THREAD_LDADD) \ +++ -latomic ++ ++ TServerIntegrationTest_SOURCES = \ ++ TServerIntegrationTest.cpp ++@@ -161,7 +164,8 @@ TServerIntegrationTest_LDADD = \ ++ libprocessortest.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(BOOST_SYSTEM_LDADD) \ ++- $(BOOST_THREAD_LDADD) +++ $(BOOST_THREAD_LDADD) \ +++ -latomic ++ ++ SecurityTest_SOURCES = \ ++ SecurityTest.cpp ++@@ -181,7 +185,8 @@ TransportTest_LDADD = \ ++ libtestgencpp.la \ ++ $(top_builddir)/lib/cpp/libthriftz.la \ ++ $(BOOST_TEST_LDADD) \ ++- -lz +++ -lz \ +++ -latomic ++ ++ ZlibTest_SOURCES = \ ++ ZlibTest.cpp ++@@ -190,7 +195,8 @@ ZlibTest_LDADD = \ ++ libtestgencpp.la \ ++ $(top_builddir)/lib/cpp/libthriftz.la \ ++ $(BOOST_TEST_LDADD) \ ++- -lz +++ -lz \ +++ -latomic ++ ++ EnumTest_SOURCES = \ ++ EnumTest.cpp ++@@ -215,7 +221,8 @@ TFileTransportTest_SOURCES = \ ++ ++ TFileTransportTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ # ++ # TFDTransportTest ++@@ -225,7 +232,8 @@ TFDTransportTest_SOURCES = \ ++ ++ TFDTransportTest_LDADD = \ ++ $(top_builddir)/lib/cpp/libthrift.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ ++ # ++@@ -240,7 +248,8 @@ TPipedTransportTest_LDADD = \ ++ $(top_builddir)/lib/cpp/libthrift.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(BOOST_SYSTEM_LDADD) \ ++- $(BOOST_THREAD_LDADD) +++ $(BOOST_THREAD_LDADD) \ +++ -latomic ++ ++ # ++ # AllProtocolsTest ++@@ -252,7 +261,8 @@ AllProtocolsTest_SOURCES = \ ++ ++ AllProtocolsTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ # ++ # DebugProtoTest ++@@ -262,7 +272,8 @@ DebugProtoTest_SOURCES = \ ++ ++ DebugProtoTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ ++ # ++@@ -273,7 +284,8 @@ JSONProtoTest_SOURCES = \ ++ ++ JSONProtoTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ # ++ # TNonblockingServerTest ++@@ -285,7 +297,8 @@ TNonblockingServerTest_LDADD = libproces ++ $(top_builddir)/lib/cpp/libthriftnb.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(BOOST_LDFLAGS) \ ++- $(LIBEVENT_LIBS) +++ $(LIBEVENT_LIBS) \ +++ -latomic ++ # ++ # TNonblockingSSLServerTest ++ # ++@@ -300,7 +313,8 @@ TNonblockingSSLServerTest_LDADD = libpro ++ $(BOOST_CHRONO_LDADD) \ ++ $(BOOST_SYSTEM_LDADD) \ ++ $(BOOST_THREAD_LDADD) \ ++- $(LIBEVENT_LIBS) +++ $(LIBEVENT_LIBS) \ +++ -latomic ++ ++ # ++ # OptionalRequiredTest ++@@ -310,7 +324,8 @@ OptionalRequiredTest_SOURCES = \ ++ ++ OptionalRequiredTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ # ++ # OptionalRequiredTest ++@@ -320,7 +335,8 @@ RecursiveTest_SOURCES = \ ++ ++ RecursiveTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ # ++ # SpecializationTest ++@@ -330,7 +346,8 @@ SpecializationTest_SOURCES = \ ++ ++ SpecializationTest_LDADD = \ ++ libtestgencpp.la \ ++- $(BOOST_TEST_LDADD) +++ $(BOOST_TEST_LDADD) \ +++ -latomic ++ ++ concurrency_test_SOURCES = \ ++ concurrency/Tests.cpp \ ++@@ -339,7 +356,8 @@ concurrency_test_SOURCES = \ ++ concurrency/TimerManagerTests.h ++ ++ concurrency_test_LDADD = \ ++- $(top_builddir)/lib/cpp/libthrift.la +++ $(top_builddir)/lib/cpp/libthrift.la \ +++ -latomic ++ ++ link_test_SOURCES = \ ++ link/LinkTest.cpp \ ++@@ -359,7 +377,8 @@ processor_test_LDADD = libprocessortest. ++ $(top_builddir)/lib/cpp/libthriftnb.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(BOOST_LDFLAGS) \ ++- $(LIBEVENT_LIBS) +++ $(LIBEVENT_LIBS) \ +++ -latomic ++ ++ OpenSSLManualInitTest_SOURCES = \ ++ OpenSSLManualInitTest.cpp ++@@ -368,7 +387,8 @@ OpenSSLManualInitTest_LDADD = \ ++ $(top_builddir)/lib/cpp/libthrift.la \ ++ $(BOOST_TEST_LDADD) \ ++ $(OPENSSL_LDFLAGS) \ ++- $(OPENSSL_LIBS) +++ $(OPENSSL_LIBS) \ +++ -latomic ++ ++ # ++ # Common thrift code generation rules ++--- thrift-0.13.0.orig/test/cpp/Makefile.am +++++ thrift-0.13.0/test/cpp/Makefile.am ++@@ -73,7 +73,8 @@ TestServer_LDADD = \ ++ $(top_builddir)/lib/cpp/libthrift.la \ ++ $(top_builddir)/lib/cpp/libthriftz.la \ ++ $(top_builddir)/lib/cpp/libthriftnb.la \ ++- -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS) +++ -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS) \ +++ -latomic ++ ++ TestClient_SOURCES = \ ++ src/TestClient.cpp ++@@ -83,14 +84,16 @@ TestClient_LDADD = \ ++ $(top_builddir)/lib/cpp/libthrift.la \ ++ $(top_builddir)/lib/cpp/libthriftz.la \ ++ $(top_builddir)/lib/cpp/libthriftnb.la \ ++- -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS) +++ -levent -lboost_program_options -lboost_system -lboost_filesystem $(ZLIB_LIBS) \ +++ -latomic ++ ++ StressTest_SOURCES = \ ++ src/StressTest.cpp ++ ++ StressTest_LDADD = \ ++ libstresstestgencpp.la \ ++- $(top_builddir)/lib/cpp/libthrift.la +++ $(top_builddir)/lib/cpp/libthrift.la \ +++ -latomic ++ ++ StressTestNonBlocking_SOURCES = \ ++ src/StressTestNonBlocking.cpp ++@@ -98,7 +101,8 @@ StressTestNonBlocking_SOURCES = \ ++ StressTestNonBlocking_LDADD = \ ++ libstresstestgencpp.la \ ++ $(top_builddir)/lib/cpp/libthriftnb.la \ ++- -levent +++ -levent \ +++ -latomic ++ # ++ # Common thrift code generation rules ++ # diff --cc debian/patches/link_with_zlib.patch index 0000000,0000000..f421c3a new file mode 100644 --- /dev/null +++ b/debian/patches/link_with_zlib.patch @@@ -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) ++ ++--- ++ ++--- 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) diff --cc debian/patches/missing_go_test.patch index 0000000,0000000..775dc37 new file mode 100644 --- /dev/null +++ b/debian/patches/missing_go_test.patch @@@ -1,0 -1,0 +1,53 @@@ ++Description: don't try missing NewMockThriftTest test ++ Upstream doesn't ship NewMockThriftTest hence don't try to use it. ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2019-11-30 ++ ++--- ++ ++--- thrift-0.13.0.orig/test/go/src/common/clientserver_test.go +++++ thrift-0.13.0/test/go/src/common/clientserver_test.go ++@@ -21,14 +21,10 @@ package common ++ ++ import ( ++ "context" ++- "errors" ++ "gen/thrifttest" ++- "reflect" ++ "sync" ++ "testing" ++- "thrift" ++ ++- "github.com/golang/mock/gomock" ++ ) ++ ++ type test_unit struct { ++@@ -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) ++@@ -81,6 +78,7 @@ func doUnit(t *testing.T, unit *test_uni ++ } ++ defer trans.Close() ++ callEverythingWithMock(t, client, handler) +++*/ ++ } ++ ++ var rmapmap = map[int32]map[int32]int32{ ++@@ -98,6 +96,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()), ++@@ -333,3 +332,4 @@ func callEverythingWithMock(t *testing.T ++ t.Errorf("Unexpected error in TestVoid() call: %s", err) ++ } ++ } +++*/ diff --cc debian/patches/no_bundler_use.patch index 0000000,0000000..ec4ebb3 new file mode 100644 --- /dev/null +++ b/debian/patches/no_bundler_use.patch @@@ -1,0 -1,0 +1,56 @@@ ++Description: do not use bundler as per Ruby policy ++ . ++Author: Laszlo Boszormenyi (GCS) ++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: diff --cc debian/patches/no_composer_install.patch index 0000000,0000000..5d88e35 new file mode 100644 --- /dev/null +++ b/debian/patches/no_composer_install.patch @@@ -1,0 -1,0 +1,36 @@@ ++Description: ++ 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) ++ ++--- ++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: , ++Bug: ++Bug-Debian: https://bugs.debian.org/ ++Bug-Ubuntu: https://launchpad.net/bugs/ ++Forwarded: ++Reviewed-By: ++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 ++ diff --cc debian/patches/no_go_race.patch index 0000000,0000000..2fea8d4 new file mode 100644 --- /dev/null +++ b/debian/patches/no_go_race.patch @@@ -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) ++Last-Update: 2019-10-05 ++ ++--- ++ ++--- thrift-0.12.0.orig/lib/go/Makefile.am +++++ thrift-0.12.0/lib/go/Makefile.am ++@@ -31,7 +31,7 @@ install: ++ @echo '##############################################################' ++ ++ check-local: ++- GOPATH=`pwd` $(GO) test -race ./thrift +++ GOPATH=`pwd` $(GO) test ./thrift ++ ++ clean-local: ++ $(RM) -rf pkg diff --cc debian/patches/no_gradlew.patch index 0000000,0000000..f986d56 new file mode 100644 --- /dev/null +++ b/debian/patches/no_gradlew.patch @@@ -1,0 -1,0 +1,18 @@@ ++Description: don't use gradlew in any way ++ Not enabled for compilation, but clean would like to use it anyway. ++Author: Laszlo Boszormenyi (GCS) ++Last-Update: 2019-10-23 ++ ++--- ++ ++--- a/lib/as3/Makefile.am +++++ b/lib/as3/Makefile.am ++@@ -28,7 +28,7 @@ install-exec-hook: ++ --console=plain ++ ++ clean-local: ++- ./gradlew $(GRADLE_OPTS) clean \ +++ echo ./gradlew $(GRADLE_OPTS) clean \ ++ -Prelease=true \ ++ --console=plain ++ $(RM) -r .gradle diff --cc debian/patches/no_pom.patch index 0000000,0000000..5b98780 new file mode 100644 --- /dev/null +++ b/debian/patches/no_pom.patch @@@ -1,0 -1,0 +1,18 @@@ ++Description: no need for ANT Maven task ++ Just disable its download. ++Author: Laszlo Boszormenyi (GCS) ++ ++--- ++ ++--- thrift-0.9.2.orig/lib/java/build.xml +++++ thrift-0.9.2/lib/java/build.xml ++@@ -295,7 +295,9 @@ ++ ++ ++ +++ ++ ++ ++ diff --cc debian/patches/no_shmem.patch index 0000000,0000000..d28554d new file mode 100644 --- /dev/null +++ b/debian/patches/no_shmem.patch @@@ -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) ++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 ++ diff --cc debian/patches/node_is_nodejs.patch index 0000000,0000000..3112c47 new file mode 100644 --- /dev/null +++ b/debian/patches/node_is_nodejs.patch @@@ -1,0 -1,0 +1,40 @@@ ++Description: node is called nodejs in Debian ++ Use the proper binary name. ++Author: Laszlo Boszormenyi (GCS) ++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 ++ diff --cc debian/patches/series index 0000000,0000000..fcd215b new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,19 @@@ ++##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 ++#golang_1.10_fix.patch ++disable_failing_tests.patch ++#go_test_fail_on_busy_machine.patch ++no_composer_install.patch ++disable_php_testing.patch ++no_go_race.patch ++no_gradlew.patch ++add_missing_test_files.patch ++missing_go_test.patch ++link_tests_atomic.patch ++Fix_wrong_int_to_string_conversions.patch diff --cc debian/php-thrift.install index 0000000,0000000..6c18341 new file mode 100644 --- /dev/null +++ b/debian/php-thrift.install @@@ -1,0 -1,0 +1,2 @@@ ++etc/php.d/thrift_protocol.ini /etc/php/7.3/mods-available/ ++usr/lib/php/ diff --cc debian/python-thrift.install index 0000000,0000000..9db1adf new file mode 100644 --- /dev/null +++ b/debian/python-thrift.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/python2.*/*-packages/*.egg-info ++usr/lib/python2.*/*-packages/thrift/ diff --cc debian/python3-thrift.install index 0000000,0000000..27f8b89 new file mode 100644 --- /dev/null +++ b/debian/python3-thrift.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/python3/*-packages/*.egg-info ++usr/lib/python3/*-packages/thrift/ diff --cc debian/rules index e209ba3,0000000..fd6f0c8 mode 100755,000000..100755 --- a/debian/rules +++ b/debian/rules @@@ -1,226 -1,0 +1,134 @@@ +#!/usr/bin/make -f +# -*- makefile -*- - # 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 + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + - # 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 ++# 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 armhf)) ++ export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed ++endif ++ ++# 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.m4 config.h config.log config.status configure \ ++ configure.scan libtool stamp-h1 \ ++ lib/cpp/*.pc lib/c_glib/thrift_c_glib.pc ++ $(RM) compiler/cpp/src/thrift/version.h \ ++ 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 ++# 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)/lib/go/test/gopath/src/github.com/golang/ ++ mkdir -p $(CURDIR)/test/go/src/golang.org/x/ ++ # symlinks for Go testing ++ ln -s /usr/share/gocode/src/github.com/golang/mock \ ++ $(CURDIR)/lib/go/test/gopath/src/github.com/golang/ ++ 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/ ++ dh_auto_test --no-parallel ++ ++override_dh_strip: ++ dh_strip -ppython3-thrift --dbg-package=python3-thrift-dbg ++ dh_strip + - # C# - $(MAKE) -C $(CURDIR)/lib/csharp - - # 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 ++%: ++ dh $@ --with python3,ruby,phpcomposer + - 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/-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-cil/usr/lib/cli/thrift/ && \ - cp $(CURDIR)/lib/csharp/Thrift.dll \ - $(CURDIR)/debian/libthrift-cil/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 ++.PHONY: override_dh_autoreconf override_dh_auto_clean \ ++ override_dh_auto_configure override_dh_auto_install \ ++ override_dh_missing override_dh_auto_test \ ++ override_dh_strip diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 0000000,0000000..b212aa1 new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -1,0 -1,0 +1,8 @@@ ++# Long lines only ++source-is-missing lib/js/test/phantom-client.js line length is 2016 characters (>512) ++source-is-missing lib/js/test/test-async.js line length is 2018 characters (>512) ++source-is-missing lib/js/test/test-es6.js line length is 2018 characters (>512) ++source-is-missing lib/js/test/test.js line length is 2018 characters (>512) ++ ++# Only one file, not the whole source ++thrift source: license-problem-php-license debian/copyright diff --cc debian/thrift-compiler.docs index 0000000,0000000..6d5ee1d new file mode 100644 --- /dev/null +++ b/debian/thrift-compiler.docs @@@ -1,0 -1,0 +1,1 @@@ ++NOTICE diff --cc debian/thrift-compiler.examples index 0000000,0000000..52685b7 new file mode 100644 --- /dev/null +++ b/debian/thrift-compiler.examples @@@ -1,0 -1,0 +1,2 @@@ ++tutorial/tutorial.thrift ++tutorial/shared.thrift diff --cc debian/thrift-compiler.install index 0000000,0000000..c703cf8 new file mode 100644 --- /dev/null +++ b/debian/thrift-compiler.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/bin/ diff --cc debian/thrift-compiler.manpages index 0000000,0000000..b3b5f6a new file mode 100644 --- /dev/null +++ b/debian/thrift-compiler.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/thrift.1 diff --cc debian/thrift-doc.install index 299950c,0000000..6d5ee1d mode 100644,000000..100644 --- a/debian/thrift-doc.install +++ b/debian/thrift-doc.install @@@ -1,2 -1,0 +1,1 @@@ - #DOCS# - ++NOTICE diff --cc debian/thrift.1 index 0000000,0000000..24da581 new file mode 100644 --- /dev/null +++ b/debian/thrift.1 @@@ -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 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 0000000,0000000..9f6ac2b new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,2 @@@ ++version=3 ++https://thrift.apache.org/download .*/thrift-(\d[\d\.]+)\.(?:tgz|tar\.(?:gz|bz2|xz))