From 5d15e461f04b1061483fe530f505661d5f1c0ca6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 30 2021 15:49:21 +0000 Subject: import libserf-1.3.9-9.module+el8.4.0+8637+d3bad2c2 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cba6f56 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/serf-1.3.9.tar.bz2 diff --git a/.libserf.metadata b/.libserf.metadata new file mode 100644 index 0000000..ec60ae2 --- /dev/null +++ b/.libserf.metadata @@ -0,0 +1 @@ +26015c63e3bbb108c1689bf2090e4c26351db674 SOURCES/serf-1.3.9.tar.bz2 diff --git a/SOURCES/libserf-norpath.patch b/SOURCES/libserf-norpath.patch new file mode 100644 index 0000000..385dfd3 --- /dev/null +++ b/SOURCES/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/SOURCES/libserf-python3.patch b/SOURCES/libserf-python3.patch new file mode 100644 index 0000000..8b25520 --- /dev/null +++ b/SOURCES/libserf-python3.patch @@ -0,0 +1,30 @@ +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 --git a/SPECS/libserf.spec b/SPECS/libserf.spec new file mode 100644 index 0000000..8389df2 --- /dev/null +++ b/SPECS/libserf.spec @@ -0,0 +1,154 @@ +%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: 9%{?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 + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%license LICENSE NOTICE +%{_libdir}/*.so.* + +%files devel +%doc CHANGES README design-guide.txt +%{_includedir}/serf-1/ +%{_libdir}/*.so +%{_libdir}/pkgconfig/serf*.pc + +%changelog +* Mon Aug 05 2019 Lubos Uhliarik - 1.3.9-9 +- Resolves: #1695587 - Ensure modular RPM upgrade path + +* 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.