From c8dd25c046922285804e362629a15506fa05a903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0abata?= Date: Thu, 15 Oct 2020 17:32:21 +0200 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/libserf#1fa32af06a0a1c9d90c8eabe7c5eb473ed8f01d9 --- .gitignore | 8 ++ libserf-norpath.patch | 34 ++++++++ libserf-python3.patch | 60 ++++++++++++++ libserf.spec | 178 ++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 5 files changed, 281 insertions(+) create mode 100644 libserf-norpath.patch create mode 100644 libserf-python3.patch create mode 100644 libserf.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..e21c970 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,8 @@ +/serf-1.2.1.tar.bz2 +/serf-1.3.2.tar.bz2 +/serf-1.3.3.tar.bz2 +/serf-1.3.4.tar.bz2 +/serf-1.3.5.tar.bz2 +/serf-1.3.6.tar.bz2 +/serf-1.3.7.tar.bz2 +/serf-1.3.9.tar.bz2 diff --git a/libserf-norpath.patch b/libserf-norpath.patch new file mode 100644 index 0000000..385dfd3 --- /dev/null +++ b/libserf-norpath.patch @@ -0,0 +1,34 @@ +diff -uNr serf-1.3.9.orig/SConstruct serf-1.3.9/SConstruct +--- serf-1.3.9.orig/SConstruct 2016-09-02 08:22:35.180532030 +0200 ++++ serf-1.3.9/SConstruct 2016-09-02 08:22:56.653174061 +0200 +@@ -224,9 +224,6 @@ + else: + LIBNAMESTATIC = 'serf-${MAJOR}' + +-env.Append(RPATH=libdir, +- PDB='${TARGET.filebase}.pdb') +- + if sys.platform == 'darwin': + # linkflags.append('-Wl,-install_name,@executable_path/%s.dylib' % (LIBNAME,)) + env.Append(LINKFLAGS=['-Wl,-install_name,%s/%s.dylib' % (thisdir, LIBNAME,)]) +@@ -385,12 +382,6 @@ + if sys.platform == 'win32': + env.Append(CPPDEFINES=['SERF_HAVE_SSPI']) + +-# On some systems, the -R values that APR describes never make it into actual +-# RPATH flags. We'll manually map all directories in LIBPATH into new +-# flags to set RPATH values. +-for d in env['LIBPATH']: +- env.Append(RPATH=':'+d) +- + # Set up the construction of serf-*.pc + pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,), + env.File('build/serf.pc.in'), +@@ -461,7 +452,6 @@ + TEST_EXES = [ os.path.join('test', '%s' % (prog)) for prog in TEST_PROGRAMS ] + + # Find the (dynamic) library in this directory +-tenv.Replace(RPATH=thisdir) + tenv.Prepend(LIBS=[LIBNAMESTATIC, ], + LIBPATH=[thisdir, ]) + diff --git a/libserf-python3.patch b/libserf-python3.patch new file mode 100644 index 0000000..3c7edc8 --- /dev/null +++ b/libserf-python3.patch @@ -0,0 +1,60 @@ +diff -up serf-1.3.9/SConstruct.python3 serf-1.3.9/SConstruct +--- serf-1.3.9/SConstruct.python3 2018-07-02 17:21:47.331685070 +0200 ++++ serf-1.3.9/SConstruct 2018-07-02 17:27:12.316413515 +0200 +@@ -20,6 +20,8 @@ + # ==================================================================== + # + ++from __future__ import print_function ++ + import sys + import os + import re +@@ -166,7 +168,7 @@ env.Append(BUILDERS = { + match = re.search('SERF_MAJOR_VERSION ([0-9]+).*' + 'SERF_MINOR_VERSION ([0-9]+).*' + 'SERF_PATCH_VERSION ([0-9]+)', +- env.File('serf.h').get_contents(), ++ env.File('serf.h').get_contents().decode('utf-8'), + re.DOTALL) + MAJOR, MINOR, PATCH = [int(x) for x in match.groups()] + env.Append(MAJOR=str(MAJOR)) +@@ -183,7 +185,7 @@ CALLOUT_OKAY = not (env.GetOption('clean + + unknown = opts.UnknownVariables() + if unknown: +- print 'Warning: Used unknown variables:', ', '.join(unknown.keys()) ++ print('Warning: Used unknown variables:', ', '.join(unknown.keys())) + + apr = str(env['APR']) + apu = str(env['APU']) +diff -uap serf-1.3.9/build/check.py.python3 serf-1.3.9/build/check.py +--- serf-1.3.9/build/check.py.python3 2015-09-17 13:46:24.000000000 +0100 ++++ serf-1.3.9/build/check.py 2018-12-17 11:40:06.524901129 +0000 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # + # check.py : Run all the test cases. + # +@@ -52,16 +52,16 @@ if __name__ == '__main__': + + # Find test responses and run them one by one + for case in glob.glob(testdir + "/testcases/*.response"): +- print "== Testing %s ==" % (case) ++ print("== Testing %s ==" % (case)) + try: + subprocess.check_call([SERF_RESPONSE_EXE, case]) + except subprocess.CalledProcessError: +- print "ERROR: test case %s failed" % (case) ++ print("ERROR: test case %s failed" % (case)) + sys.exit(1) + +- print "== Running the unit tests ==" ++ print("== Running the unit tests ==") + try: + subprocess.check_call(TEST_ALL_EXE) + except subprocess.CalledProcessError: +- print "ERROR: test(s) failed in test_all" ++ print("ERROR: test(s) failed in test_all") + sys.exit(1) diff --git a/libserf.spec b/libserf.spec new file mode 100644 index 0000000..aeab19e --- /dev/null +++ b/libserf.spec @@ -0,0 +1,178 @@ +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} > 28 || 0%{?rhel} > 7 +%global scons scons-3 +%global scons_pkg python3-scons +%else +%global scons scons-2 +%global scons_pkg python2-scons +%endif + +Name: libserf +Version: 1.3.9 +Release: 17%{?dist} +Summary: High-Performance Asynchronous HTTP Client Library +License: ASL 2.0 +URL: http://serf.apache.org/ +Source0: https://archive.apache.org/dist/serf/serf-%{version}.tar.bz2 +BuildRequires: gcc, %{scons_pkg}, pkgconfig +BuildRequires: apr-devel, apr-util-devel, krb5-devel, openssl-devel +BuildRequires: zlib-devel +Patch0: %{name}-norpath.patch +Patch1: %{name}-python3.patch + +%description +The serf library is a C-based HTTP client library built upon the Apache +Portable Runtime (APR) library. It multiplexes connections, running the +read/write communication asynchronously. Memory copies and transformations are +kept to a minimum to provide high performance operation. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: apr-devel%{?_isa} + +%description devel +This package contains libraries and header files for +developing applications that use %{name}. + +%prep +%autosetup -n serf-%{version} -p1 + +# Shared library versioning support in scons is worse than awful... +# minimally, here fix the soname to match serf-1.2.x. Minor version +# handling should be fixed too; really requires better upstream support: +# http://scons.tigris.org/issues/show_bug.cgi?id=2869 +sed -i '/SHLIBVERSION/s/MAJOR/0/' SConstruct + +%build +%{scons} \ + CFLAGS="%{optflags}" \ + LINKFLAGS="%{__global_ldflags}" \ + PREFIX=%{_prefix} \ + LIBDIR=%{_libdir} \ + GSSAPI=%{_prefix} \ + %{?_smp_mflags} + +%install +%{scons} install --install-sandbox=%{buildroot} + +find %{buildroot}%{_libdir} -type f -name '*.*a' -delete -print + +%check +export LD_LIBRARY_PATH=%{buildroot}%{_libdir} +%{scons} %{?_smp_mflags} check || true + +%ldconfig_scriptlets + +%files +%license LICENSE NOTICE +%{_libdir}/*.so.* + +%files devel +%doc CHANGES README design-guide.txt +%{_includedir}/serf-1/ +%{_libdir}/*.so +%{_libdir}/pkgconfig/serf*.pc + +%changelog +* Sat Aug 01 2020 Fedora Release Engineering - 1.3.9-17 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.3.9-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.3.9-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 14 2019 Joe Orton - 1.3.9-14 +- revert broken IPv6 workaround + +* Thu Jul 25 2019 Fedora Release Engineering - 1.3.9-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Apr 16 2019 Joe Orton - 1.3.9-12 +- fix IPv6 fallback behaviour (#1130328) +- use Python3 in tests + +* Fri Feb 01 2019 Fedora Release Engineering - 1.3.9-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.3.9-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Igor Gnatenko - 1.3.9-9 +- Switch to %%ldconfig_scriptlets + +* Mon Jul 02 2018 Nils Philippsen - 1.3.9-8 +- use the Python 3 version of scons from Fedora 29 on + +* Wed Mar 7 2018 Joe Orton - 1.3.9-7 +- add gcc to BR + +* Wed Feb 07 2018 Fedora Release Engineering - 1.3.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.3.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.3.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 14 2016 Joe Orton - 1.3.9-2 +- rebuild for OpenSSL 1.1.0 + +* Fri Sep 02 2016 Igor Gnatenko - 1.3.9-1 +- Update to 1.3.9 (RHBZ #1372506) + +* Sat Apr 09 2016 Igor Gnatenko - 1.3.8-3 +- Add LDFLAGS provided by RPM + +* Thu Feb 04 2016 Fedora Release Engineering - 1.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jun 23 2015 Joe Orton - 1.3.8-1 +- update to 1.3.8 (#1155115, #1155392) +- remove RPATHs (#1154690) + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 12 2014 Christopher Meng - 1.3.7-1 +- Update to 1.3.7 + +* Tue Jun 17 2014 Christopher Meng - 1.3.6-1 +- Update to 1.3.6 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Apr 30 2014 Christopher Meng - 1.3.5-1 +- Update to 1.3.5 + +* Mon Feb 17 2014 Joe Orton - 1.3.4-1 +- Update to 1.3.4 + +* Tue Dec 10 2013 Joe Orton - 1.3.3-1 +- Update to 1.3.3 + +* Wed Nov 6 2013 Joe Orton - 1.3.2-1 +- Update to 1.3.2 +- Require krb5-devel for libgssapi (#1027011) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jun 17 2013 Christopher Meng - 1.2.1-3 +- SPEC cleanup. + +* Thu Jun 13 2013 Christopher Meng - 1.2.1-2 +- Fix the permission of the library. + +* Sun Jun 09 2013 Christopher Meng - 1.2.1-1 +- Initial Package. diff --git a/sources b/sources new file mode 100644 index 0000000..030cbe9 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +370a6340ff20366ab088012cd13f2b57 serf-1.3.9.tar.bz2