Import thrift_0.16.0-3.debian.tar.xz
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 19 Apr 2022 15:08:21 +0000 (16:08 +0100)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 19 Apr 2022 15:08:21 +0000 (16:08 +0100)
[dgit import tarball thrift 0.16.0-3 thrift_0.16.0-3.debian.tar.xz]

49 files changed:
README.md [new file with mode: 0644]
changelog [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
dirs [new file with mode: 0644]
docs [new file with mode: 0644]
golang-thrift-dev.install [new file with mode: 0644]
libthrift-0.16.0.install [new file with mode: 0644]
libthrift-0.16.0.shlibs [new file with mode: 0644]
libthrift-c-glib-dev.install [new file with mode: 0644]
libthrift-c-glib0.install [new file with mode: 0644]
libthrift-dev.install [new file with mode: 0644]
libthrift-java-doc.doc-base [new file with mode: 0644]
libthrift-java-doc.install [new file with mode: 0644]
libthrift-perl.install [new file with mode: 0644]
libthrift0.install [new file with mode: 0644]
patches/broken_boost_1.62.patch [new file with mode: 0644]
patches/disable_TLSv1_0_and_TLSv1_1.patch [new file with mode: 0644]
patches/disable_failing_tests.patch [new file with mode: 0644]
patches/disable_locale_tests.patch [new file with mode: 0644]
patches/disable_php_testing.patch [new file with mode: 0644]
patches/go_no_mod.patch [new file with mode: 0644]
patches/go_test_fail_on_busy_machine.patch [new file with mode: 0644]
patches/golang_dependency_installed.patch [new file with mode: 0644]
patches/link_tests_atomic.patch [new file with mode: 0644]
patches/link_with_zlib.patch [new file with mode: 0644]
patches/missing_go_test.patch [new file with mode: 0644]
patches/no_bundler_use.patch [new file with mode: 0644]
patches/no_composer_install.patch [new file with mode: 0644]
patches/no_go_race.patch [new file with mode: 0644]
patches/no_gradlew.patch [new file with mode: 0644]
patches/no_pom.patch [new file with mode: 0644]
patches/no_shmem.patch [new file with mode: 0644]
patches/node_is_nodejs.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
php-thrift.install [new file with mode: 0644]
php5-thrift.dirs [new file with mode: 0644]
python3-thrift.install [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/lintian-overrides [new file with mode: 0644]
thrift-compiler.docs [new file with mode: 0644]
thrift-compiler.examples [new file with mode: 0644]
thrift-compiler.install [new file with mode: 0644]
thrift-compiler.manpages [new file with mode: 0644]
thrift-doc.docs [new file with mode: 0644]
thrift-doc.install [new file with mode: 0644]
thrift.1 [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..8ebfeea
--- /dev/null
+++ b/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/changelog b/changelog
new file mode 100644 (file)
index 0000000..07c16f5
--- /dev/null
+++ b/changelog
@@ -0,0 +1,206 @@
+thrift (0.16.0-3) unstable; urgency=medium
+
+  * Upload to Sid.
+  * This release contains fix for Python 3.10 (closes: #1008810).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 19 Apr 2022 17:08:21 +0200
+
+thrift (0.16.0-2) experimental; urgency=medium
+
+  * Run Go tests without non-portable race detector.
+  * Disable tests that seem to be incompatible with newer GLib versions.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 01 Apr 2022 17:14:34 +0200
+
+thrift (0.16.0-1) experimental; urgency=medium
+
+  * New major upstream release (closes: #1008458):
+    - fixes CVE-2020-13949: potential DoS when processing untrusted payloads
+      (closes: #988949).
+  * Rename related packages to -0.16.0 suffix.
+
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 28 Mar 2022 01:34:46 +0200
+
+thrift (0.13.0-7) unstable; urgency=medium
+
+  * Remove python3-thrift-dbg package (closes: #994384).
+  * Update Standards-Version to 4.6.0 .
+  * Sync with Ubuntu.
+
+  [ Lucas Kanashiro <kanashiro@ubuntu.com> ]
+  * d/p/THRIFT-5318_support_php8.patch: Backport upstream patch to add support
+    for PHP 8 (LP: #1940473).
+  * d/rules: export GO111MODULE=off, this will make go.mod file not mandatory.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 24 Sep 2021 17:18:04 +0200
+
+thrift (0.13.0-6) unstable; urgency=medium
+
+  * Backport upstream fix for THRIFT-5322: Go compact_protocol allocating
+    unreasonable buffer size.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 14 Feb 2021 19:50:04 +0100
+
+thrift (0.13.0-5) unstable; urgency=medium
+
+  * Update Standards-Version to 4.5.0 .
+
+  [ Adrian Bunk <bunk@debian.org> ]
+  * Link with libatomic on ARMel and MIPSel (closes: #972948).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 26 Oct 2020 18:01:44 +0100
+
+thrift (0.13.0-4) unstable; urgency=medium
+
+  * 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).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 15 Oct 2020 17:07:25 +0200
+
+thrift (0.13.0-3) unstable; urgency=medium
+
+  * Backport upstream fix for wrong int to string conversions in Go testing
+    (closes: #971192).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 27 Sep 2020 21:31:25 +0200
+
+thrift (0.13.0-2) unstable; urgency=medium
+
+  * Link C++ tests with atomic.
+  * Upload to Sid.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 08 Dec 2019 12:24:18 +0000
+
+thrift (0.13.0-1) experimental; urgency=high
+
+  * 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).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 01 Dec 2019 10:46:55 +0000
+
+thrift (0.12.0-1) experimental; urgency=medium
+
+  * New major upstream release.
+  * Rename related packages to -0.12.0 suffix.
+  * Remove Python 2 bindings (closes: #938662).
+  * Update debhelper level to 11 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 05 Oct 2019 08:58:11 +0000
+
+thrift (0.11.0-6) unstable; urgency=medium
+
+  * Update copyright file (closes: #935713).
+  * Update Python packaging bits (closes: #935715).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 25 Aug 2019 19:18:04 +0000
+
+thrift (0.11.0-5) experimental; urgency=medium
+
+  * Fix Python 3 packaging.
+  * Sync with Ubuntu.
+  * Update Standards-Version to 4.4.0 .
+
+  [ Adam Cecile <acecile@le-vert.net> ]
+  * Build python3 package (closes: #913724).
+
+  [ Gianfranco Costamagna <locutusofborg@debian.org> ]
+  * Export HOME to make the build happy (closes: #935620).
+  * Fix another failure due to new go with upstream patch.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 24 Aug 2019 15:47:34 +0000
+
+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) <gcs@debian.org>  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) <gcs@debian.org>  Sat, 27 Oct 2018 20:57:18 +0000
+
+thrift (0.11.0-2) experimental; urgency=medium
+
+  * Disable failing Python self-tests to fix mips and s390x FTBFS.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 12 Oct 2018 00:12:09 +0000
+
+thrift (0.11.0-1) experimental; urgency=medium
+
+  * New major upstream release.
+  * Fixes  CVE-2016-5397: command injection in format_go_output
+    (closes: #894577).
+  * Fix FTBFS problems (closes: #909067).
+  * Rename related packages to -0.11.0 suffix.
+  * Build with PHP 7.2 version.
+  * Remove libmaven-ant-tasks-java build dependency (closes: #877126).
+  * Update patches.
+  * Use auto-generated debug packages.
+  * Change package priority to optional.
+  * Update Standards-Version to 4.2.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 20 Sep 2018 18:16:39 +0000
+
+thrift (0.10.0-1) experimental; urgency=low
+
+  * New upstream release.
+  * Rename related packages to -0.10.0 suffix.
+  * Correct Perl install directory (closes: #859128).
+  * Fix building with Boost 1.62 version.
+  * Only build Go bindings on supported architectures.
+  * Add python{,3}-six build dependency for testing support.
+  * Disable failing TSimpleServer testing for Python.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 13 May 2017 08:15:21 +0000
+
+thrift (0.9.3-2) experimental; urgency=low
+
+  * Build Go bindings.
+  * Update to build with Java Servlet API 3.1 .
+  * Fix build with GCC 6.2 .
+  * Fix build with Boost 1.61 .
+  * Update Standards-Version to 3.9.8 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 17 Jul 2016 19:31:46 +0000
+
+thrift (0.9.3-1) experimental; urgency=low
+
+  * New upstream release.
+  * Patch SSLv3 support to use SSLv23_method function (closes: #804668).
+  * Specify Qt version to build and move to version 5 of the library.
+  * This release contains TestValidators.thrift , remove its patch.
+  * Add debug package for Pyton bindings.
+  * Update OpenJDK build dependency to version 8.
+  * Update Perl build dependency.
+  * Update Standards-Version to 3.9.7 .
+  * Keep rebuildable.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 20 Mar 2016 11:10:27 +0000
+
+thrift (0.9.2-2) experimental; urgency=low
+
+  * Specify openjdk-7-jdk to build with.
+  * Disable parallel testing.
+  * Update Boost build dependency to be version 1.58.0 at least.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 03 Aug 2015 20:09:47 +0200
+
+thrift (0.9.2-1) experimental; urgency=low
+
+  * Use monolithic upstream source for Thrift packaging (closes: #792097).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 21 Mar 2015 17:45:29 +0000
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..4eb4223
--- /dev/null
+++ b/control
@@ -0,0 +1,190 @@
+Source: thrift
+Section: devel
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Build-Depends: debhelper-compat (= 11), dh-python,
+ dh-golang, golang-golang-x-net-dev,
+ gem2deb,
+ bison, flex,
+ libboost-all-dev, libevent-dev, zlib1g-dev,
+ libssl-dev,
+ libglib2.0-dev,
+ qtbase5-dev,
+ python3-all-dev, python3-six,
+ golang-go, golang-github-golang-mock-dev,
+ pkg-php-tools (>= 1.14~), php-dev, phpunit, php-codesniffer,
+ perl, libbit-vector-perl, libclass-accessor-perl, libtest-exception-perl,
+# openjdk-11-jdk, javahelper, maven-debian-helper (>= 1.5), ant (>= 1.7), ant-optional,
+# libhttpclient-java, libslf4j-java, libservlet3.1-java (>= 8),
+# nodejs, npm,
+ ruby-dev, ruby, bundler, rake,
+ ruby-daemons, ruby-diff-lcs, ruby-eventmachine, ruby-rspec-core,
+ ruby-rack, ruby-rack-test, ruby-rspec, ruby-rspec-expectations,
+ ruby-rspec-mocks, thin,
+# erlang-dev, erlang-eunit,
+# liblua5.2-dev,
+# google-mock
+Build-Conflicts: rustc
+Standards-Version: 4.6.0
+Homepage: https://thrift.apache.org/
+XS-Ruby-Versions: ruby3.0
+XS-Go-Import-Path: github.com/apache/thrift/lib/go/thrift
+
+Package: libthrift-0.16.0
+Architecture: any
+Multi-Arch: same
+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-0.16.0 (= ${binary:Version}), ${misc:Depends}, pkg-config
+Description: Thrift C++ library (development headers)
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization.  It combines a software
+ stack with code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ This package contains the development libraries required for writing C++
+ applications using Thrift.
+
+Package: libthrift-c-glib0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Thrift glib library
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization.  It combines a software
+ stack with code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ 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: python3-thrift
+Section: python
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
+Provides: ${python3:Provides}
+Description: Python 3 library for Thrift
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization. It combines a software
+ stack with a code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ This package provides the Python 3 bindings for 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}, ${shlibs:Depends}, ${misc:Depends}
+Provides: ${php:Provides}
+Conflicts: php7.0-thrift, php7.2-thrift
+Replaces: php7.0-thrift, php7.2-thrift
+Description: PHP language support for Thrift
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization. It combines a software
+ stack with code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ This package provides the PHP5 language support for Thrift.
+
+Package: libthrift-perl
+Section: perl
+Architecture: all
+Multi-Arch: foreign
+Depends: ${perl:Depends}, ${misc:Depends}
+Description: Perl language support for Thrift
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization. It combines a software
+ stack with code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ This package provides the Perl language support for Thrift.
+
+Package: golang-thrift-dev
+Architecture: amd64 arm64 armel armhf i386 ppc64el
+Multi-Arch: same
+Depends: ${misc:Depends}
+Description: Go language support for Thrift
+ Thrift is a software framework for the development of reliable and
+ performant communication and data serialization. It combines a software
+ stack with code generation to build services that operate seamlessly
+ across a number of different development languages.
+ .
+ This package provides the Go language support for Thrift.
+#
+#Package: ruby-thrift
+#Section: libs
+#Architecture: any
+#Depends: ${shlibs:Depends}, ${misc:Depends}
+#Description: Ruby library for Thrift
+# Thrift is a software framework for the development of reliable and
+# performant communication and data serialization. It combines a software
+# stack with a code generation to build services that operate seamlessly
+# across a number of different development languages.
+# .
+# This package provides the Ruby bindings for Thrift.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..683adb6
--- /dev/null
+++ b/copyright
@@ -0,0 +1,85 @@
+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: build/cmake/FindGLIB.cmake
+Copyright: Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+License: BSD-2-clause
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: debian/*
+Copyright: Copyright 2012-2014 Eric Evans <eevans@debian.org>,
+           Copyright 2014-     Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the full text of the GNU General Public License
+ version 3 can be found in the file `/usr/share/common-licenses/GPL-3'.
+
+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/dirs b/dirs
new file mode 100644 (file)
index 0000000..ca882bb
--- /dev/null
+++ b/dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/docs b/docs
new file mode 100644 (file)
index 0000000..b43bf86
--- /dev/null
+++ b/docs
@@ -0,0 +1 @@
+README.md
diff --git a/golang-thrift-dev.install b/golang-thrift-dev.install
new file mode 100644 (file)
index 0000000..d091038
--- /dev/null
@@ -0,0 +1 @@
+lib/go/thrift /usr/share/gocode/src/github.com/apache/thrift/lib/go/
diff --git a/libthrift-0.16.0.install b/libthrift-0.16.0.install
new file mode 100644 (file)
index 0000000..d0b0147
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/*/libthrift-*.so
+usr/lib/*/libthriftnb-*.so
+usr/lib/*/libthriftqt5-*.so
+usr/lib/*/libthriftz-*.so
diff --git a/libthrift-0.16.0.shlibs b/libthrift-0.16.0.shlibs
new file mode 100644 (file)
index 0000000..87767f9
--- /dev/null
@@ -0,0 +1,4 @@
+libthrift 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
+libthriftnb 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
+libthriftqt5 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
+libthriftz 0.16.0 libthrift-0.16.0 (>= 0.16.0-1~)
diff --git a/libthrift-c-glib-dev.install b/libthrift-c-glib-dev.install
new file mode 100644 (file)
index 0000000..6e062c9
--- /dev/null
@@ -0,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 --git a/libthrift-c-glib0.install b/libthrift-c-glib0.install
new file mode 100644 (file)
index 0000000..d71b50d
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libthrift_c_glib.so.*
diff --git a/libthrift-dev.install b/libthrift-dev.install
new file mode 100644 (file)
index 0000000..54e3e13
--- /dev/null
@@ -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/libthrift-java-doc.doc-base b/libthrift-java-doc.doc-base
new file mode 100644 (file)
index 0000000..03672c0
--- /dev/null
@@ -0,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 --git a/libthrift-java-doc.install b/libthrift-java-doc.install
new file mode 100644 (file)
index 0000000..1c29668
--- /dev/null
@@ -0,0 +1 @@
+debian/_jh_build.javadoc/api/* /usr/share/doc/thrift/java/
diff --git a/libthrift-perl.install b/libthrift-perl.install
new file mode 100644 (file)
index 0000000..f3ee2e4
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/perl5/Thrift.pm        /usr/share/perl5
+usr/lib/perl5/Thrift   /usr/share/perl5
diff --git a/libthrift0.install b/libthrift0.install
new file mode 100644 (file)
index 0000000..ec74efc
--- /dev/null
@@ -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/patches/broken_boost_1.62.patch b/patches/broken_boost_1.62.patch
new file mode 100644 (file)
index 0000000..3af4b76
--- /dev/null
@@ -0,0 +1,22 @@
+Description: these fail in chroot environments
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2021-09-26
+
+---
+
+--- thrift-0.10.0.orig/lib/cpp/test/Makefile.am
++++ thrift-0.10.0/lib/cpp/test/Makefile.am
+@@ -113,9 +113,10 @@ check_PROGRAMS += \
+ endif
+ TESTS_ENVIRONMENT= \
+-      BOOST_TEST_LOG_SINK=tests.xml \
+-      BOOST_TEST_LOG_LEVEL=test_suite \
+-      BOOST_TEST_LOG_FORMAT=XML
++      BOOST_TEST_LOGGER=XML,test_suite,tests.xml
++#     BOOST_TEST_LOG_SINK=tests.xml \
++#     BOOST_TEST_LOG_LEVEL=test_suite \
++#     BOOST_TEST_LOG_FORMAT=XML
+ TESTS = \
+       $(check_PROGRAMS)
diff --git a/patches/disable_TLSv1_0_and_TLSv1_1.patch b/patches/disable_TLSv1_0_and_TLSv1_1.patch
new file mode 100644 (file)
index 0000000..9d9ec74
--- /dev/null
@@ -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) <gcs@debian.org>
+Bug-Debian: https://bugs.debian.org/859128
+Last-Update: 2021-09-26
+
+---
+
+--- thrift-0.10.0.orig/lib/cpp/test/SecurityTest.cpp
++++ thrift-0.10.0/lib/cpp/test/SecurityTest.cpp
+@@ -224,11 +224,11 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix
+         {
+     //   server    = SSLTLS   SSLv2    SSLv3    TLSv1_0  TLSv1_1  TLSv1_2
+     // client
+-    /* SSLTLS  */  { true,    false,   false,   true,    true,    true    },
++    /* SSLTLS  */  { true,    false,   false,   false,   false,   true    },
+     /* SSLv2   */  { false,   false,   false,   false,   false,   false   },
+     /* SSLv3   */  { false,   false,   true,    false,   false,   false   },
+-    /* TLSv1_0 */  { true,    false,   false,   true,    false,   false   },
+-    /* TLSv1_1 */  { true,    false,   false,   false,   true,    false   },
++    /* TLSv1_0 */  { false,   false,   false,   true,    false,   false   },
++    /* TLSv1_1 */  { false,   false,   false,   false,   true,    false   },
+     /* TLSv1_2 */  { true,    false,   false,   false,   false,   true    }
+         };
diff --git a/patches/disable_failing_tests.patch b/patches/disable_failing_tests.patch
new file mode 100644 (file)
index 0000000..6d4f02a
--- /dev/null
@@ -0,0 +1,68 @@
+Description: disable failing tests
+ SSL and security tests don't work on buildd machines. Other tests that seem
+ to be incompatible with newer GLib versions.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2022-04-01
+
+---
+
+--- a/lib/c_glib/test/Makefile.am
++++ b/lib/c_glib/test/Makefile.am
+@@ -47,7 +47,6 @@ check_PROGRAMS = \
+   testapplicationexception \
+   testcontainertest \
+   testtransportsocket \
+-  testtransportsslsocket \
+   testbinaryprotocol \
+   testcompactprotocol \
+   testbufferedtransport \
+--- a/lib/cpp/test/Makefile.am
++++ b/lib/cpp/test/Makefile.am
+@@ -94,8 +94,6 @@ check_PROGRAMS = \
+       TransportTest \
+       TInterruptTest \
+       TServerIntegrationTest \
+-      SecurityTest \
+-      SecurityFromBufferTest \
+       ZlibTest \
+       TFileTransportTest \
+       link_test \
+--- a/lib/c_glib/test/testthriftbinaryreadcheck.c
++++ b/lib/c_glib/test/testthriftbinaryreadcheck.c
+@@ -272,8 +272,8 @@ main (int argc, char *argv[])
+      g_test_init (&argc, &argv, NULL);
+      g_test_add_func ("/testthriftbinaryreadcheck/CreateAndDestroy", test_create_and_destroy);
+-     g_test_add_func ("/testthriftbinaryreadcheck/Initialize", test_initialize);
+-     g_test_add_func ("/testthriftbinaryreadcheck/test_read_and_write_complex_types", test_read_and_wirte_complex_types);
++//     g_test_add_func ("/testthriftbinaryreadcheck/Initialize", test_initialize);
++//     g_test_add_func ("/testthriftbinaryreadcheck/test_read_and_write_complex_types", test_read_and_wirte_complex_types);
+      return g_test_run ();
+ }
+--- a/lib/c_glib/test/testthriftcompactreadcheck.c
++++ b/lib/c_glib/test/testthriftcompactreadcheck.c
+@@ -267,9 +267,9 @@ main (int argc, char *argv[])
+   g_test_add_func ("/testthriftcompactreadcheck/CreateAndDestroy",
+                    test_create_and_destroy);
+-  g_test_add_func ("/testthriftcompactreadcheck/Initialize", test_initialize);
+-  g_test_add_func ("/testthriftcompactreadcheck/ReadAndWriteComplexTypes",
+-                   test_read_and_write_complex_types);
++//  g_test_add_func ("/testthriftcompactreadcheck/Initialize", test_initialize);
++//  g_test_add_func ("/testthriftcompactreadcheck/ReadAndWriteComplexTypes",
++//                   test_read_and_write_complex_types);
+   return g_test_run ();
+ }
+--- a/lib/c_glib/test/testthriftframedreadcheck.c
++++ b/lib/c_glib/test/testthriftframedreadcheck.c
+@@ -216,7 +216,7 @@ main(int argc, char *argv[])
+   g_test_init (&argc, &argv, NULL);
+   g_test_add_func ("/testframedtransport/OpenAndClose", test_open_and_close);
+-  g_test_add_func ("/testframedtransport/ReadAndWrite", test_read_and_write);
++//  g_test_add_func ("/testframedtransport/ReadAndWrite", test_read_and_write);
+   return g_test_run ();
+ }
diff --git a/patches/disable_locale_tests.patch b/patches/disable_locale_tests.patch
new file mode 100644 (file)
index 0000000..d09a1d5
--- /dev/null
@@ -0,0 +1,37 @@
+Description: disable locale specific tests
+ On buildd network locales might not be available.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Forwarded: no
+Last-Update: 2022-03-31
+
+---
+
+
+--- thrift-0.16.0.orig/lib/cpp/test/ToStringTest.cpp
++++ thrift-0.16.0/lib/cpp/test/ToStringTest.cpp
+@@ -44,6 +44,7 @@ BOOST_AUTO_TEST_CASE(base_types_to_strin
+ // NOTE: Currently (as of 2021.08.12) the locale-based tests do not work on
+ // Windows in the AppVeyor Thrift CI build correctly. Therefore disabled on
+ // Windows:
++/*
+ #ifndef _WIN32
+ BOOST_AUTO_TEST_CASE(locale_en_US_int_to_string) {
+ #ifdef _WIN32
+@@ -53,7 +54,9 @@ BOOST_AUTO_TEST_CASE(locale_en_US_int_to
+ #endif
+   BOOST_CHECK_EQUAL(to_string(1000000), "1000000");
+ }
++*/
++/*
+ BOOST_AUTO_TEST_CASE(locale_de_DE_floating_point_to_string) {
+ #ifdef _WIN32
+   std::locale::global(std::locale("de-DE.UTF-8"));
+@@ -65,6 +68,7 @@ BOOST_AUTO_TEST_CASE(locale_de_DE_floati
+   BOOST_CHECK_EQUAL(to_string(1.5L), "1.5");
+ }
+ #endif
++*/
+ BOOST_AUTO_TEST_CASE(empty_vector_to_string) {
+   std::vector<int> l;
diff --git a/patches/disable_php_testing.patch b/patches/disable_php_testing.patch
new file mode 100644 (file)
index 0000000..0b40284
--- /dev/null
@@ -0,0 +1,26 @@
+Description: PHP tests are not phpunit 8 compatible
+ Disable those for now.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2019-09-22
+
+---
+
+--- thrift-0.12.0.orig/lib/php/test/Makefile.am
++++ thrift-0.12.0/lib/php/test/Makefile.am
+@@ -35,13 +35,13 @@ deps: $(top_srcdir)/composer.json
+ all-local: deps
+ check-json-serializer: deps stubs
+-      $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/
++#     $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/
+ check-validator: deps stubs
+-      $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/
++#     $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/
+ check-protocol:       deps stubs
+-      $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/
++#     $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/
+ check: deps stubs \
+   check-protocol \
diff --git a/patches/go_no_mod.patch b/patches/go_no_mod.patch
new file mode 100644 (file)
index 0000000..d5a945a
--- /dev/null
@@ -0,0 +1,101 @@
+Description: Go mod can't be specified
+ Just delete those from Go invocation.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Forwarded: no
+Last-Update: 2022-04-01
+
+---
+
+--- thrift-0.16.0.orig/lib/go/Makefile.am
++++ thrift-0.16.0/lib/go/Makefile.am
+@@ -31,13 +31,13 @@ install:
+       @echo '##############################################################'
+ check-local:
+-      $(GO) test -mod=mod ./thrift
++      $(GO) test ./thrift
+ clean-local:
+       $(RM) -rf pkg
+ all-local:
+-      $(GO) build -mod=mod ./thrift
++      $(GO) build ./thrift
+ EXTRA_DIST = \
+       thrift \
+--- thrift-0.16.0.orig/lib/go/test/Makefile.am
++++ thrift-0.16.0/lib/go/test/Makefile.am
+@@ -89,7 +89,7 @@ gopath: $(THRIFT) $(THRIFTTEST) \
+       touch gopath
+ check: gopath
+-      $(GO) build -mod=mod \
++      $(GO) build \
+                               ./gopath/src/includestest \
+                               ./gopath/src/binarykeytest \
+                               ./gopath/src/servicestest \
+@@ -107,14 +107,14 @@ check: gopath
+                               ./gopath/src/duplicateimportstest \
+                               ./gopath/src/equalstest \
+                               ./gopath/src/conflictargnamestest
+-      $(GO) test -mod=mod github.com/apache/thrift/lib/go/thrift
+-      $(GO) test -mod=mod ./gopath/src/tests ./gopath/src/dontexportrwtest
++      $(GO) test github.com/apache/thrift/lib/go/thrift
++      $(GO) test ./gopath/src/tests ./gopath/src/dontexportrwtest
+ clean-local:
+       $(RM) -r gopath ThriftTest.thrift gen-go
+ client: stubs
+-      $(GO) run -mod=mod TestClient.go
++      $(GO) run TestClient.go
+ EXTRA_DIST = \
+       dontexportrwtest \
+--- thrift-0.16.0.orig/lib/go/test/fuzz/Makefile.am
++++ thrift-0.16.0/lib/go/test/fuzz/Makefile.am
+@@ -19,12 +19,12 @@
+ gopathfuzz: $(THRIFT) fuzz.go
+       $(THRIFT) -r --gen go:thrift_import=github.com/apache/thrift/lib/go/thrift$(COMPILER_EXTRAFLAG) ../../../../tutorial/tutorial.thrift
+-      cd gen-go/shared && go mod init shared
+-      cd gen-go/tutorial && go mod init tutorial
++#     cd gen-go/shared && go mod init shared
++#     cd gen-go/tutorial && go mod init tutorial
+       touch gopathfuzz
+ check: gopathfuzz
+-      go test -mod=mod -tags gofuzz
++      go test -tags gofuzz
+ clean-local:
+       $(RM) -r gopathfuzz gen-go
+--- thrift-0.16.0.orig/test/go/Makefile.am
++++ thrift-0.16.0/test/go/Makefile.am
+@@ -37,13 +37,13 @@ gopath: $(THRIFT) ThriftTest.thrift
+       touch gopath
+ bin/testclient: gopath
+-      GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/testclient
++      GOPATH=`pwd` $(GO) install ./src/bin/testclient
+ bin/testserver: gopath
+-      GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/testserver
++      GOPATH=`pwd` $(GO) install ./src/bin/testserver
+ bin/stress: gopath
+-      GOPATH=`pwd` $(GO) install -mod=mod ./src/bin/stress
++      GOPATH=`pwd` $(GO) install ./src/bin/stress
+ clean-local:
+       $(RM) -r src/gen src/github.com/golang src/thrift bin pkg gopath ThriftTest.thrift
+@@ -51,7 +51,7 @@ clean-local:
+ check_PROGRAMS: bin/testclient bin/testserver bin/stress
+ check: gopath genmock
+-      $(GO) test -mod=mod -v ./src/common/...
++      $(GO) test -v ./src/common/...
+ genmock: gopath
+       sh genmock.sh
diff --git a/patches/go_test_fail_on_busy_machine.patch b/patches/go_test_fail_on_busy_machine.patch
new file mode 100644 (file)
index 0000000..979341c
--- /dev/null
@@ -0,0 +1,27 @@
+Description: wait a second after go serve socket
+ Multiple upstream wait time by hundred.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2021-09-26
+
+---
+
+--- thrift-0.11.0.orig/lib/go/test/tests/multiplexed_protocol_test.go
++++ thrift-0.11.0/lib/go/test/tests/multiplexed_protocol_test.go
+@@ -84,7 +84,7 @@ func TestMultiplexedProtocolFirst(t *tes
+       defer server.Stop()
+       go server.Serve()
+-      time.Sleep(10 * time.Millisecond)
++      time.Sleep(1000 * time.Millisecond)
+       transport, err := createTransport(addr)
+       if err != nil {
+@@ -123,7 +123,7 @@ func TestMultiplexedProtocolSecond(t *te
+       defer server.Stop()
+       go server.Serve()
+-      time.Sleep(10 * time.Millisecond)
++      time.Sleep(1000 * time.Millisecond)
+       transport, err := createTransport(addr)
+       if err != nil {
diff --git a/patches/golang_dependency_installed.patch b/patches/golang_dependency_installed.patch
new file mode 100644 (file)
index 0000000..ebb7a59
--- /dev/null
@@ -0,0 +1,37 @@
+Description: golang dependencies already installed as build dependency
+Forwarded: no
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2019-12-01
+
+---
+
+--- thrift-0.13.0.orig/lib/go/test/Makefile.am
++++ thrift-0.13.0/lib/go/test/Makefile.am
+@@ -71,9 +71,9 @@ gopath: $(THRIFT) $(THRIFTTEST) \
+       $(THRIFT) $(THRIFTARGS) ConflictNamespaceTestD.thrift
+       $(THRIFT) $(THRIFTARGS) ConflictNamespaceTestSuperThing.thrift
+       $(THRIFT) $(THRIFTARGS) ConflictNamespaceServiceTest.thrift
+-      GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true
+-      sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' gopath/src/github.com/golang/mock/gomock/controller.go || true
+-      GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock
++      echo GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock || true
++      echo sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' gopath/src/github.com/golang/mock/gomock/controller.go || true
++      echo GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock
+       ln -nfs ../../../thrift gopath/src/thrift
+       ln -nfs ../../tests gopath/src/tests
+       cp -r ./dontexportrwtest gopath/src
+--- thrift-0.13.0.orig/test/go/Makefile.am
++++ thrift-0.13.0/test/go/Makefile.am
+@@ -34,9 +34,9 @@ gopath: $(THRIFT) ThriftTest.thrift
+       mkdir -p src/gen
+       $(THRIFTCMD) ThriftTest.thrift
+       $(THRIFTCMD) ../StressTest.thrift
+-      GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true
+-      sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' src/github.com/golang/mock/gomock/controller.go || true
+-      GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock
++      echo GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock || true
++      echo sed -i 's/\"context\"/\"golang.org\/x\/net\/context\"/g' src/github.com/golang/mock/gomock/controller.go || true
++      echo GOPATH=`pwd` $(GO) get github.com/golang/mock/gomock
+       ln -nfs ../../../lib/go/thrift src/thrift
+       touch gopath
diff --git a/patches/link_tests_atomic.patch b/patches/link_tests_atomic.patch
new file mode 100644 (file)
index 0000000..81497fc
--- /dev/null
@@ -0,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) <gcs@debian.org>
+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 --git a/patches/link_with_zlib.patch b/patches/link_with_zlib.patch
new file mode 100644 (file)
index 0000000..f421c3a
--- /dev/null
@@ -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) <gcs@debian.org>
+
+---
+
+--- thrift-0.9.2.orig/test/cpp/Makefile
++++ thrift-0.9.2/test/cpp/Makefile
+@@ -632,13 +632,13 @@ src/TestClient.$(OBJEXT): src/$(am__dirs
+ TestClient$(EXEEXT): $(TestClient_OBJECTS) $(TestClient_DEPENDENCIES) $(EXTRA_TestClient_DEPENDENCIES) 
+       @rm -f TestClient$(EXEEXT)
+-      $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS)
++      $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS) $(ZLIB_LIBS)
+ src/TestServer.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+ TestServer$(EXEEXT): $(TestServer_OBJECTS) $(TestServer_DEPENDENCIES) $(EXTRA_TestServer_DEPENDENCIES) 
+       @rm -f TestServer$(EXEEXT)
+-      $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS)
++      $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS) $(ZLIB_LIBS)
+ mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+--- thrift-0.9.2.orig/test/cpp/Makefile.in
++++ thrift-0.9.2/test/cpp/Makefile.in
+@@ -632,13 +632,13 @@ src/TestClient.$(OBJEXT): src/$(am__dirs
+ TestClient$(EXEEXT): $(TestClient_OBJECTS) $(TestClient_DEPENDENCIES) $(EXTRA_TestClient_DEPENDENCIES) 
+       @rm -f TestClient$(EXEEXT)
+-      $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS)
++      $(AM_V_CXXLD)$(CXXLINK) $(TestClient_OBJECTS) $(TestClient_LDADD) $(LIBS) $(ZLIB_LIBS)
+ src/TestServer.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+ TestServer$(EXEEXT): $(TestServer_OBJECTS) $(TestServer_DEPENDENCIES) $(EXTRA_TestServer_DEPENDENCIES) 
+       @rm -f TestServer$(EXEEXT)
+-      $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS)
++      $(AM_V_CXXLD)$(CXXLINK) $(TestServer_OBJECTS) $(TestServer_LDADD) $(LIBS) $(ZLIB_LIBS)
+ mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
diff --git a/patches/missing_go_test.patch b/patches/missing_go_test.patch
new file mode 100644 (file)
index 0000000..58250b4
--- /dev/null
@@ -0,0 +1,71 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ thrift (0.16.0-1) experimental; urgency=medium
+ .
+   * New major upstream release.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2022-03-28
+
+--- thrift-0.16.0.orig/test/go/src/common/clientserver_test.go
++++ thrift-0.16.0/test/go/src/common/clientserver_test.go
+@@ -21,14 +21,10 @@ package common
+ import (
+       "context"
+-      "errors"
+-      "reflect"
+       "sync"
+       "testing"
+-      "github.com/golang/mock/gomock"
+-      "github.com/apache/thrift/lib/go/thrift"
+       "github.com/apache/thrift/test/go/src/gen/thrifttest"
+ )
+@@ -61,6 +57,7 @@ func TestAllConnection(t *testing.T) {
+ }
+ func doUnit(t *testing.T, unit *test_unit) {
++/*
+       ctrl := gomock.NewController(t)
+       defer ctrl.Finish()
+       handler := NewMockThriftTest(ctrl)
+@@ -84,6 +81,7 @@ func doUnit(t *testing.T, unit *test_uni
+       }
+       defer trans.Close()
+       callEverythingWithMock(t, client, handler)
++*/
+ }
+ var rmapmap = map[int32]map[int32]int32{
+@@ -101,6 +99,7 @@ var xxs = &thrifttest.Xtruct{
+ var xcept = &thrifttest.Xception{ErrorCode: 1001, Message: "some"}
+ var defaultCtx = context.Background()
++/*
+ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, handler *MockThriftTest) {
+       gomock.InOrder(
+               handler.EXPECT().TestVoid(gomock.Any()),
+@@ -336,3 +335,4 @@ func callEverythingWithMock(t *testing.T
+               t.Errorf("Unexpected error in TestVoid() call: %s", err)
+       }
+ }
++*/
diff --git a/patches/no_bundler_use.patch b/patches/no_bundler_use.patch
new file mode 100644 (file)
index 0000000..ec4ebb3
--- /dev/null
@@ -0,0 +1,56 @@
+Description: do not use bundler as per Ruby policy
+ .
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Bug-Debian: https://bugs.debian.org/804668
+Last-Update: 2019-10-23
+
+---
+
+--- a/lib/rb/Makefile.am
++++ b/lib/rb/Makefile.am
+@@ -22,20 +22,24 @@ DESTDIR ?= /
+ if HAVE_BUNDLER
+ all-local:
+-      $(BUNDLER) install
+-      $(BUNDLER) exec rake build_ext
++      echo Do not use bundler for all-local
++#     $(BUNDLER) install
++#     $(BUNDLER) exec rake build_ext
+ install-exec-hook:
+-      $(BUNDLER) exec rake install
++      echo Do not use bundler for install-exec-hook
++#     $(BUNDLER) exec rake install
+ clean-local:
+-      $(BUNDLER) install
+-      $(BUNDLER) exec rake clean
++      echo Do not use bundler for clean-local
++#     $(BUNDLER) install
++#     $(BUNDLER) exec rake clean
+       $(RM) -r spec/gen-rb/
+ check-local: all
+-      $(BUNDLER) install
+-      $(BUNDLER) exec rake
++      echo Do not use bundler for check-local
++#     $(BUNDLER) install
++#     $(BUNDLER) exec rake
+ endif
+--- a/test/rb/Makefile.am
++++ b/test/rb/Makefile.am
+@@ -26,8 +26,9 @@ precross: stubs
+ check: stubs
+ if HAVE_BUNDLER
+-      $(BUNDLER) install
+-      $(BUNDLER) exec $(RUBY) -I. test_suite.rb
++      echo Do not use bundler for check
++#     $(BUNDLER) install
++#     $(BUNDLER) exec $(RUBY) -I. test_suite.rb
+ endif
+ clean-local:
diff --git a/patches/no_composer_install.patch b/patches/no_composer_install.patch
new file mode 100644 (file)
index 0000000..5d88e35
--- /dev/null
@@ -0,0 +1,36 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ thrift (0.12.0-1) experimental; urgency=medium
+ .
+   * New major upstream release.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-09-18
+
+--- thrift-0.12.0.orig/lib/php/test/Makefile.am
++++ thrift-0.12.0/lib/php/test/Makefile.am
+@@ -30,7 +30,7 @@ stubs: ../../../test/ThriftTest.thrift
+       $(THRIFT) --gen php:json         -r --out ./packages/phpjs  TestValidators.thrift
+ deps: $(top_srcdir)/composer.json
+-      composer install --working-dir=$(top_srcdir)
++      echo Disabled composer install --working-dir=$(top_srcdir)
+ all-local: deps
diff --git a/patches/no_go_race.patch b/patches/no_go_race.patch
new file mode 100644 (file)
index 0000000..1dbfa3d
--- /dev/null
@@ -0,0 +1,18 @@
+Description: run simple Go test only
+ Race testing is available on amd64, ppc64le and arm64 only.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2022-04-01
+
+---
+
+--- a/lib/go/Makefile.am
++++ b/lib/go/Makefile.am
+@@ -31,7 +31,7 @@ install:
+       @echo '##############################################################'
+ check-local:
+-      $(GO) test -mod=mod -race ./thrift
++      $(GO) test -mod=mod ./thrift
+ clean-local:
+       $(RM) -rf pkg
diff --git a/patches/no_gradlew.patch b/patches/no_gradlew.patch
new file mode 100644 (file)
index 0000000..f986d56
--- /dev/null
@@ -0,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) <gcs@debian.org>
+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 --git a/patches/no_pom.patch b/patches/no_pom.patch
new file mode 100644 (file)
index 0000000..5b98780
--- /dev/null
@@ -0,0 +1,18 @@
+Description: no need for ANT Maven task
+ Just disable its download.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+
+---
+
+--- thrift-0.9.2.orig/lib/java/build.xml
++++ thrift-0.9.2/lib/java/build.xml
+@@ -295,7 +295,9 @@
+   </target>
+   <target name="mvn.ant.tasks.download" depends="setup.init,mvn.ant.tasks.check,proxy" unless="mvn.ant.tasks.found">
++<!--
+     <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
++-->
+   </target>
+   <target name="mvn.ant.tasks.check">
diff --git a/patches/no_shmem.patch b/patches/no_shmem.patch
new file mode 100644 (file)
index 0000000..d28554d
--- /dev/null
@@ -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) <gcs@debian.org>
+Last-Update: 2017-09-11
+
+---
+
+--- thrift-0.9.2.orig/test/py/RunClientServer.py
++++ thrift-0.9.2/test/py/RunClientServer.py
+@@ -69,7 +69,8 @@ def default_servers():
+         'THttpServer',
+     ]
+     if platform.system() != 'Windows':
+-        servers.append('TProcessPoolServer')
++# buildd servers don't have shmem enabled
++#        servers.append('TProcessPoolServer')
+         servers.append('TForkingServer')
+     return servers
diff --git a/patches/node_is_nodejs.patch b/patches/node_is_nodejs.patch
new file mode 100644 (file)
index 0000000..3112c47
--- /dev/null
@@ -0,0 +1,40 @@
+Description: node is called nodejs in Debian
+ Use the proper binary name.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2019-10-23
+
+---
+
+--- a/lib/nodejs/test/testAll.sh
++++ b/lib/nodejs/test/testAll.sh
+@@ -45,7 +45,7 @@ testServer()
+     ${ISTANBUL} cover ${DIR}/server.js --dir ${REPORT_PREFIX}${COUNT} --handle-sigint -- --type $2 -p $3 -t $4 $5 &
+     COUNT=$((COUNT+1))
+   else
+-    node ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 &
++    nodejs ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 &
+   fi
+   SERVERPID=$!
+   sleep 0.1
+@@ -53,7 +53,7 @@ testServer()
+     ${ISTANBUL} cover ${DIR}/client.js --dir ${REPORT_PREFIX}${COUNT} -- --${1} --type $2 -p $3 -t $4 $5 || RET=1
+     COUNT=$((COUNT+1))
+   else
+-    node ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1
++    nodejs ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1
+   fi
+   kill -2 $SERVERPID || RET=1
+   wait $SERVERPID
+@@ -117,9 +117,9 @@ fi
+ # unit tests
+-node ${DIR}/binary.test.js || TESTOK=1
+-node ${DIR}/int64.test.js || TESTOK=1
+-node ${DIR}/deep-constructor.test.js || TESTOK=1
++nodejs ${DIR}/binary.test.js || TESTOK=1
++nodejs ${DIR}/int64.test.js || TESTOK=1
++nodejs ${DIR}/deep-constructor.test.js || TESTOK=1
+ # integration tests
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..15c3104
--- /dev/null
@@ -0,0 +1,18 @@
+##link_with_zlib.patch
+#no_pom.patch
+node_is_nodejs.patch
+no_bundler_use.patch
+#/golang_dependency_installed.patch
+broken_boost_1.62.patch
+disable_TLSv1_0_and_TLSv1_1.patch
+no_shmem.patch
+disable_failing_tests.patch
+go_test_fail_on_busy_machine.patch
+no_composer_install.patch
+disable_php_testing.patch
+disable_locale_tests.patch
+no_go_race.patch
+#/no_gradlew.patch
+missing_go_test.patch
+#/link_tests_atomic.patch
+go_no_mod.patch
diff --git a/php-thrift.install b/php-thrift.install
new file mode 100644 (file)
index 0000000..6c18341
--- /dev/null
@@ -0,0 +1,2 @@
+etc/php.d/thrift_protocol.ini /etc/php/7.3/mods-available/
+usr/lib/php/
diff --git a/php5-thrift.dirs b/php5-thrift.dirs
new file mode 100644 (file)
index 0000000..8ca3a0f
--- /dev/null
@@ -0,0 +1 @@
+etc/php5/conf.d
diff --git a/python3-thrift.install b/python3-thrift.install
new file mode 100644 (file)
index 0000000..27f8b89
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/python3/*-packages/*.egg-info
+usr/lib/python3/*-packages/thrift/
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..dca2663
--- /dev/null
+++ b/rules
@@ -0,0 +1,146 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+# for Java install
+#export CLASSPATH=/usr/share/java/commons-codec.jar:/usr/share/java/commons-logging.jar:/usr/share/java/slf4j-simple.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/servlet-api-3.1.jar:/usr/share/java/httpcore.jar:/usr/share/java/httpclient.jar:/usr/share/java/junit4.jar:/usr/share/java/ant-junit.jar:.
+
+export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions
+
+ifneq (,$(filter $(DEB_HOST_ARCH), armel mipsel))
+  export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
+endif
+
+# Go 1.16 expects a go.mod file by default and thrift Go extension does not
+# contain that, let's turn it off for now.
+#export GO111MODULE=off
+
+# for Go install
+export DH_GOPKG=thrift
+export XDG_CACHE_HOME=$(CURDIR)/go-cache/
+
+# for Ruby install
+export DESTDIR=$(CURDIR)/debian/tmp/
+
+#export JAVA_PREFIX=/usr/share/java/
+export PERL_PREFIX=/usr/
+export INSTALLDIRS=vendor
+
+export QT_SELECT=qt5
+
+# Set install Perl locations
+ARCHLIB := $(shell perl -MConfig -e 'print $$Config{vendorarch}')
+
+RUBY_LIBDIR := $(shell ruby -rrbconfig -e'print RbConfig::CONFIG["vendordir"]')
+
+PYTHON3_VERSIONS = $(shell py3versions -r)
+
+override_dh_autoreconf:
+       $(CURDIR)/bootstrap.sh
+
+override_dh_auto_clean:
+       $(RM) -r $(CURDIR)/go-cache/
+       $(RM) $(CURDIR)/test/go/genmock.sh
+       $(RM) -r $(CURDIR)/lib/py/build/ \
+               $(CURDIR)/lib/py/thrift.egg-info/
+       $(RM) $(CURDIR)/test/go/src/github.com \
+               $(CURDIR)/test/go/src/golang.org/x/tools \
+               $(CURDIR)/test/go/src/golang.org/x/net \
+               $(CURDIR)/lib/go/test/gopath/src/golang.org/x/net \
+               $(CURDIR)/lib/go/test/gopath/src/github.com/golang/mock
+       [ ! -f Makefile ] || $(MAKE) clean
+       cd $(CURDIR)/lib/php/src/ext/thrift_protocol/ && phpize --clean
+       find $(CURDIR) \( -name Makefile -o -name Makefile.in \) -exec rm {} \;
+       find $(CURDIR) -name .dirstamp -exec rm {} \;
+       $(RM) aclocal/libtool.m4 aclocal/lt*
+       $(RM) aclocal.m4 config.guess config.h config.log config.status \
+               config.sub configure configure.scan depcomp libtool stamp-h1 \
+               lib/cpp/*.pc lib/c_glib/thrift_c_glib.pc
+       $(RM) lib/c_glib/src/thrift/config.h \
+               lib/c_glib/src/thrift/stamp-h3 \
+               lib/cpp/src/thrift/config.h \
+               lib/cpp/src/thrift/stamp-h2 \
+               lib/cpp/test/tests.xml
+       $(RM) autoscan.log config.hin
+#      jh_clean
+       # let dh clean
+       dh_auto_clean
+
+override_dh_auto_configure:
+       dh_auto_configure -- \
+               --with-cpp --with-c_glib --with-php --with-php_extension \
+               --with-perl --without-python --with-py3 --without-java \
+               --without-nodejs --without-erlang --without-lua \
+               --with-go --with-ruby \
+               --with-qt4=no --with-qt5=yes \
+               --without-rust \
+               --disable-tutorial
+
+override_dh_auto_build:
+#      mkdir -p $(CURDIR)/lib/java/build/lib/
+       # symlinks for Go build
+       mkdir -p $(CURDIR)/lib/go/test/gopath/src/
+       ln -s /usr/share/gocode/src/github.com \
+               $(CURDIR)/test/go/src/
+       mkdir -p $(CURDIR)/lib/go/test/gopath/src/golang.org/x/
+       ln -s /usr/share/gocode/src/golang.org/x/net \
+               $(CURDIR)/lib/go/test/gopath/src/golang.org/x/
+
+       dh_auto_build --no-parallel
+       set -ex; cd lib/py && for python in $(PYTHON3_VERSIONS); do \
+         $$python setup.py build; \
+       done
+#      jh_build thrift.jar $(CURDIR)/lib/java/src/
+
+override_dh_auto_install:
+       dh_auto_install -- INSTALLDIRS=vendor
+       set -ex; cd lib/py && for python in $(PYTHON3_VERSIONS); do \
+         $$python setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp; \
+       done
+#      jh_installlibs -plibthrift-java thrift.jar
+#      jh_installjavadoc
+#      jh_depends
+
+       find $(CURDIR)/debian/tmp/ -name \*.la -exec rm {} \;
+
+override_dh_missing:
+       dh_missing --list-missing
+
+override_dh_auto_test:
+       cd $(CURDIR)/lib/c_glib/test/ && \
+               $(MAKE) gen-c_glib/t_test_enum_test_types.h
+       mkdir -p $(CURDIR)/vendor/bin/
+       ln -s /usr/bin/phpunit $(CURDIR)/vendor/bin/
+       ln -s $(CURDIR)/lib/php/src/autoload.php $(CURDIR)/vendor/
+       touch $(CURDIR)/test/go/genmock.sh
+       mkdir -p $(CURDIR)/test/go/src/golang.org/x/
+       # symlinks for Go testing
+       ln -s /usr/share/gocode/src/golang.org/x/tools \
+               $(CURDIR)/test/go/src/golang.org/x/
+       ln -s /usr/share/gocode/src/golang.org/x/net/ \
+               $(CURDIR)/test/go/src/golang.org/x/
+       # GOPATH set automatically to $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
+       mkdir -p $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/lib/
+       ln -s $(CURDIR)/lib/go \
+               $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/lib/
+       mkdir -p $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/golang/
+       ln -s /usr/share/gocode/src/github.com/golang/mock \
+               $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/golang/
+       ln -s $(CURDIR)/lib/go/test/fuzz/gen-go/shared \
+               $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/
+       ln -s $(CURDIR)/lib/go/test/fuzz/gen-go/tutorial \
+               $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/
+       ln -s $(CURDIR)/test \
+               $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)/src/github.com/apache/thrift/
+       dh_auto_test --no-parallel
+
+%:
+       dh $@ --with python3,ruby,phpcomposer
+
+.PHONY: override_dh_autoreconf override_dh_auto_clean \
+       override_dh_auto_configure override_dh_auto_install \
+       override_dh_missing override_dh_auto_test
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/lintian-overrides b/source/lintian-overrides
new file mode 100644 (file)
index 0000000..f084e7d
--- /dev/null
@@ -0,0 +1,8 @@
+# Long lines only
+source-is-missing lib/js/test/phantom-client.js
+source-is-missing lib/js/test/test-async.js
+source-is-missing lib/js/test/test-es6.js
+source-is-missing lib/js/test/test.js
+
+# Only one file, not the whole source
+license-problem-php-license debian/copyright
diff --git a/thrift-compiler.docs b/thrift-compiler.docs
new file mode 100644 (file)
index 0000000..6d5ee1d
--- /dev/null
@@ -0,0 +1 @@
+NOTICE
diff --git a/thrift-compiler.examples b/thrift-compiler.examples
new file mode 100644 (file)
index 0000000..52685b7
--- /dev/null
@@ -0,0 +1,2 @@
+tutorial/tutorial.thrift
+tutorial/shared.thrift
diff --git a/thrift-compiler.install b/thrift-compiler.install
new file mode 100644 (file)
index 0000000..c703cf8
--- /dev/null
@@ -0,0 +1 @@
+usr/bin/
diff --git a/thrift-compiler.manpages b/thrift-compiler.manpages
new file mode 100644 (file)
index 0000000..b3b5f6a
--- /dev/null
@@ -0,0 +1 @@
+debian/thrift.1
diff --git a/thrift-doc.docs b/thrift-doc.docs
new file mode 100644 (file)
index 0000000..299950c
--- /dev/null
@@ -0,0 +1,2 @@
+#DOCS#
+
diff --git a/thrift-doc.install b/thrift-doc.install
new file mode 100644 (file)
index 0000000..6d5ee1d
--- /dev/null
@@ -0,0 +1 @@
+NOTICE
diff --git a/thrift.1 b/thrift.1
new file mode 100644 (file)
index 0000000..24da581
--- /dev/null
+++ b/thrift.1
@@ -0,0 +1,78 @@
+.TH "THRIFT" "1" "July  9, 2012" "thrift-compiler" "thrift"
+.SH NAME
+thrift \ - code generator/compiler for Thrift IDL
+.SH SYNOPSIS
+.B thrift
+[options] \fIsource_file\fR
+.SH DESCRIPTION
+Thrift is a framework for efficient serialization and RPC services.  The
+.B thrift
+compiler accepts a source file containing definitions of Thrift structs and services,
+and generates the language-specific code to implement them.
+.SH OPTIONS
+.TP
+\fB\-version\fR
+.RS 4
+print the compiler version and exit
+.RE
+.TP
+\fB\-o DIRECTORY\fR
+.RS 4
+Set the output directory for gen-* packages (default: current directory)
+.RE
+.TP
+\fB\-out DIRECTORY\fR
+.RS 4
+Set the ouput location for generated files. (no gen-* folder will be created)
+.RE
+.TP
+\fB\-I DIRECTORY\fR
+.RS 4
+Add a directory to the list of directories searched for include directives
+.RE
+.TP
+\fB\-nowarn\fR
+.RS 4
+Suppress all compiler warnings (BAD!)
+.RE
+.TP
+\fB\-strict\fR
+.RS 4
+Strict compiler warnings on
+.RE
+.TP
+\fB\-v[erbose]\fR
+.RS 4
+Verbose mode
+.RE
+.TP
+\fB\-r[ecurse]\fR
+.RS 4
+Also generate included files
+.RE
+.TP
+\fB\-debug\fR
+.RS 4
+Parse debug trace to stdout
+.RE
+.TP
+\fB\-\-gen STRING\fR
+.RS 4
+Generate code with a dynamically-registered generator. STRING has the form
+language[:key1=val1[,key2,[key3=val3]]].  Keys and values are options passed to
+the generator.  Many options will not require values.  For a complete list of
+supported generators, run
+.B thrift
+without arguments.
+.RE
+.SH AUTHOR
+Thrift is a top-level project of the Apache Software Foundation, (see
+http://thrift.apache.org).
+.PP
+This manual page was written by Eric Evans <eevans@debian.org> for the Debian
+system (but may be used by others). Permission is granted to copy, distribute
+and/or modify this document under the terms of the GNU General Public License,
+Version 2 or any  later version published by the Free Software Foundation.
+.PP
+On Debian systems, the complete text of the GNU General Public License can be
+found in /usr/share/common-licenses/GPL.
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..9f6ac2b
--- /dev/null
+++ b/watch
@@ -0,0 +1,2 @@
+version=3
+https://thrift.apache.org/download .*/thrift-(\d[\d\.]+)\.(?:tgz|tar\.(?:gz|bz2|xz))