diff --git a/libthrift-0.14.0-sources.jar b/libthrift-0.14.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..e5d9afd2286087ffc1fcf6c178ce5043abac1762 Binary files /dev/null and b/libthrift-0.14.0-sources.jar differ diff --git a/libthrift-0.14.0.pom b/libthrift-0.14.0.pom index 31d44dec4dc4f3a92b191035915492e4fea5c2c1..8a7842cedb59f15233c72a036d9ff0c0597f7dc6 100644 --- a/libthrift-0.14.0.pom +++ b/libthrift-0.14.0.pom @@ -11,7 +11,7 @@ The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt + https://www.apache.org/licenses/LICENSE-2.0.txt repo @@ -31,26 +31,26 @@ org.slf4j slf4j-api - 1.7.25 + 1.7.28 compile org.apache.httpcomponents httpclient - 4.5.6 + 4.5.10 compile org.apache.httpcomponents httpcore - 4.4.1 + 4.4.12 compile - javax.servlet - servlet-api - 2.5 - provided + org.apache.tomcat.embed + tomcat-embed-core + 8.5.46 + compile javax.annotation @@ -67,14 +67,31 @@ org.mockito mockito-all - 1.9.5 + 1.10.19 test org.slf4j slf4j-log4j12 - 1.7.25 + 1.7.28 test + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 1.8 + 1.8 + UTF-8 + + + + + org/apache/thrift + diff --git a/thrift.spec b/thrift.spec index 0acecef14ccb52c9dbb84a6d24114dc705846d67..2930794b5134a07c69d2d2853eba85e5d92ac8e3 100644 --- a/thrift.spec +++ b/thrift.spec @@ -4,7 +4,7 @@ %global have_mongrel 0 %global have_jsx 0 %global want_d 0 -%global want_java 0 +%global want_java 1 %if 0%{?want_java} == 0 %global java_configure --without-java %else @@ -38,20 +38,20 @@ %global lua_configure --without-lua Name: thrift Version: 0.14.0 -Release: 1 +Release: 2 Summary: Software framework for cross-language services development License: ASL 2.0 and BSD and zlib and MIT URL: https://thrift.apache.org/ Source0: https://archive.apache.org/dist/thrift/%{version}/thrift-%{version}.tar.gz -Source1: https://repo1.maven.org/maven2/org/apache/thrift/libthrift/%{version}/libthrift-%{version}.pom +# wget https://repo1.maven.org/maven2/org/apache/thrift/libthrift/%{version}/libthrift-%{version}.pom +# add maven-compiler-plugin in build tag +Source1: libthrift-%{version}.pom Source2: https://raw.github.com/apache/thrift/%{version}/bootstrap.sh +Source3: https://repo1.maven.org/maven2/org/apache/thrift/libthrift/%{version}/libthrift-%{version}-sources.jar Patch0: thrift-char.patch Patch2: configure-java-prefix.patch -%if 0%{?want_java} > 0 -BuildRequires: ant >= 1.7 -%endif BuildRequires: make autoconf automake bison boost-devel boost-static flex gcc-c++ glib2-devel -BuildRequires: libevent-devel libstdc++-devel libtool openssl-devel qt5-qtbase-devel texlive +BuildRequires: libevent-devel libstdc++-devel libtool maven openssl-devel qt5-qtbase-devel texlive BuildRequires: zlib-devel Obsoletes: libthrift-java < %{version}-%{release} Obsoletes: libthrift-javadoc < %{version}-%{release} @@ -131,15 +131,6 @@ BuildRequires: php-devel %description -n php-thrift The php-thrift package contains PHP bindings for thrift. %endif -%if 0%{?want_java} > 0 - -%package -n libthrift-javadoc -Summary: API documentation for java-thrift -Requires: libthrift-java = %{version}-%{release} -BuildArch: noarch -%description -n libthrift-javadoc -The libthrift-javadoc package contains API documentation for the -Java bindings for thrift. %package -n libthrift-java Summary: Java support for thrift @@ -153,7 +144,7 @@ Requires: mvn(org.apache.httpcomponents:httpcore) BuildArch: noarch %description -n libthrift-java The libthrift-java package contains Java bindings for thrift. -%endif + %if 0%{?want_ruby} > 0 %package -n ruby-thrift @@ -187,6 +178,14 @@ sed -i 's|ANT_VALID=.*|ANT_VALID=1|' aclocal/ax_javac_and_java.m4 shopt -s globstar sed -i -E 's@^(#!.*/env) *python *$@\1 python3@' **/*.py +#prepare libthrift's compiler environment +mkdir libthrift_dir +cp %{SOURCE1} ./libthrift_dir/pom.xml +cp %{SOURCE3} ./libthrift_dir +pushd libthrift_dir + jar -xvf libthrift-0.14.0-sources.jar +popd + %build export PY_PREFIX=%{_prefix} export PERL_PREFIX=%{_prefix} @@ -209,17 +208,15 @@ export PYTHON=%{_bindir}/python3 sed -i -e 's/ -shared / -Wl,--as-needed\0/g' libtool %make_build +pushd libthrift_dir + mvn package -DskipTests -Dtar +popd + %install %make_install find %{buildroot} -name '*.la' -exec rm -f {} ';' find %{buildroot} -name fastbinary.so | xargs -r chmod 755 find %{buildroot} -name \*.erl -or -name \*.hrl -or -name \*.app | xargs -r chmod 644 -%if 0%{?want_java} > 0 -find %{buildroot}/%{_javadir} -name libthrift-javadoc.jar -exec rm -f '{}' \; -mkdir -p %{buildroot}%{_mavenpomdir} -install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-libthrift.pom -%add_maven_depmap JPP-libthrift.pom libthrift.jar -%endif find %{buildroot} -name \*.jar -a \! -name \*thrift\* -exec rm -f '{}' \; find %{buildroot} -name \*.pod -exec rm -f '{}' \; find %{buildroot} -name .packlist -exec rm -f '{}' \; @@ -234,6 +231,12 @@ find %{buildroot} -name Thread.h -exec chmod a-x '{}' \; find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r chmod 755 %ldconfig_scriptlets +install -d -m 755 %{buildroot}%{_datadir}/java/libthrift +install -d -m 755 %{buildroot}%{_datadir}/maven-poms/libthrift +cp libthrift_dir/target/libthrift-0.14.0.jar %{buildroot}%{_datadir}/java/libthrift/libthrift.jar +cp libthrift_dir/pom.xml %{buildroot}%{_datadir}/maven-poms/libthrift/libthrift.pom +%add_maven_depmap libthrift/libthrift.pom libthrift/libthrift.jar -f "libthrift" + %files %doc LICENSE NOTICE %{_bindir}/thrift @@ -287,15 +290,17 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %doc LICENSE NOTICE %if 0%{?want_java} > 0 -%files -n libthrift-javadoc -%{_javadocdir}/thrift -%doc LICENSE NOTICE - -%files -n libthrift-java -f .mfiles +%files -n libthrift-java +%{_datadir}/java/libthrift/libthrift.jar +%{_datadir}/maven-poms/libthrift/libthrift.pom +%{_datadir}/maven-metadata/thrift-libthrift.xml %doc LICENSE NOTICE %endif %changelog +* Wed Jul 28 2021 Ge Wang - 0.14.0-2 +- Add libthrift-java subpackage + * Tue Feb 23 2021 wangyue - 0.14.0-1 - Update to 0.14.0 to fix CVE-2020-13949 and Drop fb303 package and switch to qt5