From 3632b2acecabf21eb686d4105edf7be2e2c7efb5 Mon Sep 17 00:00:00 2001 From: Christopher Tubbs Date: Tue, 7 Mar 2017 17:20:17 -0500 Subject: [PATCH] Update to thrift 0.10.0 --- .gitignore | 1 + bootstrap.sh | 8 + configure-java-prefix.patch | 16 + ...ldxml.patch => fb303-0.10.0-buildxml.patch | 9 - libfb303-0.9.1.pom => libfb303-0.10.0.pom | 4 +- libthrift-0.9.1.pom => libthrift-0.10.0.pom | 13 +- sources | 2 +- ...dxml.patch => thrift-0.10.0-buildxml.patch | 61 ++-- thrift-0.9.1-Adapt-to-GCC-6.patch | 147 -------- ...em-header-sys-param.h-is-included-in.patch | 39 -- thrift-0.9.1-rebar.patch | 9 - thrift.spec | 341 ++++++++---------- 12 files changed, 214 insertions(+), 436 deletions(-) create mode 100644 configure-java-prefix.patch rename fb303-0.9.1-buildxml.patch => fb303-0.10.0-buildxml.patch (92%) rename libfb303-0.9.1.pom => libfb303-0.10.0.pom (97%) rename libthrift-0.9.1.pom => libthrift-0.10.0.pom (92%) rename thrift-0.9.1-buildxml.patch => thrift-0.10.0-buildxml.patch (85%) delete mode 100644 thrift-0.9.1-Adapt-to-GCC-6.patch delete mode 100644 thrift-0.9.1-THRIFT-2214-System-header-sys-param.h-is-included-in.patch delete mode 100644 thrift-0.9.1-rebar.patch diff --git a/.gitignore b/.gitignore index 8f68e6a..f5a770c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /0.9.1.tar.gz +/thrift-0.10.0.tar.gz diff --git a/bootstrap.sh b/bootstrap.sh index 0c2b886..52ecda4 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -38,6 +38,14 @@ else exit 1 fi +# we require automake 1.13 or later +# check must happen externally due to use of newer macro +AUTOMAKE_VERSION=`automake --version | grep automake | egrep -o '([0-9]{1,}\.)+[0-9]{1,}'` +if [ "$AUTOMAKE_VERSION" \< "1.13" ]; then + echo >&2 "automake version $AUTOMAKE_VERSION is too old (need 1.13 or later)" + exit 1 +fi + autoscan $LIBTOOLIZE --copy --automake aclocal -I ./aclocal diff --git a/configure-java-prefix.patch b/configure-java-prefix.patch new file mode 100644 index 0000000..ebd542f --- /dev/null +++ b/configure-java-prefix.patch @@ -0,0 +1,16 @@ +diff --git a/configure.ac b/configure.ac +index 0972abf..77107fc 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -34,10 +34,7 @@ AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules. + AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"]) + + AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar. +- Default = "/usr/local/lib"]) +-AS_IF([test "x$JAVA_PREFIX" != x], [JAVA_PREFIX="$JAVA_PREFIX/usr/local/lib"], +- [test "x$PREFIX" != x], [JAVA_PREFIX="$PREFIX/usr/local/lib"], +- [JAVA_PREFIX="/usr/local/lib"]) ++ Default = "/usr/share/java"]) + + AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules. + (Normal --prefix is ignored for Ruby because diff --git a/fb303-0.9.1-buildxml.patch b/fb303-0.10.0-buildxml.patch similarity index 92% rename from fb303-0.9.1-buildxml.patch rename to fb303-0.10.0-buildxml.patch index ec51503..bbff5ec 100644 --- a/fb303-0.9.1-buildxml.patch +++ b/fb303-0.10.0-buildxml.patch @@ -12,15 +12,6 @@ index 8f2fa51..d89f05e 100755 -@@ -26,7 +25,7 @@ - - - -- -+ - - - @@ -38,8 +37,8 @@ diff --git a/libfb303-0.9.1.pom b/libfb303-0.10.0.pom similarity index 97% rename from libfb303-0.9.1.pom rename to libfb303-0.10.0.pom index 29d0dff..c3fddde 100644 --- a/libfb303-0.9.1.pom +++ b/libfb303-0.10.0.pom @@ -4,7 +4,7 @@ 4.0.0 org.apache.thrift libfb303 - 0.9.1 + 0.10.0 pom Apache Thrift Thrift is a software framework for scalable cross-language services development. @@ -98,7 +98,7 @@ org.apache.thrift libthrift - 0.9.1 + 0.10.0 diff --git a/libthrift-0.9.1.pom b/libthrift-0.10.0.pom similarity index 92% rename from libthrift-0.9.1.pom rename to libthrift-0.10.0.pom index 9a146f0..7c5f61d 100644 --- a/libthrift-0.9.1.pom +++ b/libthrift-0.10.0.pom @@ -4,7 +4,7 @@ 4.0.0 org.apache.thrift libthrift - 0.9.1 + 0.10.0 pom Apache Thrift Thrift is a software framework for scalable cross-language services development. @@ -98,12 +98,7 @@ org.slf4j slf4j-api - 1.5.8 - - - org.apache.commons - commons-lang3 - 3.1 + 1.7.12 javax.servlet @@ -114,12 +109,12 @@ org.apache.httpcomponents httpclient - 4.2.5 + 4.4.1 org.apache.httpcomponents httpcore - 4.2.4 + 4.4.1 diff --git a/sources b/sources index d078a98..f7d47e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -147e8f2d3e48a272559aea554afdaf81 0.9.1.tar.gz +SHA512 (thrift-0.10.0.tar.gz) = 3695cf0fb0e4080b02446ab694fb61476997d8b181942dd6fe1e3e7cf0dcf990b4184ea33f9d0bc290b96200f702cf1ac1579e36b6b5bfe9ba8914b2d2938ddc diff --git a/thrift-0.9.1-buildxml.patch b/thrift-0.10.0-buildxml.patch similarity index 85% rename from thrift-0.9.1-buildxml.patch rename to thrift-0.10.0-buildxml.patch index d0f8f58..db4b497 100644 --- a/thrift-0.9.1-buildxml.patch +++ b/thrift-0.10.0-buildxml.patch @@ -1,5 +1,5 @@ diff --git a/lib/java/build.xml b/lib/java/build.xml -index c2bfd9c..69525e7 100755 +index 40e5284..db1ce54 100644 --- a/lib/java/build.xml +++ b/lib/java/build.xml @@ -17,8 +17,7 @@ @@ -9,16 +9,16 @@ index c2bfd9c..69525e7 100755 - + - + Thrift Build File -@@ -64,8 +63,15 @@ +@@ -67,8 +66,15 @@ -- +- - -+ ++ + + + @@ -30,23 +30,24 @@ index c2bfd9c..69525e7 100755 -@@ -75,10 +81,14 @@ +@@ -78,11 +84,14 @@ -+ +- ++ + + + - + - + -@@ -262,121 +272,12 @@ +@@ -295,120 +304,12 @@ @@ -57,7 +58,7 @@ index c2bfd9c..69525e7 100755 - - - - + - - @@ -68,10 +69,10 @@ index c2bfd9c..69525e7 100755 - - - -- - - -- @@ -106,7 +107,6 @@ index c2bfd9c..69525e7 100755 - - - -- - - - @@ -126,7 +126,7 @@ index c2bfd9c..69525e7 100755 - - - -- +- - - - @@ -148,7 +148,7 @@ index c2bfd9c..69525e7 100755 - - - -- +- - - - @@ -164,13 +164,13 @@ index c2bfd9c..69525e7 100755 - - - -- -- -- +- +- +- - diff --git a/tutorial/java/build.xml b/tutorial/java/build.xml -index eceeca7..bc6a837 100644 +index 7638d5b..c5ca703 100644 --- a/tutorial/java/build.xml +++ b/tutorial/java/build.xml @@ -29,13 +29,33 @@ @@ -179,7 +179,7 @@ index eceeca7..bc6a837 100644 - - -+ ++ + + + @@ -197,7 +197,7 @@ index eceeca7..bc6a837 100644 + + + -+ ++ + + + @@ -210,19 +210,8 @@ index eceeca7..bc6a837 100644 -@@ -50,8 +70,8 @@ - - - -- -- -+ -+ - - - diff --git a/tutorial/js/build.xml b/tutorial/js/build.xml -index 73d535d..e3ee1e2 100644 +index a9a9ad4..2fddf0c 100644 --- a/tutorial/js/build.xml +++ b/tutorial/js/build.xml @@ -35,8 +35,16 @@ @@ -232,7 +221,7 @@ index 73d535d..e3ee1e2 100644 - - + -+ ++ + + + diff --git a/thrift-0.9.1-Adapt-to-GCC-6.patch b/thrift-0.9.1-Adapt-to-GCC-6.patch deleted file mode 100644 index 1ee09b9..0000000 --- a/thrift-0.9.1-Adapt-to-GCC-6.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 049d078b605900efec98c6a9caceb17cdc10c5e5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Wed, 30 Mar 2016 14:47:26 +0200 -Subject: [PATCH] Adapt to GCC 6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 6 produces this error: - -src/generate/t_java_generator.cc: In member function 'void t_java_generator::generate_process_async_function(t_service*, t_function*)': -src/generate/t_java_generator.cc:2830:14: error: operands to ?: have different types 'bool' and 'std::basic_ostream' - first ? first = false : indent(f_service_) << "else "; - ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This patch ports relevant part of upstream commit: - -t 16a23a6618754a5a87aeb8df99a72516b0272fb3 -Author: Konrad Grochowski -Date: Thu Nov 13 15:33:38 2014 +0100 - - THRIFT-2729: C++ - .clang-format created and applied - - Client: C++ - Patch: Konrad Grochowski - - make style command added - -and: - -commit 5f2d34e5ab33651059a085525b3adbab6a877e6f -Author: Roger Meier -Date: Sat Nov 16 16:43:41 2013 +0100 - - THRIFT-2229 thrift failed to build on OSX 10.9 GM - -that are part of 0.9.3 release. - - - -Signed-off-by: Petr Písař ---- - compiler/cpp/src/generate/t_java_generator.cc | 3 ++- - compiler/cpp/src/generate/t_rb_generator.cc | 8 ++++---- - tutorial/cpp/CppClient.cpp | 6 +++--- - tutorial/cpp/CppServer.cpp | 16 ++++++++-------- - 4 files changed, 17 insertions(+), 16 deletions(-) - -diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc -index e443dc0..0f8740e 100644 ---- a/compiler/cpp/src/generate/t_java_generator.cc -+++ b/compiler/cpp/src/generate/t_java_generator.cc -@@ -2827,7 +2827,8 @@ void t_java_generator::generate_process_async_function(t_service* tservice, - bool first = true; - if (xceptions.size() > 0) { - for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { -- first ? first = false : indent(f_service_) << "else "; -+ if (x_iter != xceptions.begin()) -+ indent(f_service_) << "else "; - indent(f_service_) << "if (e instanceof " << type_name((*x_iter)->get_type(), false, false)<<") {" << endl; - indent(f_service_) << indent() << "result." << (*x_iter)->get_name() << " = (" << type_name((*x_iter)->get_type(), false, false) << ") e;" << endl; - indent(f_service_) << indent() << "result.set" << get_cap_name((*x_iter)->get_name()) << get_cap_name("isSet") << "(true);" << endl; -diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc -index 082f316..fc679a1 100644 ---- a/compiler/cpp/src/generate/t_rb_generator.cc -+++ b/compiler/cpp/src/generate/t_rb_generator.cc -@@ -359,21 +359,21 @@ void t_rb_generator::generate_enum(t_enum* tenum) { - - // Create a hash mapping values back to their names (as strings) since ruby has no native enum type - f_types_.indent() << "VALUE_MAP = {"; -- bool first = true; - for(c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) { - // Populate the hash - int value = (*c_iter)->get_value(); -- first ? first = false : f_types_ << ", "; -+ if (c_iter != constants.begin()) -+ f_types_ << ", "; - f_types_ << value << " => \"" << capitalize((*c_iter)->get_name()) << "\""; - } - f_types_ << "}" << endl; - - // Create a set with valid values for this enum - f_types_.indent() << "VALID_VALUES = Set.new(["; -- first = true; - for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) { - // Populate the set -- first ? first = false : f_types_ << ", "; -+ if (c_iter != constants.begin()) -+ f_types_ << ", "; - f_types_ << capitalize((*c_iter)->get_name()); - } - f_types_ << "]).freeze" << endl; -diff --git a/tutorial/cpp/CppClient.cpp b/tutorial/cpp/CppClient.cpp -index ba71caa..b91df2e 100644 ---- a/tutorial/cpp/CppClient.cpp -+++ b/tutorial/cpp/CppClient.cpp -@@ -38,9 +38,9 @@ using namespace shared; - using namespace boost; - - int main(int argc, char** argv) { -- shared_ptr socket(new TSocket("localhost", 9090)); -- shared_ptr transport(new TBufferedTransport(socket)); -- shared_ptr protocol(new TBinaryProtocol(transport)); -+ boost::shared_ptr socket(new TSocket("localhost", 9090)); -+ boost::shared_ptr transport(new TBufferedTransport(socket)); -+ boost::shared_ptr protocol(new TBinaryProtocol(transport)); - CalculatorClient client(protocol); - - try { -diff --git a/tutorial/cpp/CppServer.cpp b/tutorial/cpp/CppServer.cpp -index d0dbad9..f19258c 100644 ---- a/tutorial/cpp/CppServer.cpp -+++ b/tutorial/cpp/CppServer.cpp -@@ -113,11 +113,11 @@ protected: - - int main(int argc, char **argv) { - -- shared_ptr protocolFactory(new TBinaryProtocolFactory()); -- shared_ptr handler(new CalculatorHandler()); -- shared_ptr processor(new CalculatorProcessor(handler)); -- shared_ptr serverTransport(new TServerSocket(9090)); -- shared_ptr transportFactory(new TBufferedTransportFactory()); -+ boost::shared_ptr protocolFactory(new TBinaryProtocolFactory()); -+ boost::shared_ptr handler(new CalculatorHandler()); -+ boost::shared_ptr processor(new CalculatorProcessor(handler)); -+ boost::shared_ptr serverTransport(new TServerSocket(9090)); -+ boost::shared_ptr transportFactory(new TBufferedTransportFactory()); - - TSimpleServer server(processor, - serverTransport, -@@ -128,10 +128,10 @@ int main(int argc, char **argv) { - /** - * Or you could do one of these - -- shared_ptr threadManager = -+ boost::shared_ptr threadManager = - ThreadManager::newSimpleThreadManager(workerCount); -- shared_ptr threadFactory = -- shared_ptr(new PosixThreadFactory()); -+ boost::shared_ptr threadFactory = -+ boost::shared_ptr(new PosixThreadFactory()); - threadManager->threadFactory(threadFactory); - threadManager->start(); - TThreadPoolServer server(processor, --- -2.5.5 - diff --git a/thrift-0.9.1-THRIFT-2214-System-header-sys-param.h-is-included-in.patch b/thrift-0.9.1-THRIFT-2214-System-header-sys-param.h-is-included-in.patch deleted file mode 100644 index 4a7671f..0000000 --- a/thrift-0.9.1-THRIFT-2214-System-header-sys-param.h-is-included-in.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f4e6e62ea091b94322ecc99756269dbee1c06380 Mon Sep 17 00:00:00 2001 -From: Ben Craig -Date: Tue, 5 Nov 2013 19:49:12 -0600 -Subject: [PATCH 081/223] THRIFT-2214: System header sys/param.h is included - inside the Thrift namespace Client: cpp Patch: Vladimir Strisovsky - ---- - lib/cpp/src/thrift/protocol/TProtocol.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/lib/cpp/src/thrift/protocol/TProtocol.h b/lib/cpp/src/thrift/protocol/TProtocol.h -index d6ecc0f..e72033a 100644 ---- a/lib/cpp/src/thrift/protocol/TProtocol.h -+++ b/lib/cpp/src/thrift/protocol/TProtocol.h -@@ -75,10 +75,6 @@ static inline To bitwise_cast(From from) { - } - - --namespace apache { namespace thrift { namespace protocol { -- --using apache::thrift::transport::TTransport; -- - #ifdef HAVE_SYS_PARAM_H - #include - #endif -@@ -140,6 +136,10 @@ using apache::thrift::transport::TTransport; - # error "Can't define htonll or ntohll!" - #endif - -+namespace apache { namespace thrift { namespace protocol { -+ -+using apache::thrift::transport::TTransport; -+ - /** - * Enumerated definition of the types that the Thrift protocol supports. - * Take special note of the T_END type which is used specifically to mark --- -2.6.1 - diff --git a/thrift-0.9.1-rebar.patch b/thrift-0.9.1-rebar.patch deleted file mode 100644 index 6207c13..0000000 --- a/thrift-0.9.1-rebar.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/lib/erl/rebar.config 2013-08-21 15:39:39.121081905 -0500 -+++ b/lib/erl/rebar.config 2013-08-21 15:43:19.351633734 -0500 -@@ -1,5 +1,4 @@ - {erl_opts, [debug_info]}. - {lib_dirs, ["deps"]}. - {deps, [ -- { jsx, "1.2.1", {git, "git://github.com/talentdeficit/jsx.git", {tag, "v1.2.1"}}} -- ]}. -+]}. diff --git a/thrift.spec b/thrift.spec index 173aaa1..9eee937 100644 --- a/thrift.spec +++ b/thrift.spec @@ -1,22 +1,12 @@ -%global pkg_version 0.9.1 -%global fb303_version 1.0.0.dev0 -%global pkg_rel 17 - -%global py_version 2.7 - %global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined") %{?perl_default_filter} -%global __provides_exclude_from ^(%{python_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$ +%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$ %global have_mongrel 0 -%if 0%{?fedora} >= 19 && 0%{?fedora} < 21 # erlang-jsx is available in F19 but orphaned in F22 -%global have_jsx 1 -%else %global have_jsx 0 -%endif # We should be able to enable this in the future %global want_d 0 @@ -58,80 +48,60 @@ %global want_golang 0 %global golang_configure --without-go -Name: thrift -Version: %{pkg_version} -Release: %{pkg_rel}%{?dist}.6 -Summary: Software framework for cross-language services development +Name: thrift +Version: 0.10.0 +Release: 1%{?dist} +Summary: Software framework for cross-language services development # Parts of the source are used under the BSD and zlib licenses, but # these are OK for inclusion in an Apache 2.0-licensed whole: -# http://www.apache.org/legal/3party.html +# https://www.apache.org/legal/3party.html # Here's the breakdown: -# thrift-0.9.1/lib/py/compat/win32/stdint.h is 2-clause BSD -# thrift-0.9.1/compiler/cpp/src/md5.[ch] are zlib -License: ASL 2.0 and BSD and zlib -URL: http://thrift.apache.org/ +# ./lib/py/compat/win32/stdint.h is 2-clause BSD +# ./compiler/cpp/src/md5.[ch] are zlib +License: ASL 2.0 and BSD and zlib +URL: https://thrift.apache.org/ -%if "%{version}" != "0.9.1" -Source0: http://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}.tar.gz -%else -# Unfortunately, the distribution tarball for thrift-0.9.1 is broken, so we're -# using an exported tarball from git. This will change in the future. +Source0: https://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}.tar.gz -Source0: https://github.com/apache/thrift/archive/0.9.1.tar.gz -%endif +Source1: https://repo1.maven.org/maven2/org/apache/thrift/lib%{name}/%{version}/lib%{name}-%{version}.pom +Source2: https://raw.github.com/apache/%{name}/%{version}/bootstrap.sh -Source1: http://repo1.maven.org/maven2/org/apache/thrift/lib%{name}/%{version}/lib%{name}-%{version}.pom -Source2: https://raw.github.com/apache/%{name}/%{version}/bootstrap.sh - -Source3: https://gitorious.org/pkg-scribe/thrift-deb-pkg/raw/master:debian/manpage.1.ex -Source4: http://repo1.maven.org/maven2/org/apache/thrift/libfb303/%{version}/libfb303-%{version}.pom +Source3: https://gitorious.org/pkg-scribe/thrift-deb-pkg/raw/master:debian/manpage.1.ex +Source4: https://repo1.maven.org/maven2/org/apache/thrift/libfb303/%{version}/libfb303-%{version}.pom # this patch is adapted from Gil Cattaneo's thrift-0.7.0 package -Patch0: thrift-0.9.1-buildxml.patch -# don't use bundled rebar executable -Patch1: thrift-0.9.1-rebar.patch +Patch0: %{name}-%{version}-buildxml.patch # for fb303, excise maven ant tasks; build against system libraries; etc. -Patch2: fb303-0.9.1-buildxml.patch -# required to get it build on aarch64 -Patch3: thrift-0.9.1-THRIFT-2214-System-header-sys-param.h-is-included-in.patch -# Adapt to GCC 6, bug #1306671, in 0.9.3 -Patch4: thrift-0.9.1-Adapt-to-GCC-6.patch +Patch1: fb303-%{version}-buildxml.patch +# fix configure.ac insistence on using /usr/local/lib for JAVA_PREFIX +Patch2: configure-java-prefix.patch -Group: Development/Libraries +Group: Development/Libraries # BuildRequires for language-specific bindings are listed under these # subpackages, to facilitate enabling or disabling individual language # bindings in the future -BuildRequires: libstdc++-devel -BuildRequires: boost-devel -BuildRequires: automake -BuildRequires: autoconf -BuildRequires: openssl-devel -BuildRequires: zlib-devel -BuildRequires: bison-devel -BuildRequires: flex-devel -BuildRequires: glib2-devel -BuildRequires: texlive -BuildRequires: qt-devel - -BuildRequires: libtool -BuildRequires: autoconf -BuildRequires: automake - -BuildRequires: bison -BuildRequires: flex -BuildRequires: bison-devel -BuildRequires: flex-devel - -BuildRequires: ant - +BuildRequires: ant >= 1.7 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bison +BuildRequires: boost-devel +BuildRequires: flex +BuildRequires: flex-devel +BuildRequires: glib2-devel +BuildRequires: libstdc++-devel +BuildRequires: libtool +BuildRequires: openssl-devel +BuildRequires: qt-devel +BuildRequires: texlive +BuildRequires: zlib-devel %if 0%{?want_golang} > 0 -BuildRequires: golang -Requires: golang +BuildRequires: golang +Requires: golang %endif %description @@ -141,13 +111,13 @@ development combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, %{?php_langname}and other languages. -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: pkgconfig -Requires: boost-devel +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Requires: boost-devel -%description devel +%description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. @@ -165,127 +135,128 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description glib The %{name}-qt package contains GLib bindings for %{name}. -%package -n python-%{name} -Summary: Python support for %{name} -BuildRequires: python2-devel -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python2 +%package -n python2-%{name} +Summary: Python 2 support for %{name} +BuildRequires: python2-devel +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2 +Obsoletes: python-%{name} < 0.10.0-1%{?dist} -%description -n python-%{name} -The python-%{name} package contains Python bindings for %{name}. +%description -n python2-%{name} +The python2-%{name} package contains Python bindings for %{name}. -%package -n perl-%{name} -Summary: Perl support for %{name} -Provides: perl(Thrift) = %{version}-%{release} -BuildRequires: perl-generators -BuildRequires: perl(Bit::Vector) -BuildRequires: perl(ExtUtils::MakeMaker) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -Requires: perl(Bit::Vector) -Requires: perl(Encode) -Requires: perl(HTTP::Request) -Requires: perl(IO::Select) -Requires: perl(IO::Socket::INET) -Requires: perl(IO::String) -Requires: perl(LWP::UserAgent) -Requires: perl(POSIX) -Requires: perl(base) -Requires: perl(constant) -Requires: perl(strict) -Requires: perl(utf8) -Requires: perl(warnings) -BuildArch: noarch +%package -n perl-%{name} +Summary: Perl support for %{name} +Provides: perl(Thrift) = %{version}-%{release} +BuildRequires: perl(Bit::Vector) +BuildRequires: perl(Class::Accessor) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl-generators +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(Bit::Vector) +Requires: perl(Encode) +Requires: perl(HTTP::Request) +Requires: perl(IO::Select) +Requires: perl(IO::Socket::INET) +Requires: perl(IO::String) +Requires: perl(LWP::UserAgent) +Requires: perl(POSIX) +Requires: perl(base) +Requires: perl(constant) +Requires: perl(strict) +Requires: perl(utf8) +Requires: perl(warnings) +BuildArch: noarch %description -n perl-%{name} The perl-%{name} package contains Perl bindings for %{name}. %if %{?want_d} -%package -n d-%{name} -Summary: D support for %{name} -BuildRequires: ldc +%package -n d-%{name} +Summary: D support for %{name} +BuildRequires: ldc %description -n d-%{name} The d-%{name} package contains D bindings for %{name}. %endif %if 0%{?want_php} != 0 -%package -n php-%{name} -Summary: PHP support for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: php(zend-abi) = %{php_zend_api} -Requires: php(api) = %{php_core_api} -Requires: php(language) >= 5.3.0 -Requires: php-date -Requires: php-json -BuildRequires: php-devel +%package -n php-%{name} +Summary: PHP support for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} +Requires: php(language) >= 5.3.0 +Requires: php-date +Requires: php-json +BuildRequires: php-devel %description -n php-%{name} The php-%{name} package contains PHP bindings for %{name}. %endif -%package -n lib%{name}-javadoc -Summary: API documentation for java-%{name} -Requires: lib%{name}-java = %{version}-%{release} -BuildArch: noarch +%package -n lib%{name}-javadoc +Summary: API documentation for java-%{name} +Requires: lib%{name}-java = %{version}-%{release} +BuildArch: noarch %description -n lib%{name}-javadoc The lib%{name}-javadoc package contains API documentation for the Java bindings for %{name}. -%package -n lib%{name}-java -Summary: Java support for %{name} +%package -n lib%{name}-java +Summary: Java support for %{name} -BuildRequires: java-devel -BuildRequires: javapackages-tools -BuildRequires: apache-commons-codec -BuildRequires: apache-commons-lang -BuildRequires: apache-commons-logging -BuildRequires: httpcomponents-client -BuildRequires: httpcomponents-core -BuildRequires: junit -BuildRequires: log4j -BuildRequires: slf4j -BuildRequires: tomcat-servlet-3.1-api - -Requires: java-headless >= 1:1.6.0 -Requires: javapackages-tools -Requires: mvn(org.slf4j:slf4j-api) -Requires: mvn(commons-lang:commons-lang) -Requires: mvn(org.apache.httpcomponents:httpclient) -Requires: mvn(org.apache.httpcomponents:httpcore) -BuildArch: noarch +BuildRequires: apache-commons-codec +BuildRequires: apache-commons-lang +BuildRequires: apache-commons-logging +BuildRequires: httpcomponents-client +BuildRequires: httpcomponents-core +BuildRequires: java-devel +BuildRequires: javapackages-tools +BuildRequires: junit +BuildRequires: log4j +BuildRequires: slf4j +BuildRequires: tomcat-servlet-3.1-api +Requires: java-headless >= 1:1.6.0 +Requires: javapackages-tools +Requires: mvn(org.slf4j:slf4j-api) +Requires: mvn(commons-lang:commons-lang) +Requires: mvn(org.apache.httpcomponents:httpclient) +Requires: mvn(org.apache.httpcomponents:httpcore) +BuildArch: noarch %description -n lib%{name}-java The lib%{name}-java package contains Java bindings for %{name}. %if 0%{?want_ruby} > 0 -%package -n ruby-%{name} -Summary: Ruby support for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: ruby(release) -BuildRequires: ruby-devel +%package -n ruby-%{name} +Summary: Ruby support for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ruby(release) +BuildRequires: ruby-devel %description -n ruby-%{name} The ruby-%{name} package contains Ruby bindings for %{name}. %endif %if 0%{?want_erlang} > 0 -%package -n erlang-%{name} -Summary: Erlang support for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: erlang -Requires: erlang-jsx -BuildRequires: erlang -BuildRequires: erlang-rebar +%package -n erlang-%{name} +Summary: Erlang support for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: erlang +Requires: erlang-jsx +BuildRequires: erlang +BuildRequires: erlang-rebar %description -n erlang-%{name} The erlang-%{name} package contains Erlang bindings for %{name}. %endif %package -n fb303 -Summary: Basic interface for Thrift services -Requires: %{name}%{?_isa} = %{version}-%{release} +Summary: Basic interface for Thrift services +Requires: %{name}%{?_isa} = %{version}-%{release} %description -n fb303 fb303 is the shared root of all Thrift services; it provides a @@ -293,41 +264,37 @@ standard interface to monitoring, dynamic options and configuration, uptime reports, activity, etc. %package -n fb303-devel -Summary: Development files for fb303 -Requires: fb303%{?_isa} = %{version}-%{release} +Summary: Development files for fb303 +Requires: fb303%{?_isa} = %{version}-%{release} %description -n fb303-devel The fb303-devel package contains header files for fb303 -%package -n python-fb303 -Summary: Python bindings for fb303 -Requires: fb303%{?_isa} = %{version}-%{release} -BuildRequires: python2-devel +%package -n python2-fb303 +Summary: Python 2 bindings for fb303 +Requires: fb303%{?_isa} = %{version}-%{release} +BuildRequires: python2-devel +Obsoletes: python-fb303 < 0.10.0-1%{?dist} -%description -n python-fb303 -The python-fb303 package contains Python bindings for fb303. +%description -n python2-fb303 +The python2-fb303 package contains Python bindings for fb303. %package -n fb303-java -Summary: Java bindings for fb303 -Requires: java >= 1:1.6.0 -Requires: javapackages-tools -Requires: mvn(org.slf4j:slf4j-api) -Requires: mvn(commons-lang:commons-lang) -Requires: mvn(org.apache.httpcomponents:httpclient) -Requires: mvn(org.apache.httpcomponents:httpcore) -BuildArch: noarch +Summary: Java bindings for fb303 +Requires: java >= 1:1.6.0 +Requires: javapackages-tools +Requires: mvn(org.slf4j:slf4j-api) +Requires: mvn(commons-lang:commons-lang) +Requires: mvn(org.apache.httpcomponents:httpclient) +Requires: mvn(org.apache.httpcomponents:httpcore) +BuildArch: noarch %description -n fb303-java The fb303-java package contains Java bindings for fb303. %global _default_patch_fuzz 2 %prep -%setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 +%autosetup -p1 %{?!el5:sed -i -e 's/^AC_PROG_LIBTOOL/LT_INIT/g' configure.ac} @@ -347,6 +314,10 @@ echo 'EXTRA_libthriftz_la_DEPENDENCIES = libthrift.la' >> lib/cpp/Makefile.am sed -i 's|libfb303_so_LDFLAGS = $(SHARED_LDFLAGS)|libfb303_so_LDFLAGS = $(SHARED_LDFLAGS) -lthrift -L../../../lib/cpp/.libs -Wl,--as-needed|g' contrib/fb303/cpp/Makefile.am +# fix broken upstream check for ant version; we enforce this with BuildRequires, so no need to check here +sed -i 's|ANT_VALID=.*|ANT_VALID=1|' aclocal/ax_javac_and_java.m4 +sed -i 's|ANT_VALID=.*|ANT_VALID=1|' contrib/fb303/aclocal/ax_javac_and_java.m4 + %build export PY_PREFIX=%{_prefix} export PERL_PREFIX=%{_prefix} @@ -401,7 +372,7 @@ make %{?_smp_mflags} # build fb303 ( cd contrib/fb303 - chmod 755 bootstrap.sh + sed -i '/^[.][/]configure.*/d' bootstrap.sh sh bootstrap.sh %configure --disable-static --with-java --without-php --libdir=%{_libdir} make %{?_smp_mflags} @@ -469,12 +440,10 @@ install -pm 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP-libfb303.pom # Ensure all python scripts are executable find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r chmod 755 - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig - %files %doc LICENSE NOTICE %{_bindir}/thrift @@ -494,6 +463,8 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %{_includedir}/thrift %exclude %{_includedir}/thrift/fb303 %{_libdir}/*.so +%{_libdir}/*.so.0 +%{_libdir}/*.so.0.0.0 %exclude %{_libdir}/lib*-%{version}.so %exclude %{_libdir}/libfb303.so %{_libdir}/pkgconfig/thrift-z.pc @@ -521,9 +492,9 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %doc LICENSE NOTICE %endif -%files -n python-%{name} -%{python_sitearch}/%{name} -%{python_sitearch}/%{name}-%{version}-py%{py_version}.egg-info +%files -n python2-%{name} +%{python2_sitearch}/%{name} +%{python2_sitearch}/%{name}-%{version}-py%{python2_version}.egg-info %doc LICENSE NOTICE %files -n lib%{name}-javadoc @@ -542,16 +513,19 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %{_includedir}/thrift/fb303 %doc LICENSE NOTICE -%files -n python-fb303 -%{python_sitelib}/fb303 -%{python_sitelib}/fb303_scripts -%{python_sitelib}/%{name}_fb303-%{fb303_version}-py%{py_version}.egg-info +%files -n python2-fb303 +%{python2_sitelib}/fb303 +%{python2_sitelib}/fb303_scripts +%{python2_sitelib}/%{name}_fb303-%{version}-py%{python2_version}.egg-info %doc LICENSE NOTICE %files -n fb303-java -f .mfiles-fb303 %doc LICENSE NOTICE %changelog +* Tue Mar 07 2017 Christopher Tubbs - 0.10.0-1 +- Update to thrift 0.10.0 + * Sat Feb 11 2017 Fedora Release Engineering - 0.9.1-17.6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -603,7 +577,6 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r * Mon Jan 26 2015 Petr Machata - 0.9.1-13.3 - Rebuild for boost 1.57.0 - * Thu Aug 28 2014 Jitka Plesnikova - 0.9.1-13.2 - Perl 5.20 rebuild