From facf833241bab322a4d44d6676a5b66dd0ccd956 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 2 Aug 2021 11:14:30 +0000 Subject: [PATCH] Add thrift 0.13.0 as separate target --- rules/thrift_0_13_0.dep | 10 + rules/thrift_0_13_0.mk | 16 + src/thrift_0_13_0/.gitignore | 13 + src/thrift_0_13_0/Makefile | 28 ++ src/thrift_0_13_0/debian/README.md | 41 ++ src/thrift_0_13_0/debian/changelog | 99 ++++ src/thrift_0_13_0/debian/compat | 1 + src/thrift_0_13_0/debian/control | 203 +++++++++ src/thrift_0_13_0/debian/copyright | 83 ++++ src/thrift_0_13_0/debian/docs | 1 + .../debian/libthrift-0.13.0.install | 4 + .../debian/libthrift-dev.install | 20 + src/thrift_0_13_0/debian/libthrift0.install | 5 + ...Node.js_Filesever_webroot_fixed_path.patch | 60 +++ .../debian/patches/PHPUnit6_fix.patch | 51 +++ .../debian/patches/broken_boost_1.62.patch | 57 +++ .../debian/patches/cve-2017-1000487.patch | 25 ++ .../patches/disable_TLSv1_0_and_TLSv1_1.patch | 26 ++ .../patches/disable_failing_tests.patch | 249 ++++++++++ .../patches/disable_noexist_namespace.patch | 20 + .../patches/fix_boost_atomic_link.patch | 49 ++ .../go_test_fail_on_busy_machine.patch | 27 ++ .../debian/patches/golang_1.10_fix.patch | 424 ++++++++++++++++++ .../patches/golang_dependency_installed.patch | 109 +++++ .../debian/patches/link_with_zlib.patch | 42 ++ .../debian/patches/no_bundler_use.patch | 121 +++++ src/thrift_0_13_0/debian/patches/no_pom.patch | 18 + .../debian/patches/no_shmem.patch | 19 + .../debian/patches/node_is_nodejs.patch | 47 ++ src/thrift_0_13_0/debian/patches/series | 16 + .../debian/python-thrift.install | 2 + src/thrift_0_13_0/debian/rules | 99 ++++ src/thrift_0_13_0/debian/source/format | 1 + .../debian/source/lintian-overrides | 4 + src/thrift_0_13_0/debian/watch | 2 + 35 files changed, 1992 insertions(+) create mode 100644 rules/thrift_0_13_0.dep create mode 100644 rules/thrift_0_13_0.mk create mode 100644 src/thrift_0_13_0/.gitignore create mode 100644 src/thrift_0_13_0/Makefile create mode 100644 src/thrift_0_13_0/debian/README.md create mode 100644 src/thrift_0_13_0/debian/changelog create mode 100644 src/thrift_0_13_0/debian/compat create mode 100644 src/thrift_0_13_0/debian/control create mode 100644 src/thrift_0_13_0/debian/copyright create mode 100644 src/thrift_0_13_0/debian/docs create mode 100644 src/thrift_0_13_0/debian/libthrift-0.13.0.install create mode 100644 src/thrift_0_13_0/debian/libthrift-dev.install create mode 100644 src/thrift_0_13_0/debian/libthrift0.install create mode 100644 src/thrift_0_13_0/debian/patches/CVE-2018-11798_Node.js_Filesever_webroot_fixed_path.patch create mode 100644 src/thrift_0_13_0/debian/patches/PHPUnit6_fix.patch create mode 100644 src/thrift_0_13_0/debian/patches/broken_boost_1.62.patch create mode 100644 src/thrift_0_13_0/debian/patches/cve-2017-1000487.patch create mode 100644 src/thrift_0_13_0/debian/patches/disable_TLSv1_0_and_TLSv1_1.patch create mode 100644 src/thrift_0_13_0/debian/patches/disable_failing_tests.patch create mode 100644 src/thrift_0_13_0/debian/patches/disable_noexist_namespace.patch create mode 100644 src/thrift_0_13_0/debian/patches/fix_boost_atomic_link.patch create mode 100644 src/thrift_0_13_0/debian/patches/go_test_fail_on_busy_machine.patch create mode 100644 src/thrift_0_13_0/debian/patches/golang_1.10_fix.patch create mode 100644 src/thrift_0_13_0/debian/patches/golang_dependency_installed.patch create mode 100644 src/thrift_0_13_0/debian/patches/link_with_zlib.patch create mode 100644 src/thrift_0_13_0/debian/patches/no_bundler_use.patch create mode 100644 src/thrift_0_13_0/debian/patches/no_pom.patch create mode 100644 src/thrift_0_13_0/debian/patches/no_shmem.patch create mode 100644 src/thrift_0_13_0/debian/patches/node_is_nodejs.patch create mode 100644 src/thrift_0_13_0/debian/patches/series create mode 100644 src/thrift_0_13_0/debian/python-thrift.install create mode 100755 src/thrift_0_13_0/debian/rules create mode 100644 src/thrift_0_13_0/debian/source/format create mode 100644 src/thrift_0_13_0/debian/source/lintian-overrides create mode 100644 src/thrift_0_13_0/debian/watch diff --git a/rules/thrift_0_13_0.dep b/rules/thrift_0_13_0.dep new file mode 100644 index 000000000000..473880be6760 --- /dev/null +++ b/rules/thrift_0_13_0.dep @@ -0,0 +1,10 @@ + +SPATH := $($(LIBTHRIFT_0_13_0)_SRC_PATH) +DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/thrift_0_13_0.mk rules/thrift_0_13_0.dep +DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) +DEP_FILES += $(shell git ls-files $(SPATH)) + +$(LIBTHRIFT_0_13_0)_CACHE_MODE := GIT_CONTENT_SHA +$(LIBTHRIFT_0_13_0)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) +$(LIBTHRIFT_0_13_0)_DEP_FILES := $(DEP_FILES) + diff --git a/rules/thrift_0_13_0.mk b/rules/thrift_0_13_0.mk new file mode 100644 index 000000000000..8bf98f15f701 --- /dev/null +++ b/rules/thrift_0_13_0.mk @@ -0,0 +1,16 @@ +# thrift package + +THRIFT_VERSION_0_13_0 = 0.13.0 + +LIBTHRIFT_0_13_0 = libthrift_$(THRIFT_VERSION_0_13_0)_$(CONFIGURED_ARCH).deb +$(LIBTHRIFT_0_13_0)_SRC_PATH = $(SRC_PATH)/thrift_0_13_0 +SONIC_MAKE_DEBS += $(LIBTHRIFT_0_13_0) + +LIBTHRIFT_DEV_0_13_0 = libthrift-dev_$(THRIFT_VERSION_0_13_0)_$(CONFIGURED_ARCH).deb +$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(LIBTHRIFT_DEV_0_13_0))) + +PYTHON_THRIFT_0_13_0 = python-thrift_$(THRIFT_VERSION_0_13_0)_$(CONFIGURED_ARCH).deb +$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(PYTHON_THRIFT_0_13_0))) + +THRIFT_COMPILER_0_13_0 = thrift-compiler_$(THRIFT_VERSION_0_13_0)_$(CONFIGURED_ARCH).deb +$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(THRIFT_COMPILER_0_13_0))) diff --git a/src/thrift_0_13_0/.gitignore b/src/thrift_0_13_0/.gitignore new file mode 100644 index 000000000000..a850e45f50de --- /dev/null +++ b/src/thrift_0_13_0/.gitignore @@ -0,0 +1,13 @@ +!**/debian/* +# Debian byproduct files +debian/stamp-*/ +debian/*.log +debian/*.substvars +debian/.debhelper/ +debian/tmp/ +debian/autoreconf.* +debian/build/ +debian/files +debian/stamp-autotools-files + +thrift* diff --git a/src/thrift_0_13_0/Makefile b/src/thrift_0_13_0/Makefile new file mode 100644 index 000000000000..ac96e6be5f66 --- /dev/null +++ b/src/thrift_0_13_0/Makefile @@ -0,0 +1,28 @@ +SHELL = /bin/bash +.ONESHELL: +.SHELLFLAGS += -e + +THRIFT_VERSION = 0.13.0 + +MAIN_TARGET = libthrift_$(THRIFT_VERSION)_$(CONFIGURED_ARCH).deb +DERIVED_TARGETS = libthrift-dev_$(THRIFT_VERSION)_$(CONFIGURED_ARCH).deb \ + python-thrift_$(THRIFT_VERSION)_$(CONFIGURED_ARCH).deb \ + thrift-compiler_$(THRIFT_VERSION)_$(CONFIGURED_ARCH).deb + +THRIFT_ARCHIVE_URL = https://github.com/apache/thrift/archive/refs/tags/v$(THRIFT_VERSION).tar.gz + +$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : + rm -rf thrift-$(THRIFT_VERSION)* + + wget "$(THRIFT_ARCHIVE_URL)" -O thrift-$(THRIFT_VERSION).tar.gz + tar -xf thrift-$(THRIFT_VERSION).tar.gz --exclude="debian" + cp -r debian thrift-$(THRIFT_VERSION)/debian + + pushd thrift-$(THRIFT_VERSION) + + DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -d -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR) + popd + + mv $(DERIVED_TARGETS) $* $(DEST)/ + +$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET) diff --git a/src/thrift_0_13_0/debian/README.md b/src/thrift_0_13_0/debian/README.md new file mode 100644 index 000000000000..8ebfeea6db9d --- /dev/null +++ b/src/thrift_0_13_0/debian/README.md @@ -0,0 +1,41 @@ +## Some tips on Debian Packaging + +- Debian New Maintainers' Guide [http://www.debian.org/doc/debian-policy/] +- Debian Policy Manual [http://www.debian.org/doc/manuals/maint-guide/] +- Machine-readable debian/copyright file [http://dep.debian.net/deps/dep5/] +- DebSrc 3.0 guidelines [https://wiki.debian.org/Projects/DebSrc3.0] + + +## Build using dpkg-buildpackage: + +```bash +$ dpkg-buildpackage -d -tc + -d # do not check build dependencies and conflicts. + -tc # clean source tree when finished. +``` + + +## Update changelog: + +```bash +$ date -R +``` + +One can also install `devscripts` package and run: + +```bash +$ dch -i +``` + + +## Check packages: + +```bash +$ dpkg -c *.deb +$ lintian *.deb +``` + + +## TODO + +Make it perfect! diff --git a/src/thrift_0_13_0/debian/changelog b/src/thrift_0_13_0/debian/changelog new file mode 100644 index 000000000000..595220633b26 --- /dev/null +++ b/src/thrift_0_13_0/debian/changelog @@ -0,0 +1,99 @@ +thrift (0.13.0) stable; urgency=low + + * update to 0.13.0 + + -- Apache Thrift Developers Wed, 11 Nov 2019 12:00:00 -0500 + +thrift (0.12.0) stable; urgency=low + + * update to 0.12.0 + + -- Apache Thrift Developers Wed, 28 Dec 2018 12:00:00 -0500 + +thrift (0.11.0-4) unstable; urgency=medium + + * Backport upstream security fix for CVE-2018-11798: Node.js Filesever + webroot fixed path (closes: #918734). + * Update Standards-Version to 4.3.0 . + + -- Laszlo Boszormenyi (GCS) Tue, 08 Jan 2019 21:31:07 +0000 + +thrift (0.11.0-3) unstable; urgency=medium + + * Build with latest PHP package version. + * Provide PHP package without version number. + * Upload to Sid (closes: #835294). + + -- Laszlo Boszormenyi (GCS) Sat, 27 Oct 2018 20:57:18 +0000 + +thrift (0.11.0-2) experimental; urgency=medium + + * Disable failing Python self-tests to fix mips and s390x FTBFS. + + -- Laszlo Boszormenyi (GCS) 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 --git a/src/thrift_0_13_0/debian/compat b/src/thrift_0_13_0/debian/compat new file mode 100644 index 000000000000..ec635144f600 --- /dev/null +++ b/src/thrift_0_13_0/debian/compat @@ -0,0 +1 @@ +9 diff --git a/src/thrift_0_13_0/debian/control b/src/thrift_0_13_0/debian/control new file mode 100644 index 000000000000..be8e5ad5f2d7 --- /dev/null +++ b/src/thrift_0_13_0/debian/control @@ -0,0 +1,203 @@ +Source: thrift +Section: devel +Priority: optional +Maintainer: Laszlo Boszormenyi (GCS) +Build-Depends: debhelper (>= 9), dh-python, + dh-golang, golang-golang-x-net-dev, + gem2deb (>= 0.3.0~), + cmake (>= 3.3), + libboost-all-dev (>= 1.61.0), libevent-dev, zlib1g-dev, + libssl-dev, + libglib2.0-dev, + qtbase5-dev, + python-all-dev (>= 2.6.6-3~), python-twisted, python-six, + python3-six, + golang-go, golang-github-golang-mock-dev, + pkg-php-tools (>= 1.14~), php-dev, phpunit, + 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 +Build-Depends-Indep: composer +Standards-Version: 4.3.0 +Homepage: https://thrift.apache.org/ +XS-Ruby-Versions: ruby2.2 + +Package: libthrift +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +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 contains the runtime libraries needed for C++ applications + using Thrift. + +Package: libthrift-dev +Architecture: any +Section: libdevel +Depends: libthrift (= ${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 development libraries required for writing C++ + applications using Thrift. + +Package: libthrift-c-glib0 +Section: libs +Architecture: any +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 contains the glib based runtime libraries needed for C + applications using Thrift. + +Package: libthrift-c-glib-dev +Architecture: any +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 development libraries required for writing glib + based C applications using Thrift. + +Package: thrift-compiler +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: thrift-compiler (<= 0.9.1-2) +Replaces: thrift-compiler (<= 0.9.1-2) +Description: code generator/compiler for Thrift definitions + Thrift is a software framework for the development of reliable and + performant communication and data serialization. It combines a software + stack with code generation to build services that operate seamlessly + across a number of different development languages. + . + This package contains the compiler used to generate language code from + Thrift definition files. + +Package: python-thrift +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} +Provides: ${python:Provides} +XB-Python-Version: ${python:Versions} +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: 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: ${phpcomposer:Debian-require}, ${misc:Depends} +# Provides: ${php:Provides} +# Conflicts: php7.0-thrift, php7.2-thrift +# Replaces: php7.0-thrift, php7.2-thrift +# Description: PHP language support for Thrift +# Thrift is a software framework for the development of reliable and +# performant communication and data serialization. It combines a software +# stack with code generation to build services that operate seamlessly +# across a number of different development languages. +# . +# 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 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 --git a/src/thrift_0_13_0/debian/copyright b/src/thrift_0_13_0/debian/copyright new file mode 100644 index 000000000000..0344ac3cbe4e --- /dev/null +++ b/src/thrift_0_13_0/debian/copyright @@ -0,0 +1,83 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: thrift-compiler +Source: https://www.apache.org/dist/thrift + +Files: * +Copyright: Copyright 2006- Apache Software Foundation +License: Apache-2.0 + +Files: compiler/cpp/src/md5.* +Copyright: Copyright (C) 1999, 2002 Aladdin Enterprises. +License: Zlib + 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. + +Files: compiler/cpp/thrifty.cc +Copyright: Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. +License: GPL-3+ or Apache-2.0 + +Files: compiler/cpp/thrifty.hh +Copyright: Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. +License: GPL-3+ + +Files: debian/* +Copyright: Copyright 2014- Laszlo Boszormenyi (GCS) , + Copyright 2012-2014 Eric Evans +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: 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 --git a/src/thrift_0_13_0/debian/docs b/src/thrift_0_13_0/debian/docs new file mode 100644 index 000000000000..b43bf86b50fd --- /dev/null +++ b/src/thrift_0_13_0/debian/docs @@ -0,0 +1 @@ +README.md diff --git a/src/thrift_0_13_0/debian/libthrift-0.13.0.install b/src/thrift_0_13_0/debian/libthrift-0.13.0.install new file mode 100644 index 000000000000..d0b0147984b4 --- /dev/null +++ b/src/thrift_0_13_0/debian/libthrift-0.13.0.install @@ -0,0 +1,4 @@ +usr/lib/*/libthrift-*.so +usr/lib/*/libthriftnb-*.so +usr/lib/*/libthriftqt5-*.so +usr/lib/*/libthriftz-*.so diff --git a/src/thrift_0_13_0/debian/libthrift-dev.install b/src/thrift_0_13_0/debian/libthrift-dev.install new file mode 100644 index 000000000000..54e3e1306c05 --- /dev/null +++ b/src/thrift_0_13_0/debian/libthrift-dev.install @@ -0,0 +1,20 @@ +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 --git a/src/thrift_0_13_0/debian/libthrift0.install b/src/thrift_0_13_0/debian/libthrift0.install new file mode 100644 index 000000000000..ec74efc5c0ad --- /dev/null +++ b/src/thrift_0_13_0/debian/libthrift0.install @@ -0,0 +1,5 @@ +usr/lib/libthrift.so* +usr/lib/libthrift-*.so* +usr/lib/libthriftnb*.so* +usr/lib/libthriftqt*.so* +usr/lib/libthriftz*.so* diff --git a/src/thrift_0_13_0/debian/patches/CVE-2018-11798_Node.js_Filesever_webroot_fixed_path.patch b/src/thrift_0_13_0/debian/patches/CVE-2018-11798_Node.js_Filesever_webroot_fixed_path.patch new file mode 100644 index 000000000000..88ac950353b9 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/CVE-2018-11798_Node.js_Filesever_webroot_fixed_path.patch @@ -0,0 +1,60 @@ +From 2a2b72f6c8aef200ecee4984f011e06052288ff2 Mon Sep 17 00:00:00 2001 +From: jfarrell +Date: Thu, 4 Oct 2018 23:00:28 -0400 +Subject: [PATCH] Thrift-4647: Node.js Filesever webroot fixed path + +Updates the node.js fileserver to have a fixed based webroot which can +not be escaped by end users. +--- + lib/js/test/server_http.js | 2 +- + lib/js/test/server_https.js | 2 +- + lib/nodejs/lib/thrift/web_server.js | 10 +++++++++- + 3 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/lib/js/test/server_http.js b/lib/js/test/server_http.js +index d04f578ae1..8380c3a773 100644 +--- a/lib/js/test/server_http.js ++++ b/lib/js/test/server_http.js +@@ -36,7 +36,7 @@ var ThriftTestSvcOpt = { + }; + + var ThriftWebServerOptions = { +- files: '.', ++ files: __dirname, + services: { + '/service': ThriftTestSvcOpt + } +diff --git a/lib/js/test/server_https.js b/lib/js/test/server_https.js +index 504f3b5c4f..1a171dde6f 100644 +--- a/lib/js/test/server_https.js ++++ b/lib/js/test/server_https.js +@@ -40,7 +40,7 @@ var ThriftTestSvcOpt = { + }; + + var ThriftWebServerOptions = { +- files: '.', ++ files: __dirname, + tls: { + key: fs.readFileSync('../../../test/keys/server.key'), + cert: fs.readFileSync('../../../test/keys/server.crt') +diff --git a/lib/nodejs/lib/thrift/web_server.js b/lib/nodejs/lib/thrift/web_server.js +index 0093c8a082..a33f47aedb 100644 +--- a/lib/nodejs/lib/thrift/web_server.js ++++ b/lib/nodejs/lib/thrift/web_server.js +@@ -415,7 +415,15 @@ exports.createWebServer = function(optio + + //Locate the file requested and send it + var uri = url.parse(request.url).pathname; +- var filename = path.join(baseDir, uri); ++ var filename = path.resolve(path.join(baseDir, uri)); ++ ++ //Ensure the basedir path is not able to be escaped ++ if (filename.indexOf(baseDir) != 0) { ++ response.writeHead(400, "Invalid request path", {}); ++ response.end(); ++ return; ++ } ++ + fs.exists(filename, function(exists) { + if(!exists) { + response.writeHead(404); diff --git a/src/thrift_0_13_0/debian/patches/PHPUnit6_fix.patch b/src/thrift_0_13_0/debian/patches/PHPUnit6_fix.patch new file mode 100644 index 000000000000..8c4e73a7ccba --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/PHPUnit6_fix.patch @@ -0,0 +1,51 @@ +Description: fix PHPUnit 6+ extend format + Subclassed TestCase. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-20 + +--- + +--- thrift-0.11.0.orig/lib/php/test/Test/Thrift/Protocol/TestTJSONProtocol.php ++++ thrift-0.11.0/lib/php/test/Test/Thrift/Protocol/TestTJSONProtocol.php +@@ -46,7 +46,7 @@ $loader->register(); + * --out ./packages ../../../test/ThriftTest.thrift + */ + +-class TestTJSONProtocol extends \PHPUnit_Framework_TestCase ++class TestTJSONProtocol extends \PHPUnit\Framework\TestCase + { + private $transport; + private $protocol; +--- thrift-0.11.0.orig/lib/php/test/Test/Thrift/Protocol/TestBinarySerializer.php ++++ thrift-0.11.0/lib/php/test/Test/Thrift/Protocol/TestBinarySerializer.php +@@ -42,7 +42,7 @@ $loader->register(); + * --out ./packages ../../../test/ThriftTest.thrift + */ + +-class TestBinarySerializer extends \PHPUnit_Framework_TestCase ++class TestBinarySerializer extends \PHPUnit\Framework\TestCase + { + + public function setUp() +--- thrift-0.11.0.orig/lib/php/test/Test/Thrift/JsonSerialize/JsonSerializeTest.php ++++ thrift-0.11.0/lib/php/test/Test/Thrift/JsonSerialize/JsonSerializeTest.php +@@ -31,7 +31,7 @@ $loader->registerNamespace('Test', __DIR + $loader->registerDefinition('ThriftTest', __DIR__ . '/../../../packages/phpjs'); + $loader->register(); + +-class JsonSerializeTest extends \PHPUnit_Framework_TestCase ++class JsonSerializeTest extends \PHPUnit\Framework\TestCase + { + protected function setUp() { + if (version_compare(phpversion(), '5.4', '<')) { +--- thrift-0.11.0.orig/lib/php/test/Test/Thrift/Protocol/TestTSimpleJSONProtocol.php ++++ thrift-0.11.0/lib/php/test/Test/Thrift/Protocol/TestTSimpleJSONProtocol.php +@@ -46,7 +46,7 @@ $loader->register(); + * --out ./packages ../../../test/ThriftTest.thrift + */ + +-class TestTSimpleJSONProtocol extends \PHPUnit_Framework_TestCase ++class TestTSimpleJSONProtocol extends \PHPUnit\Framework\TestCase + { + private $transport; + private $protocol; diff --git a/src/thrift_0_13_0/debian/patches/broken_boost_1.62.patch b/src/thrift_0_13_0/debian/patches/broken_boost_1.62.patch new file mode 100644 index 000000000000..162d6fe598a2 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/broken_boost_1.62.patch @@ -0,0 +1,57 @@ +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.10.0-1) experimental; urgency=low + . + * New 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: 2017-05-13 + +--- thrift-0.10.0.orig/lib/cpp/test/Makefile.am ++++ thrift-0.10.0/lib/cpp/test/Makefile.am +@@ -99,9 +99,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) +--- thrift-0.10.0.orig/lib/cpp/test/Makefile.in ++++ thrift-0.10.0/lib/cpp/test/Makefile.in +@@ -698,9 +698,10 @@ Benchmark_SOURCES = \ + + Benchmark_LDADD = libtestgencpp.la + 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 --git a/src/thrift_0_13_0/debian/patches/cve-2017-1000487.patch b/src/thrift_0_13_0/debian/patches/cve-2017-1000487.patch new file mode 100644 index 000000000000..ee9a18d150ae --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/cve-2017-1000487.patch @@ -0,0 +1,25 @@ +From 99d698c5247284319248e287bbce2762490fb70b Mon Sep 17 00:00:00 2001 +From: xumia +Date: Mon, 29 Mar 2021 09:57:38 +0000 +Subject: [PATCH] Fix CVE-2017-1000487 security alert + +--- + contrib/thrift-maven-plugin/pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/contrib/thrift-maven-plugin/pom.xml b/contrib/thrift-maven-plugin/pom.xml +index 76d0d4f3a..7313b69bf 100644 +--- a/contrib/thrift-maven-plugin/pom.xml ++++ b/contrib/thrift-maven-plugin/pom.xml +@@ -75,7 +75,7 @@ + + org.codehaus.plexus + plexus-utils +- 3.0.14 ++ 3.0.16 + + + org.mockito +-- +2.17.1 + diff --git a/src/thrift_0_13_0/debian/patches/disable_TLSv1_0_and_TLSv1_1.patch b/src/thrift_0_13_0/debian/patches/disable_TLSv1_0_and_TLSv1_1.patch new file mode 100644 index 000000000000..3b6cceb9fb7d --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/disable_TLSv1_0_and_TLSv1_1.patch @@ -0,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 --git a/src/thrift_0_13_0/debian/patches/disable_failing_tests.patch b/src/thrift_0_13_0/debian/patches/disable_failing_tests.patch new file mode 100644 index 000000000000..3e8e926e3d64 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/disable_failing_tests.patch @@ -0,0 +1,249 @@ +Description: disable failing tests + These fail in chroots or uses deprecated (and removed) Python interfaces. + Some may not, but amd64 or other 64 bit arch only. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-23 + +--- + +--- thrift-0.11.0.orig/lib/c_glib/test/Makefile.am ++++ thrift-0.11.0/lib/c_glib/test/Makefile.am +@@ -45,9 +45,8 @@ AM_LDFLAGS = $(GLIB_LIBS) $(GOBJECT_LIBS + check_PROGRAMS = \ + testserialization \ + testapplicationexception \ +- testcontainertest \ ++# testcontainertest \ + testtransportsocket \ +- testtransportsslsocket \ + testbinaryprotocol \ + testcompactprotocol \ + testbufferedtransport \ +--- thrift-0.11.0.orig/lib/c_glib/test/Makefile.in ++++ thrift-0.11.0/lib/c_glib/test/Makefile.in +@@ -88,8 +88,8 @@ POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ + check_PROGRAMS = testserialization$(EXEEXT) \ +- testapplicationexception$(EXEEXT) testcontainertest$(EXEEXT) \ +- testtransportsocket$(EXEEXT) testtransportsslsocket$(EXEEXT) \ ++ testapplicationexception$(EXEEXT) \ ++ testtransportsocket$(EXEEXT) \ + testbinaryprotocol$(EXEEXT) testcompactprotocol$(EXEEXT) \ + testbufferedtransport$(EXEEXT) testframedtransport$(EXEEXT) \ + testfdtransport$(EXEEXT) testmemorybuffer$(EXEEXT) \ +--- thrift-0.11.0.orig/lib/cpp/test/Makefile.am ++++ thrift-0.11.0/lib/cpp/test/Makefile.am +@@ -87,7 +87,6 @@ check_PROGRAMS = \ + TransportTest \ + TInterruptTest \ + TServerIntegrationTest \ +- SecurityTest \ + ZlibTest \ + TFileTransportTest \ + link_test \ +--- thrift-0.11.0.orig/lib/cpp/test/Makefile.in ++++ thrift-0.11.0/lib/cpp/test/Makefile.in +@@ -97,7 +97,7 @@ check_PROGRAMS = UnitTests$(EXEEXT) TFDT + RecursiveTest$(EXEEXT) SpecializationTest$(EXEEXT) \ + AllProtocolsTest$(EXEEXT) TransportTest$(EXEEXT) \ + TInterruptTest$(EXEEXT) TServerIntegrationTest$(EXEEXT) \ +- SecurityTest$(EXEEXT) ZlibTest$(EXEEXT) \ ++ ZlibTest$(EXEEXT) \ + TFileTransportTest$(EXEEXT) link_test$(EXEEXT) \ + OpenSSLManualInitTest$(EXEEXT) EnumTest$(EXEEXT) \ + AnnotationTest$(EXEEXT) $(am__EXEEXT_1) +--- thrift-0.11.0.orig/lib/py/Makefile.am ++++ thrift-0.11.0/lib/py/Makefile.am +@@ -24,7 +24,7 @@ py3-build: + $(PYTHON3) setup.py build + py3-test: py3-build + $(PYTHON3) test/thrift_json.py +- $(PYTHON3) test/test_sslsocket.py ++ echo $(PYTHON3) test/test_sslsocket.py + else + py3-build: + py3-test: +@@ -45,7 +45,7 @@ clean-local: + + check-local: all py3-test + $(PYTHON) test/thrift_json.py +- $(PYTHON) test/test_sslsocket.py ++ echo $(PYTHON) test/test_sslsocket.py + + EXTRA_DIST = \ + CMakeLists.txt \ +--- thrift-0.11.0.orig/lib/py/Makefile.in ++++ thrift-0.11.0/lib/py/Makefile.in +@@ -637,7 +637,7 @@ DESTDIR ?= / + @WITH_PY3_TRUE@ $(PYTHON3) setup.py build + @WITH_PY3_TRUE@py3-test: py3-build + @WITH_PY3_TRUE@ $(PYTHON3) test/thrift_json.py +-@WITH_PY3_TRUE@ $(PYTHON3) test/test_sslsocket.py ++#@WITH_PY3_TRUE@ $(PYTHON3) test/test_sslsocket.py + @WITH_PY3_FALSE@py3-build: + @WITH_PY3_FALSE@py3-test: + +@@ -656,7 +656,7 @@ clean-local: + + check-local: all py3-test + $(PYTHON) test/thrift_json.py +- $(PYTHON) test/test_sslsocket.py ++ echo $(PYTHON) test/test_sslsocket.py + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +--- thrift-0.11.0.orig/test/py.tornado/Makefile ++++ thrift-0.11.0/test/py.tornado/Makefile +@@ -618,11 +618,11 @@ uninstall-am: + + + thrift_gen: ../ThriftTest.thrift ../SmallTest.thrift +- $(THRIFT) --gen py:tornado ../ThriftTest.thrift +- $(THRIFT) --gen py:tornado ../SmallTest.thrift ++# $(THRIFT) --gen py:tornado ../ThriftTest.thrift ++# $(THRIFT) --gen py:tornado ../SmallTest.thrift + + check: thrift_gen +- ./test_suite.py ++# ./test_suite.py + + clean-local: + $(RM) -r gen-py.tornado +--- thrift-0.11.0.orig/test/py.tornado/Makefile.am ++++ thrift-0.11.0/test/py.tornado/Makefile.am +@@ -20,11 +20,11 @@ + THRIFT = $(top_srcdir)/compiler/cpp/thrift + + thrift_gen: ../ThriftTest.thrift ../SmallTest.thrift +- $(THRIFT) --gen py:tornado ../ThriftTest.thrift +- $(THRIFT) --gen py:tornado ../SmallTest.thrift ++# $(THRIFT) --gen py:tornado ../ThriftTest.thrift ++# $(THRIFT) --gen py:tornado ../SmallTest.thrift + + check: thrift_gen +- ./test_suite.py ++# ./test_suite.py + + clean-local: + $(RM) -r gen-py.tornado +--- thrift-0.11.0.orig/test/py.tornado/Makefile.in ++++ thrift-0.11.0/test/py.tornado/Makefile.in +@@ -618,11 +618,11 @@ uninstall-am: + + + thrift_gen: ../ThriftTest.thrift ../SmallTest.thrift +- $(THRIFT) --gen py:tornado ../ThriftTest.thrift +- $(THRIFT) --gen py:tornado ../SmallTest.thrift ++# $(THRIFT) --gen py:tornado ../ThriftTest.thrift ++# $(THRIFT) --gen py:tornado ../SmallTest.thrift + + check: thrift_gen +- ./test_suite.py ++# ./test_suite.py + + clean-local: + $(RM) -r gen-py.tornado +--- thrift-0.11.0.orig/test/py/RunClientServer.py ++++ thrift-0.11.0/test/py/RunClientServer.py +@@ -60,7 +60,7 @@ PROTOS = [ + + def default_servers(): + servers = [ +- 'TSimpleServer', ++# 'TSimpleServer', + 'TThreadedServer', + 'TThreadPoolServer', + 'TNonblockingServer', +--- thrift-0.11.0.orig/lib/php/test/Makefile.am ++++ thrift-0.11.0/lib/php/test/Makefile.am +@@ -40,7 +40,7 @@ check-protocol: stubs + if HAVE_PHPUNIT + $(PHPUNIT) --log-junit=TEST-log-json-protocol.xml Test/Thrift/Protocol/TestTJSONProtocol.php + $(PHPUNIT) --log-junit=TEST-binary-serializer.xml Test/Thrift/Protocol/TestBinarySerializer.php +- $(PHPUNIT) --log-junit=TEST-log-simple-json-protocol.xml Test/Thrift/Protocol/TestTSimpleJSONProtocol.php ++# $(PHPUNIT) --log-junit=TEST-log-simple-json-protocol.xml Test/Thrift/Protocol/TestTSimpleJSONProtocol.php + endif + + check: stubs \ +--- thrift-0.11.0.orig/lib/php/test/Makefile.in ++++ thrift-0.11.0/lib/php/test/Makefile.in +@@ -641,7 +641,7 @@ check-validator: stubs + check-protocol: stubs + @HAVE_PHPUNIT_TRUE@ $(PHPUNIT) --log-junit=TEST-log-json-protocol.xml Test/Thrift/Protocol/TestTJSONProtocol.php + @HAVE_PHPUNIT_TRUE@ $(PHPUNIT) --log-junit=TEST-binary-serializer.xml Test/Thrift/Protocol/TestBinarySerializer.php +-@HAVE_PHPUNIT_TRUE@ $(PHPUNIT) --log-junit=TEST-log-simple-json-protocol.xml Test/Thrift/Protocol/TestTSimpleJSONProtocol.php ++#@HAVE_PHPUNIT_TRUE@ $(PHPUNIT) --log-junit=TEST-log-simple-json-protocol.xml Test/Thrift/Protocol/TestTSimpleJSONProtocol.php + + check: stubs \ + check-protocol \ +--- thrift-0.11.0.orig/lib/go/Makefile.am ++++ thrift-0.11.0/lib/go/Makefile.am +@@ -32,7 +32,7 @@ install: + + check-local: + # GOPATH=`pwd` $(GO) get golang.org/x/net/context +- GOPATH=`pwd` $(GO) test -race ./thrift ++ GOPATH=`pwd` $(GO) test -race ./thrift || true + + clean-local: + $(RM) -rf pkg +--- thrift-0.11.0.orig/lib/go/Makefile.in ++++ thrift-0.11.0/lib/go/Makefile.in +@@ -814,7 +814,7 @@ install: + + check-local: + # GOPATH=`pwd` $(GO) get golang.org/x/net/context +- GOPATH=`pwd` $(GO) test -race ./thrift ++ GOPATH=`pwd` $(GO) test -race ./thrift || true + + clean-local: + $(RM) -rf pkg +--- thrift-0.11.0.orig/test/py/FastbinaryTest.py ++++ thrift-0.11.0/test/py/FastbinaryTest.py +@@ -251,6 +251,6 @@ if __name__ == '__main__': + print('Testing TBinaryAccelerated') + do_test(TBinaryProtocolAccelerated, TBinaryProtocol) + do_benchmark('TBinaryProtocol') +- print('Testing TCompactAccelerated') +- do_test(TCompactProtocolAccelerated, TCompactProtocol) +- do_benchmark('TCompactProtocol') ++# print('Testing TCompactAccelerated') ++# do_test(TCompactProtocolAccelerated, TCompactProtocol) ++# do_benchmark('TCompactProtocol') +--- thrift-0.11.0.orig/test/py/SerializationTest.py ++++ thrift-0.11.0/test/py/SerializationTest.py +@@ -221,7 +221,7 @@ class AbstractTest(unittest.TestCase): + + def testSerializeV2(self): + obj = self._deserialize(VersioningTestV2, self._serialize(self.v2obj)) +- self.assertEquals(obj, self.v2obj) ++# self.assertEquals(obj, self.v2obj) + + def testBools(self): + self.assertNotEquals(self.bools, self.bools_flipped) +@@ -273,7 +273,7 @@ class AbstractTest(unittest.TestCase): + def testCompactStruct(self): + # test large field deltas (meaningful in CompactProto only) + obj = self._deserialize(CompactProtoTestStruct, self._serialize(self.compact_struct)) +- self.assertEquals(obj, self.compact_struct) ++# self.assertEquals(obj, self.compact_struct) + rep = repr(self.compact_struct) + self.assertTrue(len(rep) > 0) + +--- thrift-0.11.0.orig/test/py/TestClient.py ++++ thrift-0.11.0/test/py/TestClient.py +@@ -119,10 +119,10 @@ class AbstractTest(unittest.TestCase): + + def testDouble(self): + print('testDouble') +- self.assertEqual(self.client.testDouble(-5.235098235), -5.235098235) ++# self.assertEqual(self.client.testDouble(-5.235098235), -5.235098235) + self.assertEqual(self.client.testDouble(0), 0) +- self.assertEqual(self.client.testDouble(-1), -1) +- self.assertEqual(self.client.testDouble(-0.000341012439638598279), -0.000341012439638598279) ++# self.assertEqual(self.client.testDouble(-1), -1) ++# self.assertEqual(self.client.testDouble(-0.000341012439638598279), -0.000341012439638598279) + + def testBinary(self): + print('testBinary') diff --git a/src/thrift_0_13_0/debian/patches/disable_noexist_namespace.patch b/src/thrift_0_13_0/debian/patches/disable_noexist_namespace.patch new file mode 100644 index 000000000000..16a96d37356f --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/disable_noexist_namespace.patch @@ -0,0 +1,20 @@ +Description: disable noexist namespace + It doesn't give a warning, but fails to test. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-22 + +--- + +--- thrift-0.11.0.orig/test/ThriftTest.thrift ++++ thrift-0.11.0/test/ThriftTest.thrift +@@ -41,8 +41,8 @@ namespace netcore ThriftAsync.Test + + // Presence of namespaces and sub-namespaces for which there is + // no generator should compile with warnings only +-namespace noexist ThriftTest +-namespace cpp.noexist ThriftTest ++//namespace noexist ThriftTest ++//namespace cpp.noexist ThriftTest + + namespace * thrift.test + diff --git a/src/thrift_0_13_0/debian/patches/fix_boost_atomic_link.patch b/src/thrift_0_13_0/debian/patches/fix_boost_atomic_link.patch new file mode 100644 index 000000000000..97b1044f8496 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/fix_boost_atomic_link.patch @@ -0,0 +1,49 @@ +Description: add Boost::Atomic to link with + Some architectures need this explicitly. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-23 + +--- + +--- thrift-0.11.0.orig/compiler/cpp/Makefile.am ++++ thrift-0.11.0/compiler/cpp/Makefile.am +@@ -122,6 +122,7 @@ lib_LTLIBRARIES = libthriftc.la + + thrift_CPPFLAGS += -DTHRIFT_ENABLE_PLUGIN=1 + thrift_LDADD += libthriftc.la ++thrift_LDADD += -lboost_atomic + + nodist_libthriftc_la_SOURCES = $(plugin_gen) + libthriftc_la_SOURCES = $(compiler_core) \ +--- thrift-0.11.0.orig/compiler/cpp/Makefile.in ++++ thrift-0.11.0/compiler/cpp/Makefile.in +@@ -818,6 +818,7 @@ thrift_SOURCES = src/thrift/main.h src/t + thrift_CPPFLAGS = -I$(srcdir)/src $(am__append_3) + thrift_CXXFLAGS = -Wall -Wextra -pedantic -Werror + thrift_LDADD = @LEXLIB@ src/thrift/libparse.a $(am__append_4) ++thrift_LDADD += -lboost_atomic + @WITH_PLUGIN_TRUE@lib_LTLIBRARIES = libthriftc.la + @WITH_PLUGIN_TRUE@nodist_libthriftc_la_SOURCES = $(plugin_gen) + @WITH_PLUGIN_TRUE@libthriftc_la_SOURCES = $(compiler_core) \ +--- thrift-0.11.0.orig/lib/cpp/Makefile.am ++++ thrift-0.11.0/lib/cpp/Makefile.am +@@ -40,7 +40,7 @@ pkgconfigdir = $(libdir)/pkgconfig + lib_LTLIBRARIES = libthrift.la + pkgconfig_DATA = thrift.pc + libthrift_la_LDFLAGS = -release $(VERSION) +-libthrift_la_LIBADD = $(BOOST_LDFLAGS) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) ++libthrift_la_LIBADD = $(BOOST_LDFLAGS) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) -lboost_atomic + + ## We only build the extra libraries if we have the dependencies, + ## but we install all of the headers unconditionally. +--- thrift-0.11.0.orig/lib/cpp/Makefile.in ++++ thrift-0.11.0/lib/cpp/Makefile.in +@@ -736,7 +736,7 @@ lib_LTLIBRARIES = libthrift.la $(am__app + pkgconfig_DATA = thrift.pc $(am__append_3) $(am__append_5) \ + $(am__append_7) $(am__append_9) + libthrift_la_LDFLAGS = -release $(VERSION) +-libthrift_la_LIBADD = $(BOOST_LDFLAGS) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) ++libthrift_la_LIBADD = $(BOOST_LDFLAGS) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) -lboost_atomic + AM_CXXFLAGS = -Wall -Wextra -pedantic + AM_CPPFLAGS = $(BOOST_CPPFLAGS) $(OPENSSL_INCLUDES) -I$(srcdir)/src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS + diff --git a/src/thrift_0_13_0/debian/patches/go_test_fail_on_busy_machine.patch b/src/thrift_0_13_0/debian/patches/go_test_fail_on_busy_machine.patch new file mode 100644 index 000000000000..8bf872611c11 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/go_test_fail_on_busy_machine.patch @@ -0,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 --git a/src/thrift_0_13_0/debian/patches/golang_1.10_fix.patch b/src/thrift_0_13_0/debian/patches/golang_1.10_fix.patch new file mode 100644 index 000000000000..13f30233737e --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/golang_1.10_fix.patch @@ -0,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 --git a/src/thrift_0_13_0/debian/patches/golang_dependency_installed.patch b/src/thrift_0_13_0/debian/patches/golang_dependency_installed.patch new file mode 100644 index 000000000000..a4ad3ccf225b --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/golang_dependency_installed.patch @@ -0,0 +1,109 @@ +Description: golang dependencies already installed as build dependency +Forwarded: no +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-20 + +--- + +--- thrift-0.11.0.orig/lib/go/Makefile.am ++++ thrift-0.11.0/lib/go/Makefile.am +@@ -31,14 +31,14 @@ install: + @echo '##############################################################' + + check-local: +- GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context + GOPATH=`pwd` $(GO) test -race ./thrift + + clean-local: + $(RM) -rf pkg + + all-local: +- GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context + GOPATH=`pwd` $(GO) build ./thrift + + EXTRA_DIST = \ +--- thrift-0.11.0.orig/lib/go/Makefile.in ++++ thrift-0.11.0/lib/go/Makefile.in +@@ -813,14 +813,14 @@ install: + @echo '##############################################################' + + check-local: +- GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context + GOPATH=`pwd` $(GO) test -race ./thrift + + clean-local: + $(RM) -rf pkg + + all-local: +- GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context + GOPATH=`pwd` $(GO) build ./thrift + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +--- thrift-0.11.0.orig/lib/go/test/Makefile.am ++++ thrift-0.11.0/lib/go/test/Makefile.am +@@ -59,10 +59,10 @@ gopath: $(THRIFT) $(THRIFTTEST) \ + $(THRIFT) $(THRIFTARGS) InitialismsTest.thrift + $(THRIFT) $(THRIFTARGS),read_write_private DontExportRWTest.thrift + $(THRIFT) $(THRIFTARGS),ignore_initialisms IgnoreInitialismsTest.thrift +- GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context +- GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true ++# GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context ++# 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 ++# 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.11.0.orig/lib/go/test/Makefile.in ++++ thrift-0.11.0/lib/go/test/Makefile.in +@@ -675,10 +675,10 @@ gopath: $(THRIFT) $(THRIFTTEST) \ + $(THRIFT) $(THRIFTARGS) InitialismsTest.thrift + $(THRIFT) $(THRIFTARGS),read_write_private DontExportRWTest.thrift + $(THRIFT) $(THRIFTARGS),ignore_initialisms IgnoreInitialismsTest.thrift +- GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context +- GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true ++# GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context ++# 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 ++# 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.11.0.orig/test/go/Makefile.am ++++ thrift-0.11.0/test/go/Makefile.am +@@ -37,10 +37,10 @@ gopath: $(THRIFT) ThriftTest.thrift + mkdir -p src/gen + $(THRIFTCMD) ThriftTest.thrift + $(THRIFTCMD) ../StressTest.thrift +- GOPATH=`pwd` $(GO) get golang.org/x/net/context +- GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# 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 ++# GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock + ln -nfs ../../../lib/go/thrift src/thrift + touch gopath + +--- thrift-0.11.0.orig/test/go/Makefile.in ++++ thrift-0.11.0/test/go/Makefile.in +@@ -641,10 +641,10 @@ gopath: $(THRIFT) ThriftTest.thrift + mkdir -p src/gen + $(THRIFTCMD) ThriftTest.thrift + $(THRIFTCMD) ../StressTest.thrift +- GOPATH=`pwd` $(GO) get golang.org/x/net/context +- GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true ++# GOPATH=`pwd` $(GO) get golang.org/x/net/context ++# 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 ++# GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock + ln -nfs ../../../lib/go/thrift src/thrift + touch gopath + diff --git a/src/thrift_0_13_0/debian/patches/link_with_zlib.patch b/src/thrift_0_13_0/debian/patches/link_with_zlib.patch new file mode 100644 index 000000000000..f421c3af1530 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/link_with_zlib.patch @@ -0,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 --git a/src/thrift_0_13_0/debian/patches/no_bundler_use.patch b/src/thrift_0_13_0/debian/patches/no_bundler_use.patch new file mode 100644 index 000000000000..26b1ab390d6a --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/no_bundler_use.patch @@ -0,0 +1,121 @@ +Description: do not use bundler as per Ruby policy + . +Author: Laszlo Boszormenyi (GCS) +Bug-Debian: https://bugs.debian.org/804668 + +--- +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: + +--- thrift-0.9.3.orig/lib/rb/Makefile.am ++++ thrift-0.9.3/lib/rb/Makefile.am +@@ -22,19 +22,23 @@ 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 + + check-local: all +- $(BUNDLER) install +- $(BUNDLER) exec rake ++ echo Do not use bundler for check-local ++# $(BUNDLER) install ++# $(BUNDLER) exec rake + + endif + +--- thrift-0.9.3.orig/lib/rb/Makefile.in ++++ thrift-0.9.3/lib/rb/Makefile.in +@@ -605,19 +605,19 @@ uninstall-am: + DESTDIR ?= / + + @HAVE_BUNDLER_TRUE@all-local: +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) install +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) exec rake build_ext ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) install ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) exec rake build_ext + + @HAVE_BUNDLER_TRUE@install-exec-hook: +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) exec rake install ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) exec rake install + + @HAVE_BUNDLER_TRUE@clean-local: +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) install +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) exec rake clean ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) install ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) exec rake clean + + @HAVE_BUNDLER_TRUE@check-local: all +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) install +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) exec rake ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) install ++@HAVE_BUNDLER_TRUE@ echo No $(BUNDLER) exec rake + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +--- thrift-0.9.3.orig/test/rb/Makefile ++++ thrift-0.9.3/test/rb/Makefile +@@ -591,8 +591,9 @@ stubs: $(THRIFT) ../ThriftTest.thrift .. + precross: stubs + + check: stubs +- $(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 + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +--- thrift-0.9.3.orig/test/rb/Makefile.am ++++ thrift-0.9.3/test/rb/Makefile.am +@@ -27,7 +27,8 @@ 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 + +--- thrift-0.9.3.orig/test/rb/Makefile.in ++++ thrift-0.9.3/test/rb/Makefile.in +@@ -591,8 +591,9 @@ stubs: $(THRIFT) ../ThriftTest.thrift .. + precross: stubs + + check: stubs +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) install +-@HAVE_BUNDLER_TRUE@ $(BUNDLER) exec $(RUBY) -I. test_suite.rb ++@HAVE_BUNDLER_TRUE@ echo Do not use bundler for check ++@HAVE_BUNDLER_TRUE@ #$(BUNDLER) install ++@HAVE_BUNDLER_TRUE@ #$(BUNDLER) exec $(RUBY) -I. test_suite.rb + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/src/thrift_0_13_0/debian/patches/no_pom.patch b/src/thrift_0_13_0/debian/patches/no_pom.patch new file mode 100644 index 000000000000..5b98780bf993 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/no_pom.patch @@ -0,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 --git a/src/thrift_0_13_0/debian/patches/no_shmem.patch b/src/thrift_0_13_0/debian/patches/no_shmem.patch new file mode 100644 index 000000000000..046897041560 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/no_shmem.patch @@ -0,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 +@@ -67,7 +67,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 --git a/src/thrift_0_13_0/debian/patches/node_is_nodejs.patch b/src/thrift_0_13_0/debian/patches/node_is_nodejs.patch new file mode 100644 index 000000000000..ef7dbdfd3bbc --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/node_is_nodejs.patch @@ -0,0 +1,47 @@ +Description: node is called nodejs in Debian + Use the proper binary name. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-09-20 + +--- + +--- thrift-0.9.3.orig/lib/nodejs/test/testAll.sh ++++ thrift-0.9.3/lib/nodejs/test/testAll.sh +@@ -40,7 +40,7 @@ testServer() + ${ISTANBUL} cover ${DIR}/server.js --dir ${REPORT_PREFIX}${COUNT} --handle-sigint -- --type $1 -p $2 -t $3 $4 & + COUNT=$((COUNT+1)) + else +- node ${DIR}/server.js --type $1 -p $2 -t $3 $4 & ++ nodejs ${DIR}/server.js --type $1 -p $2 -t $3 $4 & + fi + SERVERPID=$! + sleep 0.1 +@@ -48,7 +48,7 @@ testServer() + ${ISTANBUL} cover ${DIR}/client.js --dir ${REPORT_PREFIX}${COUNT} -- --type $1 -p $2 -t $3 $4 || RET=1 + COUNT=$((COUNT+1)) + else +- node ${DIR}/client.js --type $1 -p $2 -t $3 $4 || RET=1 ++ nodejs ${DIR}/client.js --type $1 -p $2 -t $3 $4 || RET=1 + fi + kill -2 $SERVERPID || RET=1 + wait $SERVERPID +@@ -59,7 +59,7 @@ testBrowser() + { + echo " Testing browser client with http server with json protocol and buffered transport"; + RET=0 +- node ${DIR}/server.js --type http -p json -t buffered & ++ nodejs ${DIR}/server.js --type http -p json -t buffered & + SERVERPID=$! + sleep 1 + ${RUNBROWSER} ${DIR}/browser_client.js --phantom || RET=1 +@@ -76,8 +76,8 @@ ${DIR}/../../../compiler/cpp/thrift -o $ + + #unit tests + +-node ${DIR}/binary.test.js || TESTOK=1 +-node ${DIR}/deep-constructor.test.js || TESTOK=1 ++nodejs ${DIR}/binary.test.js || TESTOK=1 ++nodejs ${DIR}/deep-constructor.test.js || TESTOK=1 + + #integration tests + diff --git a/src/thrift_0_13_0/debian/patches/series b/src/thrift_0_13_0/debian/patches/series new file mode 100644 index 000000000000..ab342fdd4cf3 --- /dev/null +++ b/src/thrift_0_13_0/debian/patches/series @@ -0,0 +1,16 @@ +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 +PHPUnit6_fix.patch +golang_1.10_fix.patch +disable_failing_tests.patch +disable_noexist_namespace.patch +fix_boost_atomic_link.patch +go_test_fail_on_busy_machine.patch +CVE-2018-11798_Node.js_Filesever_webroot_fixed_path.patch +cve-2017-1000487.patch diff --git a/src/thrift_0_13_0/debian/python-thrift.install b/src/thrift_0_13_0/debian/python-thrift.install new file mode 100644 index 000000000000..c50a8d1d514b --- /dev/null +++ b/src/thrift_0_13_0/debian/python-thrift.install @@ -0,0 +1,2 @@ +usr/lib/python*/*-packages/*.egg-info +usr/lib/python*/*-packages/thrift/ diff --git a/src/thrift_0_13_0/debian/rules b/src/thrift_0_13_0/debian/rules new file mode 100755 index 000000000000..563c9b901e79 --- /dev/null +++ b/src/thrift_0_13_0/debian/rules @@ -0,0 +1,99 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# 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:. + +# for Go install +export DH_GOPKG=thrift + +# 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"]') + +override_dh_auto_clean: + # delete symlinks + rm -f $(CURDIR)/lib/go/test/gopath/src/github.com + rm -f $(CURDIR)/test/go/src/github.com + rm -f $(CURDIR)/compiler/cpp/test/plugin/t_cpp_generator.cc + rm -f $(CURDIR)/lib/c_glib/src/thrift/stamp-h3 \ + $(CURDIR)/lib/cpp/src/thrift/stamp-h2 \ + $(CURDIR)/stamp-h1 + + # let make clean + dh_auto_clean +# jh_clean + # leftovers + rm -f $(CURDIR)/thrift.jar + rm -f $(CURDIR)/lib/cpp/test/tests.xml \ + $(CURDIR)/test/gen-html/ThriftTest.html \ + $(CURDIR)/test/gen-html/index.html \ + $(CURDIR)/test/gen-html/style.css + rm -rf $(CURDIR)/lib/py/thrift.egg-info + rm -f $(CURDIR)/lib/haxe/test/Makefile \ + $(CURDIR)/test/py.twisted/_trial_temp/test.log \ + $(CURDIR)/hs_err_pid*.log + rm -f $(CURDIR)/config.log + find $(CURDIR) -name .dirstamp -exec rm {} \; + +override_dh_auto_configure: + if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi + dh_auto_configure -- --enable-plugin \ + --with-cpp --with-c_glib --without-php --without-php_extension \ + --with-perl --with-python --with-py3 --without-java \ + --without-nodejs --without-erlang --without-lua \ + --with-go --with-ruby \ + --with-qt4=no --with-qt5=yes \ + --disable-tutorial + +override_dh_auto_build: + # symlinks for Go build + mkdir -p $(CURDIR)/lib/java/build/lib/ + mkdir -p $(CURDIR)/lib/go/test/gopath/src/ + ln -s /usr/share/gocode/src/github.com \ + $(CURDIR)/lib/go/test/gopath/src/ + ln -s /usr/share/gocode/src/github.com \ + $(CURDIR)/test/go/src/ + dh_auto_build --parallel +# jh_build thrift.jar $(CURDIR)/lib/java/src/ + +override_dh_auto_install: + dh_auto_install -- INSTALLDIRS=vendor +# 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: + dh_auto_test --max-parallel=1 + +override_dh_strip: + dh_strip -ppython-thrift --dbg-package=python-thrift-dbg + dh_strip + +%: + dh $@ --with python2,ruby,phpcomposer --install-layout=deb --parallel +# dh $@ --with python2,javahelper,golang,ruby --install-layout=deb \ + --buildsystem=golang --parallel +# dh $@ --with python2,javahelper --install-layout=deb --parallel + +.PHONY: override_dh_auto_clean override_dh_auto_configure \ + override_dh_auto_install override_dh_missing override_dh_auto_test \ + override_dh_strip diff --git a/src/thrift_0_13_0/debian/source/format b/src/thrift_0_13_0/debian/source/format new file mode 100644 index 000000000000..163aaf8d82b6 --- /dev/null +++ b/src/thrift_0_13_0/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/src/thrift_0_13_0/debian/source/lintian-overrides b/src/thrift_0_13_0/debian/source/lintian-overrides new file mode 100644 index 000000000000..34fd32851068 --- /dev/null +++ b/src/thrift_0_13_0/debian/source/lintian-overrides @@ -0,0 +1,4 @@ +# Long lines only +thrift source: source-is-missing lib/js/test/phantom-client.js line length is 2016 characters (>512) +thrift source: source-is-missing lib/js/test/test-async.js line length is 2016 characters (>512) +thrift source: source-is-missing lib/js/test/test.js line length is 2016 characters (>512) diff --git a/src/thrift_0_13_0/debian/watch b/src/thrift_0_13_0/debian/watch new file mode 100644 index 000000000000..9f6ac2bbbbd9 --- /dev/null +++ b/src/thrift_0_13_0/debian/watch @@ -0,0 +1,2 @@ +version=3 +https://thrift.apache.org/download .*/thrift-(\d[\d\.]+)\.(?:tgz|tar\.(?:gz|bz2|xz))