diff --git a/.gitignore b/.gitignore index 9e9ac78..0d344dd 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,3 @@ apr-1.3.9.tar.bz2 /apr-1.6.2.tar.bz2 /apr-1.6.3.tar.bz2 /apr-1.6.5.tar.bz2 -/apr-1.7.0.tar.bz2 -/apr-1.7.1.tar.bz2 -/apr-1.7.2.tar.bz2 -/apr-1.7.3.tar.bz2 -/apr-1.7.5.tar.bz2 -/apr-1.7.6.tar.bz2 diff --git a/apr-1.7.2-libdir.patch b/apr-1.2.2-libdir.patch similarity index 55% rename from apr-1.7.2-libdir.patch rename to apr-1.2.2-libdir.patch index d0e8451..aeb7ee1 100644 --- a/apr-1.7.2-libdir.patch +++ b/apr-1.2.2-libdir.patch @@ -1,8 +1,9 @@ -diff --git a/apr-config.in b/apr-config.in -index bed47ca..d4bf4d8 100644 ---- a/apr-config.in -+++ b/apr-config.in -@@ -198,8 +198,10 @@ while test $# -gt 0; do + +- avoid adding %{_libdir} to --link-ld output + +--- apr-1.2.2/apr-config.in.libdir ++++ apr-1.2.2/apr-config.in +@@ -181,8 +181,10 @@ ;; --link-ld) if test "$location" = "installed"; then @@ -12,6 +13,6 @@ index bed47ca..d4bf4d8 100644 + flags="$flags -L$libdir" + fi + flags="$flags -l${APR_LIBNAME}" - elif test "$location" = "crosscompile"; then - flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}" else + ### this surely can't work since the library is in .libs? + flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}" diff --git a/apr-1.2.2-locktimeout.patch b/apr-1.2.2-locktimeout.patch new file mode 100644 index 0000000..73f3994 --- /dev/null +++ b/apr-1.2.2-locktimeout.patch @@ -0,0 +1,11 @@ +--- apr-1.2.2/test/testlock.c.locktimeout ++++ apr-1.2.2/test/testlock.c +@@ -295,7 +295,7 @@ + continue; + } + ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(s)); +- ABTS_ASSERT(tc, "Timer returned too late", end - begin - timeout < 100000); ++ ABTS_ASSERT(tc, "Timer returned too late", end - begin - timeout < 500000); + break; + } + ABTS_ASSERT(tc, "Too many retries", i < MAX_RETRY); 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-1.7.0-deepbind.patch b/apr-1.7.0-deepbind.patch deleted file mode 100644 index 3a40d22..0000000 --- a/apr-1.7.0-deepbind.patch +++ /dev/null @@ -1,60 +0,0 @@ - -Add $APR_DEEPBIND to enable use of RTLD_DEEPBIND in apr_dso_open(). - ---- apr-1.7.0/dso/unix/dso.c.deepbind -+++ apr-1.7.0/dso/unix/dso.c -@@ -38,6 +38,8 @@ - #define DYLD_LIBRARY_HANDLE (void *)-1 - #endif - -+static int use_deepbind; /* 0 = unset, 1 = use DEEPBIND, -1, don't use DEEPBIND */ -+ - APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -@@ -125,6 +127,12 @@ - #else - int flags = RTLD_NOW | RTLD_GLOBAL; - void *os_handle; -+ -+ if (use_deepbind == 0) -+ use_deepbind = secure_getenv("APR_DEEPBIND") != NULL ? 1 : -1; -+ if (use_deepbind == 1) -+ flags |= RTLD_DEEPBIND; -+ - #ifdef _AIX - if (strchr(path + 1, '(') && path[strlen(path) - 1] == ')') - { ---- apr-1.7.0/README.deepbind.deepbind -+++ apr-1.7.0/README.deepbind -@@ -0,0 +1,30 @@ -+This distribution of APR contains a modification of the behaviour of -+the apr_dso_open() function which allows users enable the -+"RTLD_DEEPBIND" flag when dlopen() is called. -+ -+If the "APR_DEEPBIND" environment variable is set at runtime, the -+RTLD_DEEPBIND flag is always added to the flags passed to dlopen(). -+ -+With normal use of dlopen(), dynamically loaded objects will use -+global symbols in preference to any symbols defined within the object. -+Using RTLD_DEEPBIND reverses this binding order. See the dlopen(3) -+man page for more information. -+ -+This can be useful with Apache httpd, where two different modules are -+loaded like: -+ -+1. mod_foo.so uses library "libfoo.so" -+ libfoo.so defines a function "SomeSym" -+2. mod_bar.so uses library "libbar.so" -+ libbar.so defines a different "SomeSym" function -+ -+By default, mod_bar or mod_foo would use the "SomeSym" definition from -+the "wrong" library depending on the load order. If RTLD_DEEPBIND is -+used, the "SomeSym" definition will always be mapped to the definition -+from the corresponding dependent library. This can avoid symbol -+conflicts. -+ -+There are some risks with using RTLD_DEEPBIND, in particular potential -+issues with modules written in C++. It is not recommended to enable -+$APR_DEEPBIND unless it solves a specific problem and after thorough -+testing of the configuration. diff --git a/apr-1.7.6-autoconf.patch b/apr-1.7.6-autoconf.patch deleted file mode 100644 index 58dc4a3..0000000 --- a/apr-1.7.6-autoconf.patch +++ /dev/null @@ -1,200 +0,0 @@ - -https://github.com/apache/apr/pull/68 - ---- apr-1.7.6/build/apr_common.m4.5 -+++ apr-1.7.6/build/apr_common.m4 -@@ -467,19 +467,11 @@ - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_SOURCE( -- [ --#ifndef PACKAGE_NAME --#include "confdefs.h" --#endif -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -- [[$2]] -- [ return 0; }] -- )], [CFLAGS=$apr_save_CFLAGS --$3], [CFLAGS=$apr_save_CFLAGS --$4]) -+ [AC_LANG_PROGRAM([[$1]], [[$2]])], -+ [CFLAGS=$apr_save_CFLAGS -+ $3], -+ [CFLAGS=$apr_save_CFLAGS -+ $4]) - ]) - - dnl ---- apr-1.7.6/build/apr_network.m4.5 -+++ apr-1.7.6/build/apr_network.m4 -@@ -259,11 +259,12 @@ - #ifdef HAVE_STDLIB_H - #include - #endif -+#include - ],[ - int tmp = gethostbyname_r((const char *) 0, (struct hostent *) 0, - (char *) 0, 0, (struct hostent **) 0, &tmp); - /* use tmp to suppress the warning */ --tmp=0; -+puts(tmp ? "non-zero" : "zero"); - ], ac_cv_gethostbyname_r_style=glibc2, ac_cv_gethostbyname_r_style=none)) - - if test "$ac_cv_gethostbyname_r_style" = "glibc2"; then -@@ -287,11 +288,12 @@ - #ifdef HAVE_STDLIB_H - #include - #endif -+#include - ],[ - int tmp = gethostbyname_r((const char *) 0, (struct hostent *) 0, - (struct hostent_data *) 0); - /* use tmp to suppress the warning */ --tmp=0; -+puts(tmp ? "non-zero" : "zero"); - ], ac_cv_gethostbyname_r_arg=hostent_data, ac_cv_gethostbyname_r_arg=char)) - - if test "$ac_cv_gethostbyname_r_arg" = "hostent_data"; then -@@ -327,12 +329,13 @@ - #ifdef HAVE_STDLIB_H - #include - #endif -+#include - ],[ - int tmp = getservbyname_r((const char *) 0, (const char *) 0, - (struct servent *) 0, (char *) 0, 0, - (struct servent **) 0); - /* use tmp to suppress the warning */ --tmp=0; -+puts(tmp ? "non-zero" : "zero"); - ], ac_cv_getservbyname_r_style=glibc2, ac_cv_getservbyname_r_style=none) - - if test "$ac_cv_getservbyname_r_style" = "none"; then -@@ -354,11 +357,12 @@ - #ifdef HAVE_STDLIB_H - #include - #endif -+ #include - ],[ - struct servent *tmp = getservbyname_r((const char *) 0, (const char *) 0, - (struct servent *) 0, (char *) 0, 0); - /* use tmp to suppress the warning */ -- tmp=NULL; -+ puts(tmp ? "non-zero" : "zero"); - ], ac_cv_getservbyname_r_style=solaris, ac_cv_getservbyname_r_style=none) - fi - -@@ -381,11 +385,12 @@ - #ifdef HAVE_STDLIB_H - #include - #endif -+ #include - ],[ - int tmp = getservbyname_r((const char *) 0, (const char *) 0, - (struct servent *) 0, (struct servent_data *) 0); - /* use tmp to suppress the warning */ -- tmp=0; -+ puts(tmp ? "non-zero" : "zero"); - ], ac_cv_getservbyname_r_style=osf1, ac_cv_getservbyname_r_style=none) - fi - ]) ---- apr-1.7.6/build/buildcheck.sh.5 -+++ apr-1.7.6/build/buildcheck.sh -@@ -15,11 +15,11 @@ - echo "buildconf: python version $py_version (ok)" - fi - --# autoconf 2.59 or newer -+# autoconf 2.61 or newer - ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;q'` - if test -z "$ac_version"; then - echo "buildconf: autoconf not found." -- echo " You need autoconf version 2.59 or newer installed" -+ echo " You need autoconf version 2.61 or newer installed" - echo " to build APR from SVN." - res=1 - else ---- apr-1.7.6/configure.in.5 -+++ apr-1.7.6/configure.in -@@ -145,12 +145,14 @@ - APR_CROSS_COMPILING=maybe - elif test "x$build_alias" != "x$host_alias"; then - APR_CROSS_COMPILING=yes -+ else -+ APR_CROSS_COMPILING=no - fi - else - APR_CROSS_COMPILING=no - fi -- - AC_SUBST(APR_CROSS_COMPILING) -+AC_MSG_NOTICE([cross-compilation detection: $APR_CROSS_COMPILING]) - - # Libtool might need this symbol -- it must point to the location of - # the generated libtool script (not necessarily the "top" build dir). -@@ -1876,6 +1878,7 @@ - AC_CHECK_TYPE(ssize_t, int) - AC_C_INLINE - AC_C_CONST -+AC_C_VARARRAYS - AC_FUNC_SETPGRP - - APR_CHECK_SOCKLEN_T -@@ -1971,6 +1974,8 @@ - AC_ERROR([could not detect a 64-bit integer type]) - fi - -+AC_MSG_NOTICE([for apr_(u)int64_t using $int64_strfn and ${int64_value}/${uint64_value}]) -+ - # If present, allow the C99 macro INT64_C to override our conversion. - # - # HP-UX's ANSI C compiler provides this without any includes, so we -@@ -2152,7 +2157,6 @@ - aprlfs=0 - fi - --AC_MSG_CHECKING([which type to use for apr_off_t]) - if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then - # LFS is go! - off_t_fmt='#define APR_OFF_T_FMT APR_INT64_T_FMT' -@@ -2203,7 +2207,7 @@ - off_t_fmt=d - off_t_strfn='strtoi' - fi --AC_MSG_RESULT($off_t_value) -+AC_MSG_NOTICE([for apr_off_t using $off_t_strfn and $off_t_value]) - - # Regardless of whether _LARGEFILE64_SOURCE is used, on some - # platforms _FILE_OFFSET_BITS will affect the size of ino_t and hence -@@ -2234,7 +2238,7 @@ - fi - ;; - esac --AC_MSG_NOTICE([using $ino_t_value for ino_t]) -+AC_MSG_NOTICE([for apr_ino_t using $ino_t_value]) - - # Checks for endianness - AC_C_BIGENDIAN ---- apr-1.7.6/poll/unix/poll.c.5 -+++ apr-1.7.6/poll/unix/poll.c -@@ -73,7 +73,7 @@ - apr_interval_time_t timeout) - { - int i, num_to_poll; --#ifdef HAVE_VLA -+#ifdef HAVE_C_VARARRAYS - /* XXX: I trust that this is a segv when insufficient stack exists? */ - struct pollfd pollset[num + 1]; /* +1 since allocating 0 is undefined behaviour */ - #elif defined(HAVE_ALLOCA) -@@ -130,7 +130,7 @@ - } - } - --#if !defined(HAVE_VLA) && !defined(HAVE_ALLOCA) -+#if !defined(HAVE_C_VARARRAYS) && !defined(HAVE_ALLOCA) - if (num > SMALL_POLLSET_LIMIT) { - free(pollset); - } diff --git a/apr.spec b/apr.spec index eae3116..75264ec 100644 --- a/apr.spec +++ b/apr.spec @@ -1,38 +1,30 @@ %define aprver 1 -%bcond tests 1 - # Arches on which the multilib apr.h hack is needed: %define multilib_arches %{ix86} ia64 ppc ppc64 s390 s390x x86_64 -# Similar issue to https://bugzilla.redhat.com/show_bug.cgi?id=2043092 -%undefine _package_note_flags - -# Disable .la file removal since the .la file is exported via apr-config. -%global __brp_remove_la_files %nil - Summary: Apache Portable Runtime library Name: apr -Version: 1.7.6 -Release: 4%{?dist} -# Apache-2.0: everything +Version: 1.6.5 +Release: 1%{?dist} +# ASL 2.0: everything # ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c -# BSD-4-Clause-UC: strings/apr_snprintf.c, strings/apr_fnmatch.c, +# BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c, # include/apr_fnmatch.h, misc/unix/getopt.c, # file_io/unix/mktemp.c, strings/apr_strings.c -# Zlib: strings/apr_strnatcmp.c, include/apr_strings.h -# Caldera-no-preamble: strings/apr_snprintf.c -License: Apache-2.0 AND (BSD-4-Clause-UC AND ISC AND Zlib AND Caldera-no-preamble) -URL: https://apr.apache.org/ -Source0: https://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 +# BSD (3-clause): strings/apr_strnatcmp.c, include/apr_strings.h +License: ASL 2.0 and BSD with advertising and ISC and BSD +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.7.2-libdir.patch -Patch2: apr-1.2.7-pkgconf.patch -Patch3: apr-1.7.0-deepbind.patch -Patch4: apr-1.7.6-autoconf.patch +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 BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 -BuildRequires: make -BuildRequires: libxcrypt-devel +# To enable SCTP support +BuildRequires: lksctp-tools-devel %description The mission of the Apache Portable Runtime (APR) is to provide a @@ -41,6 +33,7 @@ portability layer to as many operating systems as possible, including Unices, MS Win32, BeOS and OS/2. %package devel +Group: Development/Libraries Summary: APR library development kit Conflicts: subversion-devel < 0.20.1-2 Requires: apr = %{version}-%{release}, pkgconfig @@ -52,49 +45,32 @@ Apache Portable Runtime (APR) is to provide a free library of C data structures and routines. %prep -%autosetup -p1 -S gendiff +%setup -q +%patch1 -p1 -b .r1834495 +%patch2 -p1 -b .locktimeout +%patch3 -p1 -b .libdir +%patch4 -p1 -b .pkgconf %build # regenerate configure script etc. ./buildconf +# Forcibly prevent detection of shm_open (which then picks up but +# does not use -lrt). +export ac_cv_search_shm_open=no + %configure \ --includedir=%{_includedir}/apr-%{aprver} \ --with-installbuilddir=%{_libdir}/apr-%{aprver}/build \ - --with-devrandom=/dev/urandom \ - --disable-static \ - --disable-sctp - -# Sanity tests to catch subtle configure script failures: -# -# 1. Fail if apr_strtoi64() is not using libc strtol/strtoll -strfn=`echo XXX APR_INT64_STRFN | cpp -I./include -I./include/arch/unix -include include/arch/unix/apr_private.h \ - | sed -n '/^XXX/{s/XXX //;p;}'` -: APR_INT64_STRFN detected as $strfn -if test "x$strfn" = "x"; then - cat config.log - : configure failed to detect working strtol, bailing. -fi - -# 2. Fail if LFS support isn't present in a 32-bit build, since this -# breaks ABI and the soname doesn't change: see #254241 -if grep 'define SIZEOF_VOIDP 4' include/apr.h \ - && ! grep off64_t include/apr.h; then - cat config.log - : LFS support not present in 32-bit build - exit 1 -fi - -%{make_build} + --with-devrandom=/dev/urandom +make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT -%{make_install} +make install DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{_datadir}/aclocal -for f in find_apr.m4 apr_common.m4; do - install -p -m 644 build/$f $RPM_BUILD_ROOT/%{_datadir}/aclocal -done +install -m 644 build/find_apr.m4 $RPM_BUILD_ROOT/%{_datadir}/aclocal # Trim exported dependecies sed -ri '/^dependency_libs/{s,-l(uuid|crypt) ,,g}' \ @@ -116,33 +92,33 @@ install -c -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/apr-%{aprver}/apr.h rm -f $RPM_BUILD_ROOT%{_libdir}/apr.exp \ $RPM_BUILD_ROOT%{_libdir}/libapr-*.a -# Additionally packaged (see https://bugzilla.redhat.com/1669589) -- -sed -i '1s,/.*,/usr/bin/python3,' build/gen-build.py -for f in build/gen-build.py build/install.sh build/config.*; do - install -c -m755 $f $RPM_BUILD_ROOT%{_libdir}/apr-%{aprver}/build -done - %check -grep ^cross_compiling=no $RPM_BUILD_ROOT%{_bindir}/apr-%{aprver}-config - -%if %{with tests} +# Fail if LFS support isn't present in a 32-bit build, since this +# breaks ABI and the soname doesn't change: see #254241 +if grep 'define SIZEOF_VOIDP 4' include/apr.h \ + && ! grep off64_t include/apr.h; then + cat config.log + : LFS support not present in 32-bit build + exit 1 +fi pushd test make %{?_smp_mflags} ./testall -v -q popd -%endif -%ldconfig_scriptlets +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files -%doc CHANGES LICENSE NOTICE README* +%doc CHANGES LICENSE NOTICE %{_libdir}/libapr-%{aprver}.so.* %files devel %doc docs/APRDesign.html docs/canonical_filenames.html %doc docs/incomplete_types docs/non_apr_programs %{_bindir}/apr-%{aprver}-config -%{_libdir}/libapr-%{aprver}.la +%{_libdir}/libapr-%{aprver}.*a %{_libdir}/libapr-%{aprver}.so %{_libdir}/pkgconfig/*.pc %dir %{_libdir}/apr-%{aprver} @@ -153,134 +129,6 @@ popd %{_datadir}/aclocal/*.m4 %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 1.7.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Thu Aug 07 2025 Joe Orton - 1.7.6-3 -- fix APR_TRY_COMPILE_NO_WARNING in apr_common.m4 -- add tests bcond -- move configure sanity tests into build section -- fix cross-compilation detection (#2386875) - -* Wed Jul 23 2025 Fedora Release Engineering - 1.7.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed May 28 2025 Joe Orton - 1.7.6-1 -- update to 1.7.6 (#2366842) - -* Sat Feb 01 2025 Björn Esser - 1.7.5-3 -- Add explicit BR: libxcrypt-devel - -* Thu Jan 16 2025 Fedora Release Engineering - 1.7.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 28 2024 Joe Orton - 1.7.5-1 -- update to 1.7.5 (#2307902) - -* Wed Jul 17 2024 Fedora Release Engineering - 1.7.3-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Feb 8 2024 Joe Orton - 1.7.3-8 -- use autosetup -- always disable SCTP support at build time - -* Mon Jan 29 2024 Fedora Release Engineering - 1.7.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 1.7.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 1.7.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Oct 24 2023 Luboš Uhliarik - 1.7.3-4 -- rebuilt - -* Fri Sep 29 2023 Luboš Uhliarik - 1.7.3-3 -- SPDX migration - -* Wed Jul 19 2023 Fedora Release Engineering - 1.7.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Apr 11 2023 Luboš Uhliarik - 1.7.3-1 -- new version 1.7.3 - -* Fri Feb 10 2023 Luboš Uhliarik - 1.7.2-2 -- enable apr_atomic test again - -* Thu Feb 02 2023 Luboš Uhliarik - 1.7.2-1 -- new version 1.7.2 - -* Wed Jan 18 2023 Fedora Release Engineering - 1.7.0-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Jan 16 2023 Florian Weimer - 1.7.0-20 -- Port configure script to C99 - -* Mon Dec 19 2022 Joe Orton - 1.7.0-19 -- rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 1.7.0-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri May 13 2022 Joe Orton - 1.7.0-17 -- ship apr_common.m4 in -devel as well -- disable .la file removal - -* Fri Jan 28 2022 Joe Orton - 1.7.0-16 -- disable package notes - -* Wed Jan 19 2022 Fedora Release Engineering - 1.7.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Aug 24 2021 Luboš Uhliarik - 1.7.0-14 -- Resolves: #1996685 - add various Coverity/Clang cleanups - -* Wed Aug 04 2021 Luboš Uhliarik - 1.7.0-13 -- disable sctp protocol support by default - -* Wed Jul 21 2021 Fedora Release Engineering - 1.7.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 18 2021 Joe Orton - 1.7.0-11 -- package additional build/* files in apr-devel (#1945078) - -* Fri Jun 18 2021 Joe Orton - 1.7.0-10 -- document APR_DEEPBIND and use secure_getenv() (thanks to mturk) - -* Mon Apr 12 2021 Lubos Uhliarik - 1.7.0-9 -- Resolves: #1942985 - apr: FTBFS with upcoming autoconf-2.71 - -* Tue Jan 26 2021 Fedora Release Engineering - 1.7.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Nov 6 2020 Joe Orton - 1.7.0-7 -- disable static build in libtool - -* Mon Jul 27 2020 Fedora Release Engineering - 1.7.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jun 16 2020 Joe Orton - 1.7.0-5 -- only enable RTLD_DEEPBIND if $APR_DEEPBIND is set - -* Wed Mar 4 2020 Joe Orton - 1.7.0-4 -- re-enable RTLD_DEEPBIND (#1739287) - -* Tue Jan 28 2020 Fedora Release Engineering - 1.7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jul 24 2019 Fedora Release Engineering - 1.7.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Apr 16 2019 Lubos Uhliarik - 1.7.0-1 -- update to 1.7.0 (#1696401) - -* Thu Jan 31 2019 Fedora Release Engineering - 1.6.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 14 2019 Björn Esser - 1.6.5-2 -- Rebuilt for libcrypt.so.2 (#1666033) - * Mon Sep 17 2018 Joe Orton - 1.6.5-1 - update to 1.6.5 (#1628934) diff --git a/pullrev.sh b/pullrev.sh deleted file mode 100755 index ec8815d..0000000 --- a/pullrev.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -e - -if [ $# -lt 1 ]; then - echo "What?" - exit 1 -fi - -repo="https://svn.apache.org/repos/asf/apr/apr/trunk" -#repo="https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x" -ver=1.7.3 -prefix="apr-${ver}" -suffix="r$1${2:++}" -fn="${prefix}-${suffix}.patch" -vcurl="http://svn.apache.org/viewvc?view=revision&revision=" - -if test -f ${fn}; then - mv -v -f ${fn} ${fn}\~ - echo "# $0 $*" > ${fn} - sed '1{/#.*pullrev/d;};/^--- /,$d' < ${fn}\~ >> ${fn} -else - echo "# $0 $*" > ${fn} -fi - -new=0 -for r in $*; do - if ! grep -q "${vcurl}${r}" ${fn}; then - echo "${vcurl}${r}" - new=1 - fi -done >> ${fn} - -[ $new -eq 0 ] || echo >> ${fn} - -prev=/dev/null -for r in $*; do - echo "+ fetching ${r}" - this=`mktemp /tmp/pullrevXXXXXX` - svn diff -c ${r} ${repo} | filterdiff --remove-timestamps --clean -x 'CHANGES' -x 'next-number' -x 'STATUS' \ - --addprefix="${prefix}/" > ${this} - next=`mktemp /tmp/pullrevXXXXXX` - combinediff --quiet ${prev} ${this} > ${next} - rm -f "${this}" - [ "${prev}" = "/dev/null" ] || rm -f "${prev}" - prev=${next} -done - -cat ${prev} >> ${fn} - -vi "${fn}" -echo "+ git add ${fn}" -git add "${fn}" -echo "+ spec template:" -echo "PatchN: ${fn}" diff --git a/sources b/sources index 0c31c18..1c9ca67 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apr-1.7.6.tar.bz2) = 629b60680d1244641828019db903a1b199e8a19c8f27a5132b93faacb381ce561f88463345ab019258f1f1e8cfdf8aa986ac815153a8e7e04a22b3932f9fedd2 +SHA512 (apr-1.6.5.tar.bz2) = d3511e320457b5531f565813e626e7941f6b82864852db6aa03dd298a65dbccdcdc4bd580f5314f8be45d268388edab25efe88cf8340b7d2897a4dbe9d0a41fc