diff --git a/apr-1.6.3-r1834495.patch b/apr-1.6.3-r1834495.patch new file mode 100644 index 0000000..015f15b --- /dev/null +++ b/apr-1.6.3-r1834495.patch @@ -0,0 +1,171 @@ +# ./pullrev.sh 1834495 +http://svn.apache.org/viewvc?view=revision&revision=1834495 + +--- apr-1.6.3/buildconf ++++ apr-1.6.3/buildconf +@@ -112,8 +112,10 @@ + # Remove autoconf 2.5x's cache directory + rm -rf autom4te*.cache + ++PYTHON=${PYTHON-`build/PrintPath python3 python2 python`} ++ + echo "buildconf: generating 'make' outputs ..." +-build/gen-build.py $verbose make ++${PYTHON} build/gen-build.py $verbose make + + # Create RPM Spec file + if [ -f `which cut` ]; then +--- apr-1.6.3/build/gen-build.py ++++ apr-1.6.3/build/gen-build.py +@@ -10,7 +10,10 @@ + + + import os +-import ConfigParser ++try: ++ import configparser ++except ImportError: ++ import ConfigParser as configparser + import getopt + import string + import glob +@@ -36,7 +39,7 @@ + + + def main(): +- parser = ConfigParser.ConfigParser() ++ parser = configparser.ConfigParser() + parser.read('build.conf') + + if parser.has_option('options', 'dsp'): +@@ -62,7 +65,7 @@ + # write out the platform-independent files + files = get_files(parser.get('options', 'paths')) + objects, dirs = write_objects(f, legal_deps, h_deps, files) +- f.write('\nOBJECTS_all = %s\n\n' % string.join(objects)) ++ f.write('\nOBJECTS_all = %s\n\n' % " ".join(objects)) + + # for each platform and each subdirectory holding platform-specific files, + # write out their compilation rules, and an OBJECT__ symbol. +@@ -86,11 +89,11 @@ + inherit_files[-1] = inherit_files[-1][:-2] + '.lo' + # replace the \\'s with /'s + inherit_line = '/'.join(inherit_files) +- if not inherit_parent.has_key(inherit_files[0]): ++ if inherit_files[0] not in inherit_parent: + inherit_parent[inherit_files[0]] = [] + inherit_parent[inherit_files[0]].append(inherit_line) + +- for subdir in string.split(parser.get('options', 'platform_dirs')): ++ for subdir in parser.get('options', 'platform_dirs').split(): + path = '%s/%s' % (subdir, platform) + if not os.path.exists(path): + # this subdir doesn't have a subdir for this platform, so we'll +@@ -106,7 +109,7 @@ + files = get_files(path + '/*.c') + objects, _unused = write_objects(f, legal_deps, h_deps, files) + +- if inherit_parent.has_key(subdir): ++ if subdir in inherit_parent: + objects = objects + inherit_parent[subdir] + + symname = 'OBJECTS_%s_%s' % (subdir, platform) +@@ -114,7 +117,7 @@ + objects.sort() + + # and write the symbol for the whole group +- f.write('\n%s = %s\n\n' % (symname, string.join(objects))) ++ f.write('\n%s = %s\n\n' % (symname, " ".join(objects))) + + # and include that symbol in the group + group.append('$(%s)' % symname) +@@ -122,18 +125,18 @@ + group.sort() + + # write out a symbol which contains the necessary files +- f.write('OBJECTS_%s = %s\n\n' % (platform, string.join(group))) ++ f.write('OBJECTS_%s = %s\n\n' % (platform, " ".join(group))) + +- f.write('HEADERS = $(top_srcdir)/%s\n\n' % string.join(headers, ' $(top_srcdir)/')) +- f.write('SOURCE_DIRS = %s $(EXTRA_SOURCE_DIRS)\n\n' % string.join(dirs.keys())) ++ f.write('HEADERS = $(top_srcdir)/%s\n\n' % ' $(top_srcdir)/'.join(headers)) ++ f.write('SOURCE_DIRS = %s $(EXTRA_SOURCE_DIRS)\n\n' % " ".join(dirs.keys())) + + if parser.has_option('options', 'modules'): + modules = parser.get('options', 'modules') + +- for mod in string.split(modules): ++ for mod in modules.split(): + files = get_files(parser.get(mod, 'paths')) + objects, _unused = write_objects(f, legal_deps, h_deps, files) +- flat_objects = string.join(objects) ++ flat_objects = " ".join(objects) + f.write('OBJECTS_%s = %s\n' % (mod, flat_objects)) + + if parser.has_option(mod, 'target'): +@@ -153,9 +156,9 @@ + d = os.path.dirname(d) + + # Sort so 'foo' is before 'foo/bar' +- keys = alldirs.keys() ++ keys = list(alldirs.keys()) + keys.sort() +- f.write('BUILD_DIRS = %s\n\n' % string.join(keys)) ++ f.write('BUILD_DIRS = %s\n\n' % " ".join(keys)) + + f.write('.make.dirs: $(srcdir)/build-outputs.mk\n' \ + '\t@for d in $(BUILD_DIRS); do test -d $$d || mkdir $$d; done\n' \ +@@ -177,12 +180,12 @@ + + # what headers does this file include, along with the implied headers + deps = extract_deps(file, legal_deps) +- for hdr in deps.keys(): ++ for hdr in list(deps.keys()): + deps.update(h_deps.get(hdr, {})) + +- vals = deps.values() ++ vals = list(deps.values()) + vals.sort() +- f.write('%s: %s .make.dirs %s\n' % (obj, file, string.join(vals))) ++ f.write('%s: %s .make.dirs %s\n' % (obj, file, " ".join(vals))) + + objects.sort() + +@@ -210,7 +213,7 @@ + for hdr, deps in header_deps.items(): + # print hdr, deps + start = len(deps) +- for dep in deps.keys(): ++ for dep in list(deps.keys()): + deps.update(header_deps.get(dep, {})) + if len(deps) != start: + altered = 1 +@@ -220,7 +223,7 @@ + + def get_files(patterns): + files = [ ] +- for pat in string.split(patterns): ++ for pat in patterns.split(): + files.extend(map(clean_path, glob.glob(pat))) + files.sort() + return files +--- apr-1.6.3/build/buildcheck.sh ++++ apr-1.6.3/build/buildcheck.sh +@@ -4,7 +4,7 @@ + res=0 + + # any python +-python=`build/PrintPath python` ++python=${PYTHON-`build/PrintPath python3 python2 python`} + if test -z "$python"; then + echo "buildconf: python not found." + echo " You need python installed" +@@ -11,7 +11,7 @@ + echo " to build APR from SVN." + res=1 + else +- py_version=`python -c 'import sys; print sys.version' 2>&1|sed 's/ .*//;q'` ++ py_version=`$python -c 'import sys; print(sys.version)' 2>&1|sed 's/ .*//;q'` + echo "buildconf: python version $py_version (ok)" + fi + diff --git a/apr.spec b/apr.spec index 226f901..7d12e9c 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.6.3 -Release: 7%{?dist} +Release: 8%{?dist} # ASL 2.0: everything # ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c # BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c, @@ -18,11 +18,12 @@ Group: System Environment/Libraries URL: http://apr.apache.org/ Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 Source1: apr-wrapper.h +Patch1: apr-1.6.3-r1834495.patch Patch2: apr-1.2.2-locktimeout.patch Patch3: apr-1.2.2-libdir.patch Patch4: apr-1.2.7-pkgconf.patch Patch5: apr-rh1539844.patch -BuildRequires: gcc, autoconf, libtool, libuuid-devel, python2 +BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 # To enable SCTP support BuildRequires: lksctp-tools-devel @@ -46,6 +47,7 @@ C data structures and routines. %prep %setup -q +%patch1 -p1 -b .r1834495 %patch2 -p1 -b .locktimeout %patch3 -p1 -b .libdir %patch4 -p1 -b .pkgconf @@ -131,6 +133,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* Wed Jun 27 2018 Joe Orton - 1.6.3-8 +- update to use Python 3 at build time + * Wed Mar 14 2018 Iryna Shcherbina - 1.6.3-7 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)