diff --git a/python3.patch b/python3.patch new file mode 100644 index 0000000..c2908fd --- /dev/null +++ b/python3.patch @@ -0,0 +1,72 @@ +diff --git a/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py b/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py +index 4b1c257..df1c8cc 100644 +--- a/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py ++++ b/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py +@@ -57,24 +57,24 @@ def service_ctrl( + msg = fb_status_string(status) + if (len(status_details)): + msg += " - %s" % status_details +- print msg ++ print(msg) + + if (status == fb_status.ALIVE): + return 2 + else: + return 3 + except: +- print "Failed to get status" ++ print("Failed to get status") + return 3 + + # scalar commands + if command in ["version", "alive", "name"]: + try: + result = fb303_wrapper(command, port, trans_factory, prot_factory) +- print result ++ print(result) + return 0 + except: +- print "failed to get ", command ++ print("failed to get ", command) + return 3 + + # counters +@@ -82,10 +82,10 @@ def service_ctrl( + try: + counters = fb303_wrapper('counters', port, trans_factory, prot_factory) + for counter in counters: +- print "%s: %d" % (counter, counters[counter]) ++ print("%s: %d" % (counter, counters[counter])) + return 0 + except: +- print "failed to get counters" ++ print("failed to get counters") + return 3 + + # Only root should be able to run the following commands +@@ -96,19 +96,19 @@ def service_ctrl( + fb303_wrapper(command, port, trans_factory, prot_factory) + return 0 + except: +- print "failed to tell the service to ", command ++ print("failed to tell the service to ", command) + return 3 + else: + if command in ["stop", "reload"]: +- print "root privileges are required to stop or reload the service." ++ print("root privileges are required to stop or reload the service.") + return 4 + +- print "The following commands are available:" ++ print("The following commands are available:") + for command in ["counters", "name", "version", "alive", "status"]: +- print "\t%s" % command +- print "The following commands are available for users with root privileges:" ++ print("\t%s" % command) ++ print("The following commands are available for users with root privileges:") + for command in ["stop", "reload"]: +- print "\t%s" % command ++ print("\t%s" % command) + + return 0 + diff --git a/thrift.spec b/thrift.spec index f25dff9..3c7e5ad 100644 --- a/thrift.spec +++ b/thrift.spec @@ -1,7 +1,7 @@ %global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined") %{?perl_default_filter} -%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$ +%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$ %global have_mongrel 0 @@ -50,7 +50,7 @@ Name: thrift Version: 0.10.0 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Software framework for cross-language services development # Parts of the source are used under the BSD and zlib licenses, but @@ -81,6 +81,9 @@ Patch3: fix-ppc64le-builds.patch # fix for s390x build; incorporates fix for THRIFT-4177 with some code from THRIFT-4136 Patch4: THRIFT-4177.patch +# Update fb303 for python3 +Patch5: python3.patch + Group: Development/Libraries # BuildRequires for language-specific bindings are listed under these @@ -141,15 +144,16 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description glib The %{name}-qt package contains GLib bindings for %{name}. -%package -n python2-%{name} -Summary: Python 2 support for %{name} -BuildRequires: python2-devel +%package -n python3-%{name} +Summary: Python 3 support for %{name} +BuildRequires: python3-devel Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python2 +Requires: python3 Obsoletes: python-%{name} < 0.10.0-1%{?dist} +Obsoletes: python2-%{name} < 0.10.0-14%{?dist} -%description -n python2-%{name} -The python2-%{name} package contains Python bindings for %{name}. +%description -n python3-%{name} +The python3-%{name} package contains Python bindings for %{name}. %package -n perl-%{name} Summary: Perl support for %{name} @@ -278,14 +282,15 @@ Requires: fb303%{?_isa} = %{version}-%{release} %description -n fb303-devel The fb303-devel package contains header files for fb303 -%package -n python2-fb303 -Summary: Python 2 bindings for fb303 +%package -n python3-fb303 +Summary: Python 3 bindings for fb303 Requires: fb303%{?_isa} = %{version}-%{release} -BuildRequires: python2-devel +BuildRequires: python3-devel Obsoletes: python-fb303 < 0.10.0-1%{?dist} +Obsoletes: python2-fb303 < 0.10.0-14%{?dist} -%description -n python2-fb303 -The python2-fb303 package contains Python bindings for fb303. +%description -n python3-fb303 +The python3-fb303 package contains Python bindings for fb303. %package -n fb303-java Summary: Java bindings for fb303 @@ -369,7 +374,8 @@ install: build/libfb303.jar sh ./bootstrap.sh # use unversioned doc dirs where appropriate (via _pkgdocdir macro) -%configure --disable-dependency-tracking --disable-static --with-boost=/usr %{ruby_configure} %{erlang_configure} %{golang_configure} %{php_configure} --docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} +export PYTHON=%{_bindir}/python3 +%configure --disable-dependency-tracking --disable-static --with-boost=/usr %{ruby_configure} %{erlang_configure} %{golang_configure} %{php_configure} --with-py3 --docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} # eliminate unused direct shlib dependencies sed -i -e 's/ -shared / -Wl,--as-needed\0/g' libtool @@ -381,7 +387,7 @@ make %{?_smp_mflags} cd contrib/fb303 sed -i '/^[.][/]configure.*/d' bootstrap.sh sh bootstrap.sh - %configure --disable-static --with-java --without-php --libdir=%{_libdir} + %configure --disable-static --with-java --without-php --with-py3 --libdir=%{_libdir} make %{?_smp_mflags} ( cd java @@ -495,9 +501,9 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %doc LICENSE NOTICE %endif -%files -n python2-%{name} -%{python2_sitearch}/%{name} -%{python2_sitearch}/%{name}-%{version}-py%{python2_version}.egg-info +%files -n python3-%{name} +%{python3_sitearch}/%{name} +%{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info %doc LICENSE NOTICE %files -n lib%{name}-javadoc @@ -516,16 +522,19 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %{_includedir}/thrift/fb303 %doc LICENSE NOTICE -%files -n python2-fb303 -%{python2_sitelib}/fb303 -%{python2_sitelib}/fb303_scripts -%{python2_sitelib}/%{name}_fb303-%{version}-py%{python2_version}.egg-info +%files -n python3-fb303 +%{python3_sitelib}/fb303 +%{python3_sitelib}/fb303_scripts +%{python3_sitelib}/%{name}_fb303-%{version}-py%{python3_version}.egg-info %doc LICENSE NOTICE %files -n fb303-java -f .mfiles-fb303 %doc LICENSE NOTICE %changelog +* Wed Jul 18 2018 Christopher Tubbs - 0.10.0-14 +- Migrate to python3; rhbz#1533306 + * Sat Jul 14 2018 Fedora Release Engineering - 0.10.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild