From 58b85d9990aa65a44cd27f2608a79f40dfd253d8 Mon Sep 17 00:00:00 2001 From: "Laszlo Boszormenyi (GCS)" Date: Sun, 15 May 2022 13:42:11 +0100 Subject: [PATCH 1/1] Import thrift_0.16.0-5.debian.tar.xz [dgit import tarball thrift 0.16.0-5 thrift_0.16.0-5.debian.tar.xz] --- README.md | 41 ++++ changelog | 221 +++++++++++++++++++++ control | 191 ++++++++++++++++++ copyright | 85 ++++++++ dirs | 2 + docs | 1 + golang-thrift-dev.install | 1 + libthrift-0.16.0.install | 4 + libthrift-0.16.0.shlibs | 4 + libthrift-c-glib-dev.install | 4 + libthrift-c-glib0.install | 1 + libthrift-dev.install | 20 ++ libthrift-java-doc.doc-base | 8 + libthrift-java-doc.install | 1 + libthrift-perl.install | 2 + libthrift0.install | 5 + patches/THRIFT-5449.patch | 94 +++++++++ patches/broken_boost_1.62.patch | 22 ++ patches/disable_IPv4_only_tests.patch | 33 +++ patches/disable_TLSv1_0_and_TLSv1_1.patch | 26 +++ patches/disable_failing_tests.patch | 68 +++++++ patches/disable_locale_tests.patch | 37 ++++ patches/disable_php_testing.patch | 26 +++ patches/fix_out_of_memory.patch | 24 +++ patches/go_no_mod.patch | 101 ++++++++++ patches/go_test_fail_on_busy_machine.patch | 27 +++ patches/link_with_zlib.patch | 42 ++++ patches/missing_go_test.patch | 71 +++++++ patches/no_bundler_use.patch | 56 ++++++ patches/no_composer_install.patch | 36 ++++ patches/no_go_race.patch | 18 ++ patches/no_pom.patch | 18 ++ patches/no_shmem.patch | 19 ++ patches/node_is_nodejs.patch | 40 ++++ patches/series | 20 ++ php-thrift.install | 2 + php5-thrift.dirs | 1 + python3-thrift.install | 2 + rules | 146 ++++++++++++++ source/format | 1 + source/lintian-overrides | 8 + thrift-compiler.docs | 1 + thrift-compiler.examples | 2 + thrift-compiler.install | 1 + thrift-compiler.manpages | 1 + thrift-doc.docs | 2 + thrift-doc.install | 1 + thrift.1 | 78 ++++++++ watch | 2 + 49 files changed, 1617 insertions(+) create mode 100644 README.md create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 dirs create mode 100644 docs create mode 100644 golang-thrift-dev.install create mode 100644 libthrift-0.16.0.install create mode 100644 libthrift-0.16.0.shlibs create mode 100644 libthrift-c-glib-dev.install create mode 100644 libthrift-c-glib0.install create mode 100644 libthrift-dev.install create mode 100644 libthrift-java-doc.doc-base create mode 100644 libthrift-java-doc.install create mode 100644 libthrift-perl.install create mode 100644 libthrift0.install create mode 100644 patches/THRIFT-5449.patch create mode 100644 patches/broken_boost_1.62.patch create mode 100644 patches/disable_IPv4_only_tests.patch create mode 100644 patches/disable_TLSv1_0_and_TLSv1_1.patch create mode 100644 patches/disable_failing_tests.patch create mode 100644 patches/disable_locale_tests.patch create mode 100644 patches/disable_php_testing.patch create mode 100644 patches/fix_out_of_memory.patch create mode 100644 patches/go_no_mod.patch create mode 100644 patches/go_test_fail_on_busy_machine.patch create mode 100644 patches/link_with_zlib.patch create mode 100644 patches/missing_go_test.patch create mode 100644 patches/no_bundler_use.patch create mode 100644 patches/no_composer_install.patch create mode 100644 patches/no_go_race.patch create mode 100644 patches/no_pom.patch create mode 100644 patches/no_shmem.patch create mode 100644 patches/node_is_nodejs.patch create mode 100644 patches/series create mode 100644 php-thrift.install create mode 100644 php5-thrift.dirs create mode 100644 python3-thrift.install create mode 100755 rules create mode 100644 source/format create mode 100644 source/lintian-overrides create mode 100644 thrift-compiler.docs create mode 100644 thrift-compiler.examples create mode 100644 thrift-compiler.install create mode 100644 thrift-compiler.manpages create mode 100644 thrift-doc.docs create mode 100644 thrift-doc.install create mode 100644 thrift.1 create mode 100644 watch diff --git a/README.md b/README.md new file mode 100644 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 index 0000000..e600e2e --- /dev/null +++ b/changelog @@ -0,0 +1,221 @@ +thrift (0.16.0-5) unstable; urgency=medium + + * Disable IPv4 tests for not working on IPv6 only hosts (closes: #1011011). + + -- Laszlo Boszormenyi (GCS) Sun, 15 May 2022 14:42:11 +0200 + +thrift (0.16.0-4) unstable; urgency=medium + + * Specify libs as section for libthrift-0.16.0 . + * Backport upstream fix for out of memory when use TNonblockingServer. + * Backport upstream fix THRIFT-5449: use poll instead of select in Python + TNonblockingServer if available. + + -- Laszlo Boszormenyi (GCS) Tue, 26 Apr 2022 17:14:22 +0200 + +thrift (0.16.0-3) unstable; urgency=medium + + * Upload to Sid. + * This release contains fix for Python 3.10 (closes: #1008810). + + -- Laszlo Boszormenyi (GCS) 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) 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) 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 ] + * 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) 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) 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 ] + * Link with libatomic on ARMel and MIPSel (closes: #972948). + + -- Laszlo Boszormenyi (GCS) 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) 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) 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) 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) 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) 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) 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 ] + * Build python3 package (closes: #913724). + + [ Gianfranco Costamagna ] + * Export HOME to make the build happy (closes: #935620). + * Fix another failure due to new go with upstream patch. + + -- Laszlo Boszormenyi (GCS) 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) 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/control b/control new file mode 100644 index 0000000..f94fe8e --- /dev/null +++ b/control @@ -0,0 +1,191 @@ +Source: thrift +Section: devel +Priority: optional +Maintainer: Laszlo Boszormenyi (GCS) +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 +Section: libs +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 +Section: libdevel +Architecture: any +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 +Section: libdevel +Architecture: any +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 +Section: php +Architecture: any +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 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 +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 , + Copyright 2014- Laszlo Boszormenyi (GCS) +License: GPL-2+ + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + . + You should have received a copy of the GNU General Public License along + with this package; if not, write to the Free Software Foundation, Inc., + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public License version + 2 can be found in the file `/usr/share/common-licenses/GPL-2'. + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the full text of the GNU General Public License + version 3 can be found in the file `/usr/share/common-licenses/GPL-3'. + +License: 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 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 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 index 0000000..d091038 --- /dev/null +++ b/golang-thrift-dev.install @@ -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 index 0000000..d0b0147 --- /dev/null +++ b/libthrift-0.16.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/libthrift-0.16.0.shlibs b/libthrift-0.16.0.shlibs new file mode 100644 index 0000000..87767f9 --- /dev/null +++ b/libthrift-0.16.0.shlibs @@ -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 index 0000000..6e062c9 --- /dev/null +++ b/libthrift-c-glib-dev.install @@ -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 index 0000000..d71b50d --- /dev/null +++ b/libthrift-c-glib0.install @@ -0,0 +1 @@ +usr/lib/*/libthrift_c_glib.so.* diff --git a/libthrift-dev.install b/libthrift-dev.install new file mode 100644 index 0000000..54e3e13 --- /dev/null +++ b/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/libthrift-java-doc.doc-base b/libthrift-java-doc.doc-base new file mode 100644 index 0000000..03672c0 --- /dev/null +++ b/libthrift-java-doc.doc-base @@ -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 index 0000000..1c29668 --- /dev/null +++ b/libthrift-java-doc.install @@ -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 index 0000000..f3ee2e4 --- /dev/null +++ b/libthrift-perl.install @@ -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 index 0000000..ec74efc --- /dev/null +++ b/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/patches/THRIFT-5449.patch b/patches/THRIFT-5449.patch new file mode 100644 index 0000000..b40bebf --- /dev/null +++ b/patches/THRIFT-5449.patch @@ -0,0 +1,94 @@ +From 88a45ac77518eafb57db08938ecdf38c5fcf7a31 Mon Sep 17 00:00:00 2001 +From: Yiyang Zhou +Date: Wed, 4 Aug 2021 21:55:04 +0800 +Subject: [PATCH] THRIFT-5449: Use poll instead of select in Python + TNonblockingServer if available Client: Python + +--- + lib/py/src/server/TNonblockingServer.py | 46 +++++++++++++++++++++++-- + 1 file changed, 44 insertions(+), 2 deletions(-) + +diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py +index ac06496511..fdf6779ad2 100644 +--- a/lib/py/src/server/TNonblockingServer.py ++++ b/lib/py/src/server/TNonblockingServer.py +@@ -253,6 +253,7 @@ def __init__(self, + self._read, self._write = socket.socketpair() + self.prepared = False + self._stop = False ++ self.poll = select.poll() if hasattr(select, 'poll') else None + + def setNumThreads(self, num): + """Set the number of worker threads that should be created.""" +@@ -318,13 +319,53 @@ def _select(self): + else: + return select.select(readable, writable, readable) + (True,) + ++ def _poll_select(self): ++ """Does poll on open connections, if available.""" ++ remaining = [] ++ ++ self.poll.register(self.socket.handle.fileno(), select.POLLIN | select.POLLRDNORM) ++ self.poll.register(self._read.fileno(), select.POLLIN | select.POLLRDNORM) ++ ++ for i, connection in list(self.clients.items()): ++ if connection.is_readable(): ++ self.poll.register(connection.fileno(), select.POLLIN | select.POLLRDNORM | select.POLLERR | select.POLLHUP | select.POLLNVAL) ++ if connection.remaining or connection.received: ++ remaining.append(connection.fileno()) ++ if connection.is_writeable(): ++ self.poll.register(connection.fileno(), select.POLLOUT | select.POLLWRNORM) ++ if connection.is_closed(): ++ try: ++ self.poll.unregister(i) ++ except KeyError: ++ logger.debug("KeyError in unregistering connections...") ++ del self.clients[i] ++ if remaining: ++ return remaining, [], [], False ++ ++ rlist = [] ++ wlist = [] ++ xlist = [] ++ pollres = self.poll.poll() ++ for fd, event in pollres: ++ if event & (select.POLLERR | select.POLLHUP | select.POLLNVAL): ++ xlist.append(fd) ++ elif event & (select.POLLOUT | select.POLLWRNORM): ++ wlist.append(fd) ++ elif event & (select.POLLIN | select.POLLRDNORM): ++ rlist.append(fd) ++ else: # should be impossible ++ logger.debug("reached an impossible state in _poll_select") ++ xlist.append(fd) ++ ++ return rlist, wlist, xlist, True ++ + def handle(self): + """Handle requests. + + WARNING! You must call prepare() BEFORE calling handle() + """ + assert self.prepared, "You have to call prepare before handle" +- rset, wset, xset, selected = self._select() ++ rset, wset, xset, selected = self._select() if not self.poll else self._poll_select() + for readable in rset: + if readable == self._read.fileno(): + # don't care i just need to clean readable flag +@@ -343,6 +384,8 @@ def handle(self): + connection.read() + if connection.received: + connection.status = WAIT_PROCESS ++ if self.poll: ++ self.poll.unregister(connection.fileno()) + msg = connection.received.popleft() + itransport = TTransport.TMemoryBuffer(msg.buffer, msg.offset) + otransport = TTransport.TMemoryBuffer() +@@ -354,7 +397,6 @@ def handle(self): + self.clients[writeable].write() + for oob in xset: + self.clients[oob].close() +- del self.clients[oob] + + def close(self): + """Closes the server.""" diff --git a/patches/broken_boost_1.62.patch b/patches/broken_boost_1.62.patch new file mode 100644 index 0000000..3af4b76 --- /dev/null +++ b/patches/broken_boost_1.62.patch @@ -0,0 +1,22 @@ +Description: these fail in chroot environments +Author: Laszlo Boszormenyi (GCS) +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_IPv4_only_tests.patch b/patches/disable_IPv4_only_tests.patch new file mode 100644 index 0000000..fff6b15 --- /dev/null +++ b/patches/disable_IPv4_only_tests.patch @@ -0,0 +1,33 @@ +Description: disable IPv4 only tests + As these tests are IPv4 only, fail to work on IPv6 hosts. Disable to prevent + FTBFS. +Author: Laszlo Boszormenyi (GCS) +Forwarded: no +Bug-Debian: https://bugs.debian.org/1011011 +Last-Update: 2022-05-15 + +--- + +--- a/lib/cpp/test/Makefile.am ++++ b/lib/cpp/test/Makefile.am +@@ -82,7 +82,6 @@ Benchmark_SOURCES = \ + Benchmark_LDADD = libtestgencpp.la + + check_PROGRAMS = \ +- UnitTests \ + TFDTransportTest \ + TPipedTransportTest \ + DebugProtoTest \ +@@ -105,9 +104,9 @@ check_PROGRAMS = \ + if AMX_HAVE_LIBEVENT + noinst_PROGRAMS += \ + processor_test +-check_PROGRAMS += \ +- TNonblockingServerTest \ +- TNonblockingSSLServerTest ++#check_PROGRAMS += \ ++# TNonblockingServerTest \ ++# TNonblockingSSLServerTest + endif + + TESTS_ENVIRONMENT= \ diff --git a/patches/disable_TLSv1_0_and_TLSv1_1.patch b/patches/disable_TLSv1_0_and_TLSv1_1.patch new file mode 100644 index 0000000..9d9ec74 --- /dev/null +++ b/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: 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 index 0000000..6d4f02a --- /dev/null +++ b/patches/disable_failing_tests.patch @@ -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) +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 index 0000000..d09a1d5 --- /dev/null +++ b/patches/disable_locale_tests.patch @@ -0,0 +1,37 @@ +Description: disable locale specific tests + On buildd network locales might not be available. +Author: Laszlo Boszormenyi (GCS) +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 l; diff --git a/patches/disable_php_testing.patch b/patches/disable_php_testing.patch new file mode 100644 index 0000000..0b40284 --- /dev/null +++ b/patches/disable_php_testing.patch @@ -0,0 +1,26 @@ +Description: PHP tests are not phpunit 8 compatible + Disable those for now. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2019-09-22 + +--- + +--- thrift-0.12.0.orig/lib/php/test/Makefile.am ++++ thrift-0.12.0/lib/php/test/Makefile.am +@@ -35,13 +35,13 @@ deps: $(top_srcdir)/composer.json + all-local: deps + + check-json-serializer: deps stubs +- $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/ ++# $(PHPUNIT) --log-junit=TEST-log-json-serializer.xml JsonSerialize/ + + check-validator: deps stubs +- $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/ ++# $(PHPUNIT) --log-junit=TEST-log-validator.xml Validator/ + + check-protocol: deps stubs +- $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/ ++# $(PHPUNIT) --log-junit=TEST-log-protocol.xml Protocol/ + + check: deps stubs \ + check-protocol \ diff --git a/patches/fix_out_of_memory.patch b/patches/fix_out_of_memory.patch new file mode 100644 index 0000000..ac90ac7 --- /dev/null +++ b/patches/fix_out_of_memory.patch @@ -0,0 +1,24 @@ +From b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04 Mon Sep 17 00:00:00 2001 +From: shangxu +Date: Fri, 13 Nov 2020 18:03:01 +0800 +Subject: [PATCH] fix Out Of Memory when use TNonblockingServer + +--- + lib/py/src/server/TNonblockingServer.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py +index f62d486ebc..ac06496511 100644 +--- a/lib/py/src/server/TNonblockingServer.py ++++ b/lib/py/src/server/TNonblockingServer.py +@@ -151,6 +151,10 @@ def read(self): + while len(self._rbuf) >= self._reading.end: + if self._reading.is_header: + mlen, = struct.unpack('!i', self._rbuf[:4]) ++ if mlen < 0: ++ logger.error('could not read the head from frame') ++ self.close() ++ break + self._reading = Message(self._reading.end, mlen, False) + self.status = WAIT_MESSAGE + else: diff --git a/patches/go_no_mod.patch b/patches/go_no_mod.patch new file mode 100644 index 0000000..d5a945a --- /dev/null +++ b/patches/go_no_mod.patch @@ -0,0 +1,101 @@ +Description: Go mod can't be specified + Just delete those from Go invocation. +Author: Laszlo Boszormenyi (GCS) +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 index 0000000..979341c --- /dev/null +++ b/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: 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/link_with_zlib.patch b/patches/link_with_zlib.patch new file mode 100644 index 0000000..f421c3a --- /dev/null +++ b/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/patches/missing_go_test.patch b/patches/missing_go_test.patch new file mode 100644 index 0000000..58250b4 --- /dev/null +++ b/patches/missing_go_test.patch @@ -0,0 +1,71 @@ +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.16.0-1) experimental; urgency=medium + . + * New major upstream release. +Author: Laszlo Boszormenyi (GCS) + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: 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 index 0000000..ec4ebb3 --- /dev/null +++ b/patches/no_bundler_use.patch @@ -0,0 +1,56 @@ +Description: do not use bundler as per Ruby policy + . +Author: Laszlo Boszormenyi (GCS) +Bug-Debian: https://bugs.debian.org/804668 +Last-Update: 2019-10-23 + +--- + +--- a/lib/rb/Makefile.am ++++ b/lib/rb/Makefile.am +@@ -22,20 +22,24 @@ DESTDIR ?= / + if HAVE_BUNDLER + + all-local: +- $(BUNDLER) install +- $(BUNDLER) exec rake build_ext ++ echo Do not use bundler for all-local ++# $(BUNDLER) install ++# $(BUNDLER) exec rake build_ext + + install-exec-hook: +- $(BUNDLER) exec rake install ++ echo Do not use bundler for install-exec-hook ++# $(BUNDLER) exec rake install + + clean-local: +- $(BUNDLER) install +- $(BUNDLER) exec rake clean ++ echo Do not use bundler for clean-local ++# $(BUNDLER) install ++# $(BUNDLER) exec rake clean + $(RM) -r spec/gen-rb/ + + check-local: all +- $(BUNDLER) install +- $(BUNDLER) exec rake ++ echo Do not use bundler for check-local ++# $(BUNDLER) install ++# $(BUNDLER) exec rake + + endif + +--- a/test/rb/Makefile.am ++++ b/test/rb/Makefile.am +@@ -26,8 +26,9 @@ precross: stubs + + check: stubs + if HAVE_BUNDLER +- $(BUNDLER) install +- $(BUNDLER) exec $(RUBY) -I. test_suite.rb ++ echo Do not use bundler for check ++# $(BUNDLER) install ++# $(BUNDLER) exec $(RUBY) -I. test_suite.rb + endif + + clean-local: diff --git a/patches/no_composer_install.patch b/patches/no_composer_install.patch new file mode 100644 index 0000000..5d88e35 --- /dev/null +++ b/patches/no_composer_install.patch @@ -0,0 +1,36 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + thrift (0.12.0-1) experimental; urgency=medium + . + * New major upstream release. +Author: Laszlo Boszormenyi (GCS) + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: 2019-09-18 + +--- thrift-0.12.0.orig/lib/php/test/Makefile.am ++++ thrift-0.12.0/lib/php/test/Makefile.am +@@ -30,7 +30,7 @@ stubs: ../../../test/ThriftTest.thrift + $(THRIFT) --gen php:json -r --out ./packages/phpjs TestValidators.thrift + + deps: $(top_srcdir)/composer.json +- composer install --working-dir=$(top_srcdir) ++ echo Disabled composer install --working-dir=$(top_srcdir) + + all-local: deps + diff --git a/patches/no_go_race.patch b/patches/no_go_race.patch new file mode 100644 index 0000000..1dbfa3d --- /dev/null +++ b/patches/no_go_race.patch @@ -0,0 +1,18 @@ +Description: run simple Go test only + Race testing is available on amd64, ppc64le and arm64 only. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 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_pom.patch b/patches/no_pom.patch new file mode 100644 index 0000000..5b98780 --- /dev/null +++ b/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/patches/no_shmem.patch b/patches/no_shmem.patch new file mode 100644 index 0000000..d28554d --- /dev/null +++ b/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 +@@ -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 index 0000000..3112c47 --- /dev/null +++ b/patches/node_is_nodejs.patch @@ -0,0 +1,40 @@ +Description: node is called nodejs in Debian + Use the proper binary name. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2019-10-23 + +--- + +--- a/lib/nodejs/test/testAll.sh ++++ b/lib/nodejs/test/testAll.sh +@@ -45,7 +45,7 @@ testServer() + ${ISTANBUL} cover ${DIR}/server.js --dir ${REPORT_PREFIX}${COUNT} --handle-sigint -- --type $2 -p $3 -t $4 $5 & + COUNT=$((COUNT+1)) + else +- node ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 & ++ nodejs ${DIR}/server.js --${1} --type $2 -p $3 -t $4 $5 & + fi + SERVERPID=$! + sleep 0.1 +@@ -53,7 +53,7 @@ testServer() + ${ISTANBUL} cover ${DIR}/client.js --dir ${REPORT_PREFIX}${COUNT} -- --${1} --type $2 -p $3 -t $4 $5 || RET=1 + COUNT=$((COUNT+1)) + else +- node ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1 ++ nodejs ${DIR}/client.js --${1} --type $2 -p $3 -t $4 $5 || RET=1 + fi + kill -2 $SERVERPID || RET=1 + wait $SERVERPID +@@ -117,9 +117,9 @@ fi + + # unit tests + +-node ${DIR}/binary.test.js || TESTOK=1 +-node ${DIR}/int64.test.js || TESTOK=1 +-node ${DIR}/deep-constructor.test.js || TESTOK=1 ++nodejs ${DIR}/binary.test.js || TESTOK=1 ++nodejs ${DIR}/int64.test.js || TESTOK=1 ++nodejs ${DIR}/deep-constructor.test.js || TESTOK=1 + + # integration tests + diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..d77cb58 --- /dev/null +++ b/patches/series @@ -0,0 +1,20 @@ +##link_with_zlib.patch +#no_pom.patch +node_is_nodejs.patch +no_bundler_use.patch +broken_boost_1.62.patch +disable_TLSv1_0_and_TLSv1_1.patch +no_shmem.patch +disable_failing_tests.patch +go_test_fail_on_busy_machine.patch +no_composer_install.patch +disable_php_testing.patch +disable_locale_tests.patch +no_go_race.patch +#/no_gradlew.patch +missing_go_test.patch +#/link_tests_atomic.patch +go_no_mod.patch +fix_out_of_memory.patch +THRIFT-5449.patch +disable_IPv4_only_tests.patch diff --git a/php-thrift.install b/php-thrift.install new file mode 100644 index 0000000..6c18341 --- /dev/null +++ b/php-thrift.install @@ -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 index 0000000..8ca3a0f --- /dev/null +++ b/php5-thrift.dirs @@ -0,0 +1 @@ +etc/php5/conf.d diff --git a/python3-thrift.install b/python3-thrift.install new file mode 100644 index 0000000..27f8b89 --- /dev/null +++ b/python3-thrift.install @@ -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 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 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 0000000..f084e7d --- /dev/null +++ b/source/lintian-overrides @@ -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 index 0000000..6d5ee1d --- /dev/null +++ b/thrift-compiler.docs @@ -0,0 +1 @@ +NOTICE diff --git a/thrift-compiler.examples b/thrift-compiler.examples new file mode 100644 index 0000000..52685b7 --- /dev/null +++ b/thrift-compiler.examples @@ -0,0 +1,2 @@ +tutorial/tutorial.thrift +tutorial/shared.thrift diff --git a/thrift-compiler.install b/thrift-compiler.install new file mode 100644 index 0000000..c703cf8 --- /dev/null +++ b/thrift-compiler.install @@ -0,0 +1 @@ +usr/bin/ diff --git a/thrift-compiler.manpages b/thrift-compiler.manpages new file mode 100644 index 0000000..b3b5f6a --- /dev/null +++ b/thrift-compiler.manpages @@ -0,0 +1 @@ +debian/thrift.1 diff --git a/thrift-doc.docs b/thrift-doc.docs new file mode 100644 index 0000000..299950c --- /dev/null +++ b/thrift-doc.docs @@ -0,0 +1,2 @@ +#DOCS# + diff --git a/thrift-doc.install b/thrift-doc.install new file mode 100644 index 0000000..6d5ee1d --- /dev/null +++ b/thrift-doc.install @@ -0,0 +1 @@ +NOTICE diff --git a/thrift.1 b/thrift.1 new file mode 100644 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 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 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)) -- 2.30.2