From 67a87c8429b80c4b46ab151b668de22cf175a064 Mon Sep 17 00:00:00 2001 From: Lubos Uhliarik Date: Mon, 12 Apr 2021 13:57:14 +0200 Subject: [PATCH 01/38] Resolves: #1942985 - apr: FTBFS with upcoming autoconf-2.71 --- apr-1.7.0-autoconf.patch | 19 +++++++++++++++++++ apr.spec | 7 ++++++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 apr-1.7.0-autoconf.patch diff --git a/apr-1.7.0-autoconf.patch b/apr-1.7.0-autoconf.patch new file mode 100644 index 0000000..e9e4eac --- /dev/null +++ b/apr-1.7.0-autoconf.patch @@ -0,0 +1,19 @@ +--- a/build/apr_common.m4 2021/03/06 18:45:02 1887278 ++++ b/build/apr_common.m4 2021/03/06 22:20:59 1887279 +@@ -467,13 +467,9 @@ + CFLAGS="$CFLAGS -Werror" + fi + AC_COMPILE_IFELSE( +- [AC_LANG_SOURCE( +- [#include "confdefs.h" +- ] +- [[$1]] +- [int main(int argc, const char *const *argv) {] ++ [AC_LANG_PROGRAM( ++ [[$1]], + [[$2]] +- [ return 0; }] + )], [CFLAGS=$apr_save_CFLAGS + $3], [CFLAGS=$apr_save_CFLAGS + $4]) + diff --git a/apr.spec b/apr.spec index 3b6eb21..0a7219d 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 8%{?dist} +Release: 9%{?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, @@ -20,6 +20,7 @@ Source1: apr-wrapper.h Patch1: apr-1.2.2-libdir.patch Patch2: apr-1.2.7-pkgconf.patch Patch3: apr-1.7.0-deepbind.patch +Patch4: apr-1.7.0-autoconf.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 # To enable SCTP support BuildRequires: lksctp-tools-devel @@ -47,6 +48,7 @@ C data structures and routines. %patch1 -p1 -b .libdir %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind +%patch4 -p1 -b .autoconf-2-71 %build # regenerate configure script etc. @@ -125,6 +127,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From fe21e7be3b815672011e30d54608c8098b503ac0 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 18 Jun 2021 10:15:13 +0100 Subject: [PATCH 02/38] document APR_DEEPBIND and use secure_getenv() (thanks to mturk) --- apr-1.7.0-deepbind.patch | 38 +++++++++++++++++++++++++++++++++++--- apr.spec | 7 +++++-- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/apr-1.7.0-deepbind.patch b/apr-1.7.0-deepbind.patch index ceaa9ab..3a40d22 100644 --- a/apr-1.7.0-deepbind.patch +++ b/apr-1.7.0-deepbind.patch @@ -1,6 +1,5 @@ -Conflicting e.g. libldap vs libldap_r problems still exist -inside httpd. Use RTLD_DEEPBIND by default. +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 @@ -19,10 +18,43 @@ inside httpd. Use RTLD_DEEPBIND by default. void *os_handle; + + if (use_deepbind == 0) -+ use_deepbind = getenv("APR_DEEPBIND") != NULL ? 1 : -1; ++ 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.spec b/apr.spec index 0a7219d..4e85afe 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 9%{?dist} +Release: 10%{?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, @@ -109,7 +109,7 @@ popd %ldconfig_scriptlets %files -%doc CHANGES LICENSE NOTICE +%doc CHANGES LICENSE NOTICE README* %{_libdir}/libapr-%{aprver}.so.* %files devel @@ -127,6 +127,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 6c0c3ff78124835be8bb6c9e1ade8cdae2c98620 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 18 Jun 2021 10:26:53 +0100 Subject: [PATCH 03/38] package additional build/* files in apr-devel (#1945078) Resolves: rhbz#1945078 --- apr.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 4e85afe..82be517 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 10%{?dist} +Release: 11%{?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, @@ -92,6 +92,12 @@ 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 # Fail if LFS support isn't present in a 32-bit build, since this # breaks ABI and the soname doesn't change: see #254241 @@ -127,6 +133,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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) From e47bf0a17de7ebda65e23a9b148516c463180ec7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:51:56 +0000 Subject: [PATCH 04/38] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 047b5f6c0b58a9981a6c2f9d5d147fab32354c49 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:48:01 +0000 Subject: [PATCH 05/38] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 82be517..69fff89 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 11%{?dist} +Release: 12%{?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, @@ -133,6 +133,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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) From 3197b2f7c79ec639675dd1251f9dd1a30bc710c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Thu, 5 Aug 2021 12:34:07 +0200 Subject: [PATCH 06/38] disable sctp protocol support by default --- apr.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apr.spec b/apr.spec index 69fff89..691b20e 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 12%{?dist} +Release: 13%{?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, @@ -22,8 +22,6 @@ Patch2: apr-1.2.7-pkgconf.patch Patch3: apr-1.7.0-deepbind.patch Patch4: apr-1.7.0-autoconf.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 -# To enable SCTP support -BuildRequires: lksctp-tools-devel BuildRequires: make %description @@ -58,6 +56,9 @@ C data structures and routines. # does not use -lrt). export ac_cv_search_shm_open=no +# Forcibly disable sctp protocol support +export apr_cv_sctp=no + %configure \ --includedir=%{_includedir}/apr-%{aprver} \ --with-installbuilddir=%{_libdir}/apr-%{aprver}/build \ @@ -133,6 +134,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 9781ac9f9da623c6eacff1b749f8f57d414c995b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Tue, 24 Aug 2021 16:02:02 +0200 Subject: [PATCH 07/38] Resolves: #1996685 - add various Coverity/Clang cleanups --- apr-1.7.0-r1891269+.patch | 239 ++++++++++++++++++++++++++++++++++++++ apr.spec | 7 +- 2 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 apr-1.7.0-r1891269+.patch diff --git a/apr-1.7.0-r1891269+.patch b/apr-1.7.0-r1891269+.patch new file mode 100644 index 0000000..1949d1a --- /dev/null +++ b/apr-1.7.0-r1891269+.patch @@ -0,0 +1,239 @@ +# ./pullrev.sh 1891269 1891198 1891196 +http://svn.apache.org/viewvc?view=revision&revision=1891269 +http://svn.apache.org/viewvc?view=revision&revision=1891198 +http://svn.apache.org/viewvc?view=revision&revision=1891196 + +--- apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h ++++ apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h +@@ -33,8 +33,10 @@ + struct apr_thread_mutex_t { + apr_pool_t *pool; + pthread_mutex_t mutex; ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + apr_thread_cond_t *cond; + int locked, num_waiters; ++#endif + }; + #endif + +--- apr-1.7.0/locks/unix/thread_mutex.c ++++ apr-1.7.0/locks/unix/thread_mutex.c +@@ -102,6 +102,7 @@ + { + apr_status_t rv; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + apr_status_t rv2; + +@@ -133,6 +134,7 @@ + + return rv; + } ++#endif + + rv = pthread_mutex_lock(&mutex->mutex); + #ifdef HAVE_ZOS_PTHREADS +@@ -148,6 +150,7 @@ + { + apr_status_t rv; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + apr_status_t rv2; + +@@ -177,6 +180,7 @@ + + return rv; + } ++#endif + + rv = pthread_mutex_trylock(&mutex->mutex); + if (rv) { +@@ -281,6 +285,7 @@ + { + apr_status_t status; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + status = pthread_mutex_lock(&mutex->mutex); + if (status) { +@@ -303,6 +308,7 @@ + + mutex->locked = 0; + } ++#endif + + status = pthread_mutex_unlock(&mutex->mutex); + #ifdef HAVE_ZOS_PTHREADS +@@ -318,9 +324,12 @@ + { + apr_status_t rv, rv2 = APR_SUCCESS; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + rv2 = apr_thread_cond_destroy(mutex->cond); + } ++#endif ++ + rv = apr_pool_cleanup_run(mutex->pool, mutex, thread_mutex_cleanup); + if (rv == APR_SUCCESS) { + rv = rv2; +--- apr-1.7.0/random/unix/sha2.c ++++ apr-1.7.0/random/unix/sha2.c +@@ -425,7 +425,7 @@ + usedspace = freespace = 0; + } + +-void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { ++void apr__SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) { + sha2_word32 *d = (sha2_word32*)digest; + unsigned int usedspace; + +@@ -496,7 +496,7 @@ + usedspace = 0; + } + +-char *apr__SHA256_End(SHA256_CTX* context, char buffer[]) { ++char *apr__SHA256_End(SHA256_CTX* context, char buffer[SHA256_DIGEST_STRING_LENGTH]) { + sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest; + int i; + +--- apr-1.7.0/time/unix/time.c ++++ apr-1.7.0/time/unix/time.c +@@ -142,6 +142,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) +--- apr-1.7.0/time/win32/time.c ++++ apr-1.7.0/time/win32/time.c +@@ -54,6 +54,9 @@ + static const int dayoffset[12] = + {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; + ++ if (tm->wMonth < 1 || tm->wMonth > 12) ++ return APR_EBADDATE; ++ + /* Note; the caller is responsible for filling in detailed tm_usec, + * tm_gmtoff and tm_isdst data when applicable. + */ +@@ -228,6 +231,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) +--- apr-1.7.0/file_io/unix/readwrite.c ++++ apr-1.7.0/file_io/unix/readwrite.c +@@ -146,7 +146,7 @@ + + APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes) + { +- apr_size_t rv; ++ apr_size_t rv = APR_SUCCESS; + + if (thefile->buffered) { + char *pos = (char *)buf; +@@ -160,13 +160,14 @@ + * logically reading from + */ + apr_int64_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos; +- if (offset != thefile->filePtr) +- lseek(thefile->filedes, offset, SEEK_SET); ++ if (offset != thefile->filePtr) { ++ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); ++ if (thefile->filePtr == -1) rv = errno; ++ } + thefile->bufpos = thefile->dataRead = 0; + thefile->direction = 1; + } + +- rv = 0; + while (rv == 0 && size > 0) { + if (thefile->bufpos == thefile->bufsize) /* write buffer is full*/ + rv = apr_file_flush_locked(thefile); +@@ -244,12 +245,15 @@ + */ + apr_int64_t offset = thefile->filePtr - thefile->dataRead + + thefile->bufpos; +- if (offset != thefile->filePtr) +- lseek(thefile->filedes, offset, SEEK_SET); ++ if (offset != thefile->filePtr) { ++ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); ++ if (thefile->filePtr == -1) rv = errno; ++ } + thefile->bufpos = thefile->dataRead = 0; + } + + file_unlock(thefile); ++ if (rv) return rv; + } + + if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) { +--- apr-1.7.0/locks/unix/proc_mutex.c ++++ apr-1.7.0/locks/unix/proc_mutex.c +@@ -1518,11 +1518,10 @@ + + APR_DECLARE(const char *) apr_proc_mutex_defname(void) + { +- apr_status_t rv; + apr_proc_mutex_t mutex; + +- if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, +- NULL)) != APR_SUCCESS) { ++ if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, ++ NULL) != APR_SUCCESS) { + return "unknown"; + } + +--- apr-1.7.0/memory/unix/apr_pools.c ++++ apr-1.7.0/memory/unix/apr_pools.c +@@ -1338,7 +1338,7 @@ + apr_size_t free_index; + + pool_concurrency_set_used(pool); +- ps.node = active = pool->active; ++ ps.node = pool->active; + ps.pool = pool; + ps.vbuff.curpos = ps.node->first_avail; + +--- apr-1.7.0/test/teststr.c ++++ apr-1.7.0/test/teststr.c +@@ -394,6 +394,19 @@ + ABTS_STR_EQUAL(tc, apr_cstr_skip_prefix("", "12"), NULL); + } + ++static void pstrcat(abts_case *tc, void *data) ++{ ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, "a", "bc", "def", NULL), ++ "abcdef"); ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, NULL), ""); ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, ++ "a", "b", "c", "d", "e", ++ "f", "g", "h", "i", "j", ++ "1", "2", "3", "4", "5", ++ NULL), ++ "abcdefghij12345"); ++} ++ + abts_suite *teststr(abts_suite *suite) + { + suite = ADD_SUITE(suite) +@@ -412,6 +425,7 @@ + abts_run_test(suite, string_cpystrn, NULL); + abts_run_test(suite, snprintf_overflow, NULL); + abts_run_test(suite, skip_prefix, NULL); ++ abts_run_test(suite, pstrcat, NULL); + + return suite; + } diff --git a/apr.spec b/apr.spec index 691b20e..9cf1f70 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 13%{?dist} +Release: 14%{?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, @@ -21,6 +21,7 @@ Patch1: apr-1.2.2-libdir.patch Patch2: apr-1.2.7-pkgconf.patch Patch3: apr-1.7.0-deepbind.patch Patch4: apr-1.7.0-autoconf.patch +Patch5: apr-1.7.0-r1891269+.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -47,6 +48,7 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 +%patch5 -p1 -b .r1891269+ %build # regenerate configure script etc. @@ -134,6 +136,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 6aaff341cca9a601c73d51481eb29c33dd2cf0da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Tue, 24 Aug 2021 16:10:51 +0200 Subject: [PATCH 08/38] Resolves: #1996685 - add various Coverity/Clang cleanups --- apr-1.7.0-r1891269+.patch | 239 ++++++++++++++++++++++++++++++++++++++ apr.spec | 7 +- 2 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 apr-1.7.0-r1891269+.patch diff --git a/apr-1.7.0-r1891269+.patch b/apr-1.7.0-r1891269+.patch new file mode 100644 index 0000000..1949d1a --- /dev/null +++ b/apr-1.7.0-r1891269+.patch @@ -0,0 +1,239 @@ +# ./pullrev.sh 1891269 1891198 1891196 +http://svn.apache.org/viewvc?view=revision&revision=1891269 +http://svn.apache.org/viewvc?view=revision&revision=1891198 +http://svn.apache.org/viewvc?view=revision&revision=1891196 + +--- apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h ++++ apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h +@@ -33,8 +33,10 @@ + struct apr_thread_mutex_t { + apr_pool_t *pool; + pthread_mutex_t mutex; ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + apr_thread_cond_t *cond; + int locked, num_waiters; ++#endif + }; + #endif + +--- apr-1.7.0/locks/unix/thread_mutex.c ++++ apr-1.7.0/locks/unix/thread_mutex.c +@@ -102,6 +102,7 @@ + { + apr_status_t rv; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + apr_status_t rv2; + +@@ -133,6 +134,7 @@ + + return rv; + } ++#endif + + rv = pthread_mutex_lock(&mutex->mutex); + #ifdef HAVE_ZOS_PTHREADS +@@ -148,6 +150,7 @@ + { + apr_status_t rv; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + apr_status_t rv2; + +@@ -177,6 +180,7 @@ + + return rv; + } ++#endif + + rv = pthread_mutex_trylock(&mutex->mutex); + if (rv) { +@@ -281,6 +285,7 @@ + { + apr_status_t status; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + status = pthread_mutex_lock(&mutex->mutex); + if (status) { +@@ -303,6 +308,7 @@ + + mutex->locked = 0; + } ++#endif + + status = pthread_mutex_unlock(&mutex->mutex); + #ifdef HAVE_ZOS_PTHREADS +@@ -318,9 +324,12 @@ + { + apr_status_t rv, rv2 = APR_SUCCESS; + ++#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK + if (mutex->cond) { + rv2 = apr_thread_cond_destroy(mutex->cond); + } ++#endif ++ + rv = apr_pool_cleanup_run(mutex->pool, mutex, thread_mutex_cleanup); + if (rv == APR_SUCCESS) { + rv = rv2; +--- apr-1.7.0/random/unix/sha2.c ++++ apr-1.7.0/random/unix/sha2.c +@@ -425,7 +425,7 @@ + usedspace = freespace = 0; + } + +-void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { ++void apr__SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) { + sha2_word32 *d = (sha2_word32*)digest; + unsigned int usedspace; + +@@ -496,7 +496,7 @@ + usedspace = 0; + } + +-char *apr__SHA256_End(SHA256_CTX* context, char buffer[]) { ++char *apr__SHA256_End(SHA256_CTX* context, char buffer[SHA256_DIGEST_STRING_LENGTH]) { + sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest; + int i; + +--- apr-1.7.0/time/unix/time.c ++++ apr-1.7.0/time/unix/time.c +@@ -142,6 +142,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) +--- apr-1.7.0/time/win32/time.c ++++ apr-1.7.0/time/win32/time.c +@@ -54,6 +54,9 @@ + static const int dayoffset[12] = + {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; + ++ if (tm->wMonth < 1 || tm->wMonth > 12) ++ return APR_EBADDATE; ++ + /* Note; the caller is responsible for filling in detailed tm_usec, + * tm_gmtoff and tm_isdst data when applicable. + */ +@@ -228,6 +231,9 @@ + static const int dayoffset[12] = + {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; + ++ if (xt->tm_mon < 0 || xt->tm_mon >= 12) ++ return APR_EBADDATE; ++ + /* shift new year to 1st March in order to make leap year calc easy */ + + if (xt->tm_mon < 2) +--- apr-1.7.0/file_io/unix/readwrite.c ++++ apr-1.7.0/file_io/unix/readwrite.c +@@ -146,7 +146,7 @@ + + APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes) + { +- apr_size_t rv; ++ apr_size_t rv = APR_SUCCESS; + + if (thefile->buffered) { + char *pos = (char *)buf; +@@ -160,13 +160,14 @@ + * logically reading from + */ + apr_int64_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos; +- if (offset != thefile->filePtr) +- lseek(thefile->filedes, offset, SEEK_SET); ++ if (offset != thefile->filePtr) { ++ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); ++ if (thefile->filePtr == -1) rv = errno; ++ } + thefile->bufpos = thefile->dataRead = 0; + thefile->direction = 1; + } + +- rv = 0; + while (rv == 0 && size > 0) { + if (thefile->bufpos == thefile->bufsize) /* write buffer is full*/ + rv = apr_file_flush_locked(thefile); +@@ -244,12 +245,15 @@ + */ + apr_int64_t offset = thefile->filePtr - thefile->dataRead + + thefile->bufpos; +- if (offset != thefile->filePtr) +- lseek(thefile->filedes, offset, SEEK_SET); ++ if (offset != thefile->filePtr) { ++ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); ++ if (thefile->filePtr == -1) rv = errno; ++ } + thefile->bufpos = thefile->dataRead = 0; + } + + file_unlock(thefile); ++ if (rv) return rv; + } + + if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) { +--- apr-1.7.0/locks/unix/proc_mutex.c ++++ apr-1.7.0/locks/unix/proc_mutex.c +@@ -1518,11 +1518,10 @@ + + APR_DECLARE(const char *) apr_proc_mutex_defname(void) + { +- apr_status_t rv; + apr_proc_mutex_t mutex; + +- if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, +- NULL)) != APR_SUCCESS) { ++ if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, ++ NULL) != APR_SUCCESS) { + return "unknown"; + } + +--- apr-1.7.0/memory/unix/apr_pools.c ++++ apr-1.7.0/memory/unix/apr_pools.c +@@ -1338,7 +1338,7 @@ + apr_size_t free_index; + + pool_concurrency_set_used(pool); +- ps.node = active = pool->active; ++ ps.node = pool->active; + ps.pool = pool; + ps.vbuff.curpos = ps.node->first_avail; + +--- apr-1.7.0/test/teststr.c ++++ apr-1.7.0/test/teststr.c +@@ -394,6 +394,19 @@ + ABTS_STR_EQUAL(tc, apr_cstr_skip_prefix("", "12"), NULL); + } + ++static void pstrcat(abts_case *tc, void *data) ++{ ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, "a", "bc", "def", NULL), ++ "abcdef"); ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, NULL), ""); ++ ABTS_STR_EQUAL(tc, apr_pstrcat(p, ++ "a", "b", "c", "d", "e", ++ "f", "g", "h", "i", "j", ++ "1", "2", "3", "4", "5", ++ NULL), ++ "abcdefghij12345"); ++} ++ + abts_suite *teststr(abts_suite *suite) + { + suite = ADD_SUITE(suite) +@@ -412,6 +425,7 @@ + abts_run_test(suite, string_cpystrn, NULL); + abts_run_test(suite, snprintf_overflow, NULL); + abts_run_test(suite, skip_prefix, NULL); ++ abts_run_test(suite, pstrcat, NULL); + + return suite; + } diff --git a/apr.spec b/apr.spec index 3b6eb21..3253f1b 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 8%{?dist} +Release: 9%{?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, @@ -20,6 +20,7 @@ Source1: apr-wrapper.h Patch1: apr-1.2.2-libdir.patch Patch2: apr-1.2.7-pkgconf.patch Patch3: apr-1.7.0-deepbind.patch +Patch4: apr-1.7.0-r1891269+.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 # To enable SCTP support BuildRequires: lksctp-tools-devel @@ -47,6 +48,7 @@ C data structures and routines. %patch1 -p1 -b .libdir %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind +%patch4 -p1 -b .r1891269+ %build # regenerate configure script etc. @@ -125,6 +127,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* Tue Aug 24 2021 Luboš Uhliarik - 1.7.0-9 +- Resolves: #1996685 - add various Coverity/Clang cleanups + * Tue Jan 26 2021 Fedora Release Engineering - 1.7.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From ac3a3e1dab079a499dd58d8fa19c9d17e39d3749 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:30:08 +0000 Subject: [PATCH 09/38] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 9cf1f70..00d664e 100644 --- a/apr.spec +++ b/apr.spec @@ -6,7 +6,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 14%{?dist} +Release: 15%{?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, @@ -136,6 +136,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 637f51589f0634d5173608a99c1d2f3177fa7a2a Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 28 Jan 2022 13:04:43 +0000 Subject: [PATCH 10/38] disable package notes --- apr.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 00d664e..c2d75ae 100644 --- a/apr.spec +++ b/apr.spec @@ -3,10 +3,13 @@ # 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 + Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 15%{?dist} +Release: 16%{?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, @@ -136,6 +139,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 159bdbdf23fe17ba996b860503d536e807beb74f Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 13 May 2022 12:07:37 +0100 Subject: [PATCH 11/38] ship apr_common.m4 in -devel as well --- apr.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apr.spec b/apr.spec index c2d75ae..9c17f31 100644 --- a/apr.spec +++ b/apr.spec @@ -9,7 +9,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 16%{?dist} +Release: 17%{?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, @@ -76,7 +76,9 @@ rm -rf $RPM_BUILD_ROOT %{make_install} mkdir -p $RPM_BUILD_ROOT/%{_datadir}/aclocal -install -m 644 build/find_apr.m4 $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 # Trim exported dependecies sed -ri '/^dependency_libs/{s,-l(uuid|crypt) ,,g}' \ @@ -139,6 +141,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* Fri May 13 2022 Joe Orton - 1.7.0-17 +- ship apr_common.m4 in -devel as well + * Fri Jan 28 2022 Joe Orton - 1.7.0-16 - disable package notes From 35e62938ec4258705ccacf660a9ae3d175566699 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 13 May 2022 15:39:03 +0100 Subject: [PATCH 12/38] disable .la file removal. --- apr.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 9c17f31..cab9219 100644 --- a/apr.spec +++ b/apr.spec @@ -6,6 +6,9 @@ # 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.0 @@ -130,7 +133,7 @@ popd %doc docs/APRDesign.html docs/canonical_filenames.html %doc docs/incomplete_types docs/non_apr_programs %{_bindir}/apr-%{aprver}-config -%{_libdir}/libapr-%{aprver}.*a +%{_libdir}/libapr-%{aprver}.la %{_libdir}/libapr-%{aprver}.so %{_libdir}/pkgconfig/*.pc %dir %{_libdir}/apr-%{aprver} @@ -143,6 +146,7 @@ popd %changelog * 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 From ca84c6341ae9e7671c249ad12e9ec726f85467cf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 21:05:42 +0000 Subject: [PATCH 13/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index cab9219..8956da3 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 17%{?dist} +Release: 18%{?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, @@ -144,6 +144,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 2c6419a8312037b1ff1f3e9c90c9526787e1147b Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Mon, 19 Dec 2022 15:22:18 +0000 Subject: [PATCH 14/38] rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 8956da3..dd63dd7 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 18%{?dist} +Release: 19%{?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, @@ -144,6 +144,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 9dd114d0b975813b7e2e35bd06629239c03015e9 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 16 Jan 2023 18:29:07 +0100 Subject: [PATCH 15/38] Port configure script to C99 Only apr-configure-c99-6.patch is not yet upstream. Related to: --- apr-configure-c99-1.patch | 112 ++++++++++++++++++++++++++++++ apr-configure-c99-2.patch | 26 +++++++ apr-configure-c99-3.patch | 142 ++++++++++++++++++++++++++++++++++++++ apr-configure-c99-4.patch | 116 +++++++++++++++++++++++++++++++ apr-configure-c99-5.patch | 24 +++++++ apr-configure-c99-6.patch | 19 +++++ apr.spec | 17 ++++- 7 files changed, 455 insertions(+), 1 deletion(-) create mode 100644 apr-configure-c99-1.patch create mode 100644 apr-configure-c99-2.patch create mode 100644 apr-configure-c99-3.patch create mode 100644 apr-configure-c99-4.patch create mode 100644 apr-configure-c99-5.patch create mode 100644 apr-configure-c99-6.patch diff --git a/apr-configure-c99-1.patch b/apr-configure-c99-1.patch new file mode 100644 index 0000000..0d3eea6 --- /dev/null +++ b/apr-configure-c99-1.patch @@ -0,0 +1,112 @@ +------------------------------------------------------------------------ +r1882980 | jim | 2020-10-29 21:23:11 +0100 (Thu, 29 Oct 2020) | 2 lines + +calls to exit() require stdlib.h or else we get -Werror,-Wimplicit-function-declaration + +------------------------------------------------------------------------ + +diff --git a/build/apr_common.m4 b/build/apr_common.m4 +index 6f5782e674384dbd..b8c14b977cfc422b 100644 +--- a/build/apr_common.m4 ++++ b/build/apr_common.m4 +@@ -527,6 +527,7 @@ AC_TRY_RUN([ + #include + #include + #include ++#include + main() + { + char buf[1024]; +diff --git a/build/apr_network.m4 b/build/apr_network.m4 +index 248898283080317d..d330ba16f38f649f 100644 +--- a/build/apr_network.m4 ++++ b/build/apr_network.m4 +@@ -63,6 +63,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO], [ + #ifdef HAVE_SYS_SOCKET_H + #include + #endif ++#ifdef HAVE_STDLIB_H ++#include ++#endif + + int main(void) { + struct addrinfo hints, *ai; +@@ -151,6 +154,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO], [ + #ifdef HAVE_NETINET_IN_H + #include + #endif ++#ifdef HAVE_STDLIB_H ++#include ++#endif + + int main(void) { + struct sockaddr_in sa; +@@ -194,6 +200,9 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [ + #ifdef HAVE_NETDB_H + #include + #endif ++#ifdef HAVE_STDLIB_H ++#include ++#endif + + int main(void) { + if (EAI_ADDRFAMILY < 0) { +@@ -403,6 +412,9 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [ + #ifndef HAVE_SOCKLEN_T + typedef int socklen_t; + #endif ++#ifdef HAVE_STDLIB_H ++#include ++#endif + int main(void) { + int listen_s, connected_s, client_s; + int listen_port, rc; +@@ -588,6 +600,9 @@ typedef int socklen_t; + #ifdef HAVE_FCNTL_H + #include + #endif ++#ifdef HAVE_STDLIB_H ++#include ++#endif + int main(void) { + int listen_s, connected_s, client_s; + int listen_port, rc; +diff --git a/configure.in b/configure.in +index 6833b32d04de9639..7f6352860dfe41d5 100644 +--- a/configure.in ++++ b/configure.in +@@ -2208,6 +2208,7 @@ AC_TRY_RUN([ + #include + #include + #include ++#include + main() + { + struct rlimit limit; +@@ -2244,6 +2245,7 @@ AC_TRY_RUN([ + #include + #include + #include ++#include + #ifndef SEM_FAILED + #define SEM_FAILED (-1) + #endif +@@ -2307,6 +2309,7 @@ if test "$threads" = "1"; then + AC_TRY_RUN([ + #include + #include ++#include + int main() + { + pthread_mutex_t mutex; +@@ -2430,7 +2433,9 @@ AC_TRY_RUN([ + #endif + #include + #include +- ++#ifdef HAVE_STDLIB_H ++#include ++#endif + int fd; + struct flock proc_mutex_lock_it = {0}; + const char *fname = "conftest.fcntl"; diff --git a/apr-configure-c99-2.patch b/apr-configure-c99-2.patch new file mode 100644 index 0000000..6d43b5f --- /dev/null +++ b/apr-configure-c99-2.patch @@ -0,0 +1,26 @@ +------------------------------------------------------------------------ +r1906349 | jorton | 2023-01-03 09:51:28 +0100 (Tue, 03 Jan 2023) | 8 lines + +Merge r1906347 from trunk: + +Fix configure for compilers which don't accept implicit +int (no longer part of C since C99). + +Submitted by: Florian Weimer +PR: 66396 + +------------------------------------------------------------------------ + +diff --git a/build/apr_common.m4 b/build/apr_common.m4 +index b8c14b977cfc422b..2cb366c39b78380e 100644 +--- a/build/apr_common.m4 ++++ b/build/apr_common.m4 +@@ -528,7 +528,7 @@ AC_TRY_RUN([ + #include + #include + #include +-main() ++int main(void) + { + char buf[1024]; + if (strerror_r(ERANGE, buf, sizeof buf) < 1) { diff --git a/apr-configure-c99-3.patch b/apr-configure-c99-3.patch new file mode 100644 index 0000000..acd62d5 --- /dev/null +++ b/apr-configure-c99-3.patch @@ -0,0 +1,142 @@ +------------------------------------------------------------------------ +r1906595 | jorton | 2023-01-11 10:44:46 +0100 (Wed, 11 Jan 2023) | 7 lines + +Merge r1906594 from trunk: + +Fix further strict C99 compliance issue. (fixes #37) + +PR: 66408 +Submitted by: Sam James + +------------------------------------------------------------------------ + +diff --git a/build/apr_network.m4 b/build/apr_network.m4 +index d330ba16f38f649f..f70431a800f2dfdd 100644 +--- a/build/apr_network.m4 ++++ b/build/apr_network.m4 +@@ -66,6 +66,12 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO], [ + #ifdef HAVE_STDLIB_H + #include + #endif ++#ifdef HAVE_NETINET_IN_H ++#include ++#endif ++#ifdef HAVE_ARPA_INET_H ++#include ++#endif + + int main(void) { + struct addrinfo hints, *ai; +@@ -397,9 +403,11 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [ + AC_CACHE_CHECK(if TCP_NODELAY setting is inherited from listening sockets, ac_cv_tcp_nodelay_inherited,[ + AC_TRY_RUN( [ + #include ++#include + #ifdef HAVE_SYS_TYPES_H + #include + #endif ++#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif +@@ -749,6 +757,12 @@ AC_TRY_COMPILE([ + #ifdef HAVE_ARPA_INET_H + #include + #endif ++#ifdef HAVE_SYS_SOCKET_H ++#include ++#endif ++#ifdef HAVE_NETINET_IN_H ++#include ++#endif + ],[ + inet_addr("127.0.0.1"); + ],[ +@@ -769,6 +783,10 @@ fi + AC_DEFUN([APR_CHECK_INET_NETWORK], [ + AC_CACHE_CHECK(for inet_network, ac_cv_func_inet_network,[ + AC_TRY_COMPILE([ ++#include ++#ifdef HAVE_NETINET_IN_H ++#include ++#endif + #ifdef HAVE_SYS_TYPES_H + #include + #endif +@@ -942,7 +960,9 @@ AC_DEFUN([APR_CHECK_MCAST], [ + AC_CACHE_CHECK([for struct ip_mreq], [apr_cv_struct_ipmreq], [ + AC_TRY_COMPILE([ + #include ++#ifdef HAVE_NETINET_IN_H + #include ++#endif + ], [ + struct ip_mreq mip; + mip.imr_interface.s_addr = INADDR_ANY; +diff --git a/configure.in b/configure.in +index 7f6352860dfe41d5..7ab8277a2782dbef 100644 +--- a/configure.in ++++ b/configure.in +@@ -1440,8 +1440,6 @@ AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) + AC_DECL_SYS_SIGLIST + + AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ]) +-APR_CHECK_INET_ADDR +-APR_CHECK_INET_NETWORK + AC_SUBST(apr_inaddr_none) + AC_CHECK_FUNC(_getch) + AC_CHECK_FUNCS(strerror_r, [ strerror_r="1" ], [ strerror_r="0" ]) +@@ -1547,6 +1545,9 @@ APR_FLAG_HEADERS( + sys/un.h \ + sys/wait.h) + ++APR_CHECK_INET_ADDR ++APR_CHECK_INET_NETWORK ++ + # IRIX 6.5 has a problem in which prevents it from + # being included by itself. Check for manually, + # including another header file first. +@@ -2249,7 +2250,7 @@ AC_TRY_RUN([ + #ifndef SEM_FAILED + #define SEM_FAILED (-1) + #endif +-main() ++int main() + { + sem_t *psem; + const char *sem_name = "/apr_autoconf"; +@@ -2440,6 +2441,8 @@ int fd; + struct flock proc_mutex_lock_it = {0}; + const char *fname = "conftest.fcntl"; + ++int lockit(); ++ + int main() + { + int rc, status;; +diff --git a/poll/os2/pollset.c b/poll/os2/pollset.c +index 2ec848105be1e1bf..87b3c1841f7e64f3 100644 +--- a/poll/os2/pollset.c ++++ b/poll/os2/pollset.c +@@ -308,7 +308,7 @@ APR_DECLARE(apr_status_t) apr_pollset_wakeup(apr_pollset_t *pollset) + + + +-APR_DECLARE(const char *) apr_poll_method_defname() ++APR_DECLARE(const char *) apr_poll_method_defname(void) + { + return "select"; + } +diff --git a/poll/unix/pollset.c b/poll/unix/pollset.c +index 8fa817330f65e515..11b57365257bec54 100644 +--- a/poll/unix/pollset.c ++++ b/poll/unix/pollset.c +@@ -188,7 +188,7 @@ APR_DECLARE(const char *) apr_pollset_method_name(apr_pollset_t *pollset) + return pollset->provider->name; + } + +-APR_DECLARE(const char *) apr_poll_method_defname() ++APR_DECLARE(const char *) apr_poll_method_defname(void) + { + const apr_pollset_provider_t *provider = NULL; + diff --git a/apr-configure-c99-4.patch b/apr-configure-c99-4.patch new file mode 100644 index 0000000..b7886c7 --- /dev/null +++ b/apr-configure-c99-4.patch @@ -0,0 +1,116 @@ +------------------------------------------------------------------------ +r1871981 | minfrin | 2019-12-26 02:19:49 +0100 (Thu, 26 Dec 2019) | 3 lines + +Backport r1871980. +Use AC_CHECK_SIZEOF, so as to support cross compiling. PR 56053. + +------------------------------------------------------------------------ + +diff --git a/build/apr_common.m4 b/build/apr_common.m4 +index 2cb366c39b78380e..7239a19995218ccc 100644 +--- a/build/apr_common.m4 ++++ b/build/apr_common.m4 +@@ -451,43 +451,6 @@ fi + ]) + + +-dnl +-dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE]) +-dnl +-dnl A variant of AC_CHECK_SIZEOF which allows the checking of +-dnl sizes of non-builtin types +-dnl +-AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED], +-[changequote(<<, >>)dnl +-dnl The name to #define. +-define(<>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl +-dnl The cache variable name. +-define(<>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl +-changequote([, ])dnl +-AC_MSG_CHECKING(size of $2) +-AC_CACHE_VAL(AC_CV_NAME, +-[AC_TRY_RUN([#include +-$1 +-#ifdef WIN32 +-#define binmode "b" +-#else +-#define binmode +-#endif +-main() +-{ +- FILE *f=fopen("conftestval", "w" binmode); +- if (!f) exit(1); +- fprintf(f, "%d\n", sizeof($2)); +- exit(0); +-}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,, +-AC_CV_NAME=$3))])dnl +-AC_MSG_RESULT($AC_CV_NAME) +-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2) +-undefine([AC_TYPE_NAME])dnl +-undefine([AC_CV_NAME])dnl +-]) +- +- + dnl + dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY, + dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS]) +diff --git a/configure.in b/configure.in +index 7ab8277a2782dbef..d858951af97f3a1b 100644 +--- a/configure.in ++++ b/configure.in +@@ -1799,7 +1799,7 @@ else + socklen_t_value="int" + fi + +-APR_CHECK_SIZEOF_EXTENDED([#include ], pid_t, 8) ++AC_CHECK_SIZEOF(pid_t) + + if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then + pid_t_fmt='#define APR_PID_T_FMT "hd"' +@@ -1871,7 +1871,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned long, lu, [size_t_fmt="lu"], [ + APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"]) + ]) + +-APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) ++AC_CHECK_SIZEOF(ssize_t) + + dnl the else cases below should no longer occur; + AC_MSG_CHECKING([which format to use for apr_ssize_t]) +@@ -1889,7 +1889,7 @@ fi + + ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\"" + +-APR_CHECK_SIZEOF_EXTENDED([#include ], size_t, 8) ++AC_CHECK_SIZEOF(size_t) + + # else cases below should no longer occur; + AC_MSG_CHECKING([which format to use for apr_size_t]) +@@ -1907,7 +1907,7 @@ fi + + size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\"" + +-APR_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) ++AC_CHECK_SIZEOF(off_t) + + if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then + # Enable LFS +@@ -2001,7 +2001,7 @@ case $host in + ;; + *) + ino_t_value=ino_t +- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long) ++ AC_CHECK_SIZEOF(ino_t) + if test $ac_cv_sizeof_ino_t = 4; then + if test $ac_cv_sizeof_long = 4; then + ino_t_value="unsigned long" +@@ -2021,8 +2021,8 @@ else + bigendian=0 + fi + +-APR_CHECK_SIZEOF_EXTENDED([#include +-#include ],struct iovec,0) ++AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT ++#include ]) + if test "$ac_cv_sizeof_struct_iovec" = "0"; then + have_iovec=0 + else diff --git a/apr-configure-c99-5.patch b/apr-configure-c99-5.patch new file mode 100644 index 0000000..4036725 --- /dev/null +++ b/apr-configure-c99-5.patch @@ -0,0 +1,24 @@ +------------------------------------------------------------------------ +r1882981 | jim | 2020-10-29 21:32:54 +0100 (Thu, 29 Oct 2020) | 5 lines + +#ifdef HAVE_ARPA_INET_H +#include +#endif +is required for inet_addr + +------------------------------------------------------------------------ + +diff --git a/build/apr_network.m4 b/build/apr_network.m4 +index f70431a800f2dfdd..ba7bf9aa2497df82 100644 +--- a/build/apr_network.m4 ++++ b/build/apr_network.m4 +@@ -160,6 +160,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO], [ + #ifdef HAVE_NETINET_IN_H + #include + #endif ++#ifdef HAVE_ARPA_INET_H ++#include ++#endif + #ifdef HAVE_STDLIB_H + #include + #endif diff --git a/apr-configure-c99-6.patch b/apr-configure-c99-6.patch new file mode 100644 index 0000000..eac3a87 --- /dev/null +++ b/apr-configure-c99-6.patch @@ -0,0 +1,19 @@ +Avoid an implicit int in the definition of the main function. +Avoids build problems with future C compilers which will not +support them by default. + +Submitted upstream: + +diff --git a/configure.in b/configure.in +index d858951af97f3a1b..6346d8026e7a251d 100644 +--- a/configure.in ++++ b/configure.in +@@ -2210,7 +2210,7 @@ AC_TRY_RUN([ + #include + #include + #include +-main() ++int main(void) + { + struct rlimit limit; + limit.rlim_cur = 0; diff --git a/apr.spec b/apr.spec index dd63dd7..24fd70a 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 19%{?dist} +Release: 20%{?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, @@ -28,6 +28,12 @@ Patch2: apr-1.2.7-pkgconf.patch Patch3: apr-1.7.0-deepbind.patch Patch4: apr-1.7.0-autoconf.patch Patch5: apr-1.7.0-r1891269+.patch +Patch6: apr-configure-c99-1.patch +Patch7: apr-configure-c99-2.patch +Patch8: apr-configure-c99-3.patch +Patch9: apr-configure-c99-4.patch +Patch10: apr-configure-c99-5.patch +Patch11: apr-configure-c99-6.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -55,6 +61,12 @@ C data structures and routines. %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 %patch5 -p1 -b .r1891269+ +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %build # regenerate configure script etc. @@ -144,6 +156,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From e3bea418c9cf72c4ea27a8252c0bc66d35e70a25 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 16 Jan 2023 18:57:43 +0100 Subject: [PATCH 16/38] apr-configure-c99-6.patch: Fix upstream patch submission URL --- apr-configure-c99-6.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apr-configure-c99-6.patch b/apr-configure-c99-6.patch index eac3a87..237b21d 100644 --- a/apr-configure-c99-6.patch +++ b/apr-configure-c99-6.patch @@ -2,7 +2,7 @@ Avoid an implicit int in the definition of the main function. Avoids build problems with future C compilers which will not support them by default. -Submitted upstream: +Submitted upstream: diff --git a/configure.in b/configure.in index d858951af97f3a1b..6346d8026e7a251d 100644 From 75cd4416ea5cd09f123c3f6cfe72b570c70dee8c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 22:00:04 +0000 Subject: [PATCH 17/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 24fd70a..5b14589 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.0 -Release: 20%{?dist} +Release: 21%{?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, @@ -156,6 +156,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 280f685fb3e608bf284478d60a7e3be3b6b74822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Fri, 3 Feb 2023 03:36:28 +0100 Subject: [PATCH 18/38] new version 1.7.2 --- .gitignore | 2 + apr-1.7.0-autoconf.patch | 19 -- apr-1.7.0-r1891269+.patch | 239 ------------------ apr-1.7.2-autoconf.patch | 21 ++ apr-1.7.2-disable-atomic-read-test.patch | 14 + ...2.2-libdir.patch => apr-1.7.2-libdir.patch | 15 +- apr-configure-c99-1.patch | 112 -------- apr-configure-c99-2.patch | 26 -- apr-configure-c99-3.patch | 142 ----------- apr-configure-c99-4.patch | 116 --------- apr-configure-c99-5.patch | 24 -- apr-configure-c99-6.patch | 19 -- apr.spec | 27 +- sources | 2 +- 14 files changed, 54 insertions(+), 724 deletions(-) delete mode 100644 apr-1.7.0-autoconf.patch delete mode 100644 apr-1.7.0-r1891269+.patch create mode 100644 apr-1.7.2-autoconf.patch create mode 100644 apr-1.7.2-disable-atomic-read-test.patch rename apr-1.2.2-libdir.patch => apr-1.7.2-libdir.patch (55%) delete mode 100644 apr-configure-c99-1.patch delete mode 100644 apr-configure-c99-2.patch delete mode 100644 apr-configure-c99-3.patch delete mode 100644 apr-configure-c99-4.patch delete mode 100644 apr-configure-c99-5.patch delete mode 100644 apr-configure-c99-6.patch diff --git a/.gitignore b/.gitignore index 4a8feaf..f7457a3 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ apr-1.3.9.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 diff --git a/apr-1.7.0-autoconf.patch b/apr-1.7.0-autoconf.patch deleted file mode 100644 index e9e4eac..0000000 --- a/apr-1.7.0-autoconf.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/build/apr_common.m4 2021/03/06 18:45:02 1887278 -+++ b/build/apr_common.m4 2021/03/06 22:20:59 1887279 -@@ -467,13 +467,9 @@ - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_SOURCE( -- [#include "confdefs.h" -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -+ [AC_LANG_PROGRAM( -+ [[$1]], - [[$2]] -- [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) - diff --git a/apr-1.7.0-r1891269+.patch b/apr-1.7.0-r1891269+.patch deleted file mode 100644 index 1949d1a..0000000 --- a/apr-1.7.0-r1891269+.patch +++ /dev/null @@ -1,239 +0,0 @@ -# ./pullrev.sh 1891269 1891198 1891196 -http://svn.apache.org/viewvc?view=revision&revision=1891269 -http://svn.apache.org/viewvc?view=revision&revision=1891198 -http://svn.apache.org/viewvc?view=revision&revision=1891196 - ---- apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h -+++ apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h -@@ -33,8 +33,10 @@ - struct apr_thread_mutex_t { - apr_pool_t *pool; - pthread_mutex_t mutex; -+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK - apr_thread_cond_t *cond; - int locked, num_waiters; -+#endif - }; - #endif - ---- apr-1.7.0/locks/unix/thread_mutex.c -+++ apr-1.7.0/locks/unix/thread_mutex.c -@@ -102,6 +102,7 @@ - { - apr_status_t rv; - -+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK - if (mutex->cond) { - apr_status_t rv2; - -@@ -133,6 +134,7 @@ - - return rv; - } -+#endif - - rv = pthread_mutex_lock(&mutex->mutex); - #ifdef HAVE_ZOS_PTHREADS -@@ -148,6 +150,7 @@ - { - apr_status_t rv; - -+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK - if (mutex->cond) { - apr_status_t rv2; - -@@ -177,6 +180,7 @@ - - return rv; - } -+#endif - - rv = pthread_mutex_trylock(&mutex->mutex); - if (rv) { -@@ -281,6 +285,7 @@ - { - apr_status_t status; - -+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK - if (mutex->cond) { - status = pthread_mutex_lock(&mutex->mutex); - if (status) { -@@ -303,6 +308,7 @@ - - mutex->locked = 0; - } -+#endif - - status = pthread_mutex_unlock(&mutex->mutex); - #ifdef HAVE_ZOS_PTHREADS -@@ -318,9 +324,12 @@ - { - apr_status_t rv, rv2 = APR_SUCCESS; - -+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK - if (mutex->cond) { - rv2 = apr_thread_cond_destroy(mutex->cond); - } -+#endif -+ - rv = apr_pool_cleanup_run(mutex->pool, mutex, thread_mutex_cleanup); - if (rv == APR_SUCCESS) { - rv = rv2; ---- apr-1.7.0/random/unix/sha2.c -+++ apr-1.7.0/random/unix/sha2.c -@@ -425,7 +425,7 @@ - usedspace = freespace = 0; - } - --void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { -+void apr__SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) { - sha2_word32 *d = (sha2_word32*)digest; - unsigned int usedspace; - -@@ -496,7 +496,7 @@ - usedspace = 0; - } - --char *apr__SHA256_End(SHA256_CTX* context, char buffer[]) { -+char *apr__SHA256_End(SHA256_CTX* context, char buffer[SHA256_DIGEST_STRING_LENGTH]) { - sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest; - int i; - ---- apr-1.7.0/time/unix/time.c -+++ apr-1.7.0/time/unix/time.c -@@ -142,6 +142,9 @@ - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2) ---- apr-1.7.0/time/win32/time.c -+++ apr-1.7.0/time/win32/time.c -@@ -54,6 +54,9 @@ - static const int dayoffset[12] = - {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; - -+ if (tm->wMonth < 1 || tm->wMonth > 12) -+ return APR_EBADDATE; -+ - /* Note; the caller is responsible for filling in detailed tm_usec, - * tm_gmtoff and tm_isdst data when applicable. - */ -@@ -228,6 +231,9 @@ - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2) ---- apr-1.7.0/file_io/unix/readwrite.c -+++ apr-1.7.0/file_io/unix/readwrite.c -@@ -146,7 +146,7 @@ - - APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes) - { -- apr_size_t rv; -+ apr_size_t rv = APR_SUCCESS; - - if (thefile->buffered) { - char *pos = (char *)buf; -@@ -160,13 +160,14 @@ - * logically reading from - */ - apr_int64_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos; -- if (offset != thefile->filePtr) -- lseek(thefile->filedes, offset, SEEK_SET); -+ if (offset != thefile->filePtr) { -+ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); -+ if (thefile->filePtr == -1) rv = errno; -+ } - thefile->bufpos = thefile->dataRead = 0; - thefile->direction = 1; - } - -- rv = 0; - while (rv == 0 && size > 0) { - if (thefile->bufpos == thefile->bufsize) /* write buffer is full*/ - rv = apr_file_flush_locked(thefile); -@@ -244,12 +245,15 @@ - */ - apr_int64_t offset = thefile->filePtr - thefile->dataRead + - thefile->bufpos; -- if (offset != thefile->filePtr) -- lseek(thefile->filedes, offset, SEEK_SET); -+ if (offset != thefile->filePtr) { -+ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET); -+ if (thefile->filePtr == -1) rv = errno; -+ } - thefile->bufpos = thefile->dataRead = 0; - } - - file_unlock(thefile); -+ if (rv) return rv; - } - - if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) { ---- apr-1.7.0/locks/unix/proc_mutex.c -+++ apr-1.7.0/locks/unix/proc_mutex.c -@@ -1518,11 +1518,10 @@ - - APR_DECLARE(const char *) apr_proc_mutex_defname(void) - { -- apr_status_t rv; - apr_proc_mutex_t mutex; - -- if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, -- NULL)) != APR_SUCCESS) { -+ if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT, -+ NULL) != APR_SUCCESS) { - return "unknown"; - } - ---- apr-1.7.0/memory/unix/apr_pools.c -+++ apr-1.7.0/memory/unix/apr_pools.c -@@ -1338,7 +1338,7 @@ - apr_size_t free_index; - - pool_concurrency_set_used(pool); -- ps.node = active = pool->active; -+ ps.node = pool->active; - ps.pool = pool; - ps.vbuff.curpos = ps.node->first_avail; - ---- apr-1.7.0/test/teststr.c -+++ apr-1.7.0/test/teststr.c -@@ -394,6 +394,19 @@ - ABTS_STR_EQUAL(tc, apr_cstr_skip_prefix("", "12"), NULL); - } - -+static void pstrcat(abts_case *tc, void *data) -+{ -+ ABTS_STR_EQUAL(tc, apr_pstrcat(p, "a", "bc", "def", NULL), -+ "abcdef"); -+ ABTS_STR_EQUAL(tc, apr_pstrcat(p, NULL), ""); -+ ABTS_STR_EQUAL(tc, apr_pstrcat(p, -+ "a", "b", "c", "d", "e", -+ "f", "g", "h", "i", "j", -+ "1", "2", "3", "4", "5", -+ NULL), -+ "abcdefghij12345"); -+} -+ - abts_suite *teststr(abts_suite *suite) - { - suite = ADD_SUITE(suite) -@@ -412,6 +425,7 @@ - abts_run_test(suite, string_cpystrn, NULL); - abts_run_test(suite, snprintf_overflow, NULL); - abts_run_test(suite, skip_prefix, NULL); -+ abts_run_test(suite, pstrcat, NULL); - - return suite; - } diff --git a/apr-1.7.2-autoconf.patch b/apr-1.7.2-autoconf.patch new file mode 100644 index 0000000..368fc79 --- /dev/null +++ b/apr-1.7.2-autoconf.patch @@ -0,0 +1,21 @@ +diff --git a/build/apr_common.m4 b/build/apr_common.m4 +index ac2312c..5d232c4 100644 +--- a/build/apr_common.m4 ++++ b/build/apr_common.m4 +@@ -468,15 +468,8 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], + fi + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( +- [ +-#ifndef PACKAGE_NAME +-#include "confdefs.h" +-#endif +- ] +- [[$1]] +- [int main(int argc, const char *const *argv) {] ++ [[$1]], + [[$2]] +- [ return 0; }] + )], [CFLAGS=$apr_save_CFLAGS + $3], [CFLAGS=$apr_save_CFLAGS + $4]) diff --git a/apr-1.7.2-disable-atomic-read-test.patch b/apr-1.7.2-disable-atomic-read-test.patch new file mode 100644 index 0000000..8120448 --- /dev/null +++ b/apr-1.7.2-disable-atomic-read-test.patch @@ -0,0 +1,14 @@ +diff --git a/test/testatomic.c b/test/testatomic.c +index bf388c7..03e1c32 100644 +--- a/test/testatomic.c ++++ b/test/testatomic.c +@@ -953,7 +953,8 @@ abts_suite *testatomic(abts_suite *suite) + abts_run_test(suite, test_atomics_threaded64, NULL); + abts_run_test(suite, test_atomics_busyloop_threaded, NULL); + abts_run_test(suite, test_atomics_busyloop_threaded64, NULL); +- abts_run_test(suite, test_atomics_threaded_setread64, NULL); ++// disable this test due to i686 issues ++// abts_run_test(suite, test_atomics_threaded_setread64, NULL); + #endif + + return suite; diff --git a/apr-1.2.2-libdir.patch b/apr-1.7.2-libdir.patch similarity index 55% rename from apr-1.2.2-libdir.patch rename to apr-1.7.2-libdir.patch index aeb7ee1..d0e8451 100644 --- a/apr-1.2.2-libdir.patch +++ b/apr-1.7.2-libdir.patch @@ -1,9 +1,8 @@ - -- 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 @@ +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 ;; --link-ld) if test "$location" = "installed"; then @@ -13,6 +12,6 @@ + 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-configure-c99-1.patch b/apr-configure-c99-1.patch deleted file mode 100644 index 0d3eea6..0000000 --- a/apr-configure-c99-1.patch +++ /dev/null @@ -1,112 +0,0 @@ ------------------------------------------------------------------------- -r1882980 | jim | 2020-10-29 21:23:11 +0100 (Thu, 29 Oct 2020) | 2 lines - -calls to exit() require stdlib.h or else we get -Werror,-Wimplicit-function-declaration - ------------------------------------------------------------------------- - -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index 6f5782e674384dbd..b8c14b977cfc422b 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -527,6 +527,7 @@ AC_TRY_RUN([ - #include - #include - #include -+#include - main() - { - char buf[1024]; -diff --git a/build/apr_network.m4 b/build/apr_network.m4 -index 248898283080317d..d330ba16f38f649f 100644 ---- a/build/apr_network.m4 -+++ b/build/apr_network.m4 -@@ -63,6 +63,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO], [ - #ifdef HAVE_SYS_SOCKET_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - struct addrinfo hints, *ai; -@@ -151,6 +154,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO], [ - #ifdef HAVE_NETINET_IN_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - struct sockaddr_in sa; -@@ -194,6 +200,9 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [ - #ifdef HAVE_NETDB_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - if (EAI_ADDRFAMILY < 0) { -@@ -403,6 +412,9 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [ - #ifndef HAVE_SOCKLEN_T - typedef int socklen_t; - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int main(void) { - int listen_s, connected_s, client_s; - int listen_port, rc; -@@ -588,6 +600,9 @@ typedef int socklen_t; - #ifdef HAVE_FCNTL_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int main(void) { - int listen_s, connected_s, client_s; - int listen_port, rc; -diff --git a/configure.in b/configure.in -index 6833b32d04de9639..7f6352860dfe41d5 100644 ---- a/configure.in -+++ b/configure.in -@@ -2208,6 +2208,7 @@ AC_TRY_RUN([ - #include - #include - #include -+#include - main() - { - struct rlimit limit; -@@ -2244,6 +2245,7 @@ AC_TRY_RUN([ - #include - #include - #include -+#include - #ifndef SEM_FAILED - #define SEM_FAILED (-1) - #endif -@@ -2307,6 +2309,7 @@ if test "$threads" = "1"; then - AC_TRY_RUN([ - #include - #include -+#include - int main() - { - pthread_mutex_t mutex; -@@ -2430,7 +2433,9 @@ AC_TRY_RUN([ - #endif - #include - #include -- -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int fd; - struct flock proc_mutex_lock_it = {0}; - const char *fname = "conftest.fcntl"; diff --git a/apr-configure-c99-2.patch b/apr-configure-c99-2.patch deleted file mode 100644 index 6d43b5f..0000000 --- a/apr-configure-c99-2.patch +++ /dev/null @@ -1,26 +0,0 @@ ------------------------------------------------------------------------- -r1906349 | jorton | 2023-01-03 09:51:28 +0100 (Tue, 03 Jan 2023) | 8 lines - -Merge r1906347 from trunk: - -Fix configure for compilers which don't accept implicit -int (no longer part of C since C99). - -Submitted by: Florian Weimer -PR: 66396 - ------------------------------------------------------------------------- - -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index b8c14b977cfc422b..2cb366c39b78380e 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -528,7 +528,7 @@ AC_TRY_RUN([ - #include - #include - #include --main() -+int main(void) - { - char buf[1024]; - if (strerror_r(ERANGE, buf, sizeof buf) < 1) { diff --git a/apr-configure-c99-3.patch b/apr-configure-c99-3.patch deleted file mode 100644 index acd62d5..0000000 --- a/apr-configure-c99-3.patch +++ /dev/null @@ -1,142 +0,0 @@ ------------------------------------------------------------------------- -r1906595 | jorton | 2023-01-11 10:44:46 +0100 (Wed, 11 Jan 2023) | 7 lines - -Merge r1906594 from trunk: - -Fix further strict C99 compliance issue. (fixes #37) - -PR: 66408 -Submitted by: Sam James - ------------------------------------------------------------------------- - -diff --git a/build/apr_network.m4 b/build/apr_network.m4 -index d330ba16f38f649f..f70431a800f2dfdd 100644 ---- a/build/apr_network.m4 -+++ b/build/apr_network.m4 -@@ -66,6 +66,12 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO], [ - #ifdef HAVE_STDLIB_H - #include - #endif -+#ifdef HAVE_NETINET_IN_H -+#include -+#endif -+#ifdef HAVE_ARPA_INET_H -+#include -+#endif - - int main(void) { - struct addrinfo hints, *ai; -@@ -397,9 +403,11 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [ - AC_CACHE_CHECK(if TCP_NODELAY setting is inherited from listening sockets, ac_cv_tcp_nodelay_inherited,[ - AC_TRY_RUN( [ - #include -+#include - #ifdef HAVE_SYS_TYPES_H - #include - #endif -+#include - #ifdef HAVE_SYS_SOCKET_H - #include - #endif -@@ -749,6 +757,12 @@ AC_TRY_COMPILE([ - #ifdef HAVE_ARPA_INET_H - #include - #endif -+#ifdef HAVE_SYS_SOCKET_H -+#include -+#endif -+#ifdef HAVE_NETINET_IN_H -+#include -+#endif - ],[ - inet_addr("127.0.0.1"); - ],[ -@@ -769,6 +783,10 @@ fi - AC_DEFUN([APR_CHECK_INET_NETWORK], [ - AC_CACHE_CHECK(for inet_network, ac_cv_func_inet_network,[ - AC_TRY_COMPILE([ -+#include -+#ifdef HAVE_NETINET_IN_H -+#include -+#endif - #ifdef HAVE_SYS_TYPES_H - #include - #endif -@@ -942,7 +960,9 @@ AC_DEFUN([APR_CHECK_MCAST], [ - AC_CACHE_CHECK([for struct ip_mreq], [apr_cv_struct_ipmreq], [ - AC_TRY_COMPILE([ - #include -+#ifdef HAVE_NETINET_IN_H - #include -+#endif - ], [ - struct ip_mreq mip; - mip.imr_interface.s_addr = INADDR_ANY; -diff --git a/configure.in b/configure.in -index 7f6352860dfe41d5..7ab8277a2782dbef 100644 ---- a/configure.in -+++ b/configure.in -@@ -1440,8 +1440,6 @@ AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) - AC_DECL_SYS_SIGLIST - - AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ]) --APR_CHECK_INET_ADDR --APR_CHECK_INET_NETWORK - AC_SUBST(apr_inaddr_none) - AC_CHECK_FUNC(_getch) - AC_CHECK_FUNCS(strerror_r, [ strerror_r="1" ], [ strerror_r="0" ]) -@@ -1547,6 +1545,9 @@ APR_FLAG_HEADERS( - sys/un.h \ - sys/wait.h) - -+APR_CHECK_INET_ADDR -+APR_CHECK_INET_NETWORK -+ - # IRIX 6.5 has a problem in which prevents it from - # being included by itself. Check for manually, - # including another header file first. -@@ -2249,7 +2250,7 @@ AC_TRY_RUN([ - #ifndef SEM_FAILED - #define SEM_FAILED (-1) - #endif --main() -+int main() - { - sem_t *psem; - const char *sem_name = "/apr_autoconf"; -@@ -2440,6 +2441,8 @@ int fd; - struct flock proc_mutex_lock_it = {0}; - const char *fname = "conftest.fcntl"; - -+int lockit(); -+ - int main() - { - int rc, status;; -diff --git a/poll/os2/pollset.c b/poll/os2/pollset.c -index 2ec848105be1e1bf..87b3c1841f7e64f3 100644 ---- a/poll/os2/pollset.c -+++ b/poll/os2/pollset.c -@@ -308,7 +308,7 @@ APR_DECLARE(apr_status_t) apr_pollset_wakeup(apr_pollset_t *pollset) - - - --APR_DECLARE(const char *) apr_poll_method_defname() -+APR_DECLARE(const char *) apr_poll_method_defname(void) - { - return "select"; - } -diff --git a/poll/unix/pollset.c b/poll/unix/pollset.c -index 8fa817330f65e515..11b57365257bec54 100644 ---- a/poll/unix/pollset.c -+++ b/poll/unix/pollset.c -@@ -188,7 +188,7 @@ APR_DECLARE(const char *) apr_pollset_method_name(apr_pollset_t *pollset) - return pollset->provider->name; - } - --APR_DECLARE(const char *) apr_poll_method_defname() -+APR_DECLARE(const char *) apr_poll_method_defname(void) - { - const apr_pollset_provider_t *provider = NULL; - diff --git a/apr-configure-c99-4.patch b/apr-configure-c99-4.patch deleted file mode 100644 index b7886c7..0000000 --- a/apr-configure-c99-4.patch +++ /dev/null @@ -1,116 +0,0 @@ ------------------------------------------------------------------------- -r1871981 | minfrin | 2019-12-26 02:19:49 +0100 (Thu, 26 Dec 2019) | 3 lines - -Backport r1871980. -Use AC_CHECK_SIZEOF, so as to support cross compiling. PR 56053. - ------------------------------------------------------------------------- - -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index 2cb366c39b78380e..7239a19995218ccc 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -451,43 +451,6 @@ fi - ]) - - --dnl --dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE]) --dnl --dnl A variant of AC_CHECK_SIZEOF which allows the checking of --dnl sizes of non-builtin types --dnl --AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED], --[changequote(<<, >>)dnl --dnl The name to #define. --define(<>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl --dnl The cache variable name. --define(<>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl --changequote([, ])dnl --AC_MSG_CHECKING(size of $2) --AC_CACHE_VAL(AC_CV_NAME, --[AC_TRY_RUN([#include --$1 --#ifdef WIN32 --#define binmode "b" --#else --#define binmode --#endif --main() --{ -- FILE *f=fopen("conftestval", "w" binmode); -- if (!f) exit(1); -- fprintf(f, "%d\n", sizeof($2)); -- exit(0); --}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,, --AC_CV_NAME=$3))])dnl --AC_MSG_RESULT($AC_CV_NAME) --AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2) --undefine([AC_TYPE_NAME])dnl --undefine([AC_CV_NAME])dnl --]) -- -- - dnl - dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY, - dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS]) -diff --git a/configure.in b/configure.in -index 7ab8277a2782dbef..d858951af97f3a1b 100644 ---- a/configure.in -+++ b/configure.in -@@ -1799,7 +1799,7 @@ else - socklen_t_value="int" - fi - --APR_CHECK_SIZEOF_EXTENDED([#include ], pid_t, 8) -+AC_CHECK_SIZEOF(pid_t) - - if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then - pid_t_fmt='#define APR_PID_T_FMT "hd"' -@@ -1871,7 +1871,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned long, lu, [size_t_fmt="lu"], [ - APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"]) - ]) - --APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) -+AC_CHECK_SIZEOF(ssize_t) - - dnl the else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_ssize_t]) -@@ -1889,7 +1889,7 @@ fi - - ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include ], size_t, 8) -+AC_CHECK_SIZEOF(size_t) - - # else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_size_t]) -@@ -1907,7 +1907,7 @@ fi - - size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) -+AC_CHECK_SIZEOF(off_t) - - if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then - # Enable LFS -@@ -2001,7 +2001,7 @@ case $host in - ;; - *) - ino_t_value=ino_t -- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long) -+ AC_CHECK_SIZEOF(ino_t) - if test $ac_cv_sizeof_ino_t = 4; then - if test $ac_cv_sizeof_long = 4; then - ino_t_value="unsigned long" -@@ -2021,8 +2021,8 @@ else - bigendian=0 - fi - --APR_CHECK_SIZEOF_EXTENDED([#include --#include ],struct iovec,0) -+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT -+#include ]) - if test "$ac_cv_sizeof_struct_iovec" = "0"; then - have_iovec=0 - else diff --git a/apr-configure-c99-5.patch b/apr-configure-c99-5.patch deleted file mode 100644 index 4036725..0000000 --- a/apr-configure-c99-5.patch +++ /dev/null @@ -1,24 +0,0 @@ ------------------------------------------------------------------------- -r1882981 | jim | 2020-10-29 21:32:54 +0100 (Thu, 29 Oct 2020) | 5 lines - -#ifdef HAVE_ARPA_INET_H -#include -#endif -is required for inet_addr - ------------------------------------------------------------------------- - -diff --git a/build/apr_network.m4 b/build/apr_network.m4 -index f70431a800f2dfdd..ba7bf9aa2497df82 100644 ---- a/build/apr_network.m4 -+++ b/build/apr_network.m4 -@@ -160,6 +160,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO], [ - #ifdef HAVE_NETINET_IN_H - #include - #endif -+#ifdef HAVE_ARPA_INET_H -+#include -+#endif - #ifdef HAVE_STDLIB_H - #include - #endif diff --git a/apr-configure-c99-6.patch b/apr-configure-c99-6.patch deleted file mode 100644 index 237b21d..0000000 --- a/apr-configure-c99-6.patch +++ /dev/null @@ -1,19 +0,0 @@ -Avoid an implicit int in the definition of the main function. -Avoids build problems with future C compilers which will not -support them by default. - -Submitted upstream: - -diff --git a/configure.in b/configure.in -index d858951af97f3a1b..6346d8026e7a251d 100644 ---- a/configure.in -+++ b/configure.in -@@ -2210,7 +2210,7 @@ AC_TRY_RUN([ - #include - #include - #include --main() -+int main(void) - { - struct rlimit limit; - limit.rlim_cur = 0; diff --git a/apr.spec b/apr.spec index 5b14589..fbd7939 100644 --- a/apr.spec +++ b/apr.spec @@ -11,8 +11,8 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.7.0 -Release: 21%{?dist} +Version: 1.7.2 +Release: 1%{?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, @@ -23,17 +23,11 @@ License: ASL 2.0 and BSD with advertising and ISC and BSD URL: https://apr.apache.org/ Source0: https://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 Source1: apr-wrapper.h -Patch1: apr-1.2.2-libdir.patch +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.0-autoconf.patch -Patch5: apr-1.7.0-r1891269+.patch -Patch6: apr-configure-c99-1.patch -Patch7: apr-configure-c99-2.patch -Patch8: apr-configure-c99-3.patch -Patch9: apr-configure-c99-4.patch -Patch10: apr-configure-c99-5.patch -Patch11: apr-configure-c99-6.patch +Patch4: apr-1.7.2-autoconf.patch +Patch5: apr-1.7.2-disable-atomic-read-test.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -60,13 +54,7 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 -%patch5 -p1 -b .r1891269+ -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 +%patch5 -p1 -b .dis-atomic-rd-test %build # regenerate configure script etc. @@ -156,6 +144,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 diff --git a/sources b/sources index d7e1eeb..8d4c71a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apr-1.7.0.tar.bz2) = 3dc42d5caf17aab16f5c154080f020d5aed761e22db4c5f6506917f6bfd2bf8becfb40af919042bd4ce1077d5de74aa666f5edfba7f275efba78e8893c115148 +SHA512 (apr-1.7.2.tar.bz2) = 0a3a27ccc97bbe4865c1bc0b803012e3da6d5b1f17d4fb0da6f5f58eec01f6d2ae1f25e52896ea5f9c5ac04c5fddcfd1ac606b301c322cf40d5c4d4ce0a1b76e From 3076dbcb1e924ebdc998ef6a60be709b40897934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Fri, 10 Feb 2023 02:28:07 +0100 Subject: [PATCH 19/38] enable apr_atomic test again --- apr-1.7.2-disable-atomic-read-test.patch | 14 ------------ apr-1.7.2-r1907541.patch | 29 ++++++++++++++++++++++++ apr.spec | 9 +++++--- 3 files changed, 35 insertions(+), 17 deletions(-) delete mode 100644 apr-1.7.2-disable-atomic-read-test.patch create mode 100644 apr-1.7.2-r1907541.patch diff --git a/apr-1.7.2-disable-atomic-read-test.patch b/apr-1.7.2-disable-atomic-read-test.patch deleted file mode 100644 index 8120448..0000000 --- a/apr-1.7.2-disable-atomic-read-test.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/test/testatomic.c b/test/testatomic.c -index bf388c7..03e1c32 100644 ---- a/test/testatomic.c -+++ b/test/testatomic.c -@@ -953,7 +953,8 @@ abts_suite *testatomic(abts_suite *suite) - abts_run_test(suite, test_atomics_threaded64, NULL); - abts_run_test(suite, test_atomics_busyloop_threaded, NULL); - abts_run_test(suite, test_atomics_busyloop_threaded64, NULL); -- abts_run_test(suite, test_atomics_threaded_setread64, NULL); -+// disable this test due to i686 issues -+// abts_run_test(suite, test_atomics_threaded_setread64, NULL); - #endif - - return suite; diff --git a/apr-1.7.2-r1907541.patch b/apr-1.7.2-r1907541.patch new file mode 100644 index 0000000..b586260 --- /dev/null +++ b/apr-1.7.2-r1907541.patch @@ -0,0 +1,29 @@ +--- a/atomic/unix/mutex64.c 2023/02/09 12:45:02 1907540 ++++ b/atomic/unix/mutex64.c 2023/02/09 13:36:18 1907541 +@@ -96,7 +96,26 @@ + + APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem) + { ++ /* On 32bit CPUs this loads with two instructions (tearing), ++ * so a lock is needed to ensure atomicity. ++ * ++ * APR_SIZEOF_VOIDP is probably not the right check for 32 vs 64 bits CPUs ++ * but it spares an (hardly-)exhaustive list of supported CPUs (and using ++ * assembly). If APR_SIZEOF_VOIDP==4 means that the compiler generates ++ * 32bit instructions (-m32 or whatever) then it's the right check though. ++ */ ++#if APR_SIZEOF_VOIDP >= 8 + return *mem; ++#else ++ apr_uint64_t cur_value; ++ DECLARE_MUTEX_LOCKED(mutex, mem); ++ ++ cur_value = *mem; ++ ++ MUTEX_UNLOCK(mutex); ++ ++ return cur_value; ++#endif + } + + APR_DECLARE(void) apr_atomic_set64(volatile apr_uint64_t *mem, apr_uint64_t val) diff --git a/apr.spec b/apr.spec index fbd7939..305a41e 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.2 -Release: 1%{?dist} +Release: 2%{?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, @@ -27,7 +27,7 @@ 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.2-autoconf.patch -Patch5: apr-1.7.2-disable-atomic-read-test.patch +Patch5: apr-1.7.2-r1907541.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -54,7 +54,7 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 -%patch5 -p1 -b .dis-atomic-rd-test +%patch5 -p1 -b .r1907541 %build # regenerate configure script etc. @@ -144,6 +144,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 0bc52a522048b46cd2d81fd5206a5eb97d7be16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Wed, 12 Apr 2023 00:57:37 +0200 Subject: [PATCH 20/38] new version 1.7.3 --- .gitignore | 1 + apr-1.7.2-r1907541.patch | 29 ----------------------------- apr.spec | 9 +++++---- sources | 2 +- 4 files changed, 7 insertions(+), 34 deletions(-) delete mode 100644 apr-1.7.2-r1907541.patch diff --git a/.gitignore b/.gitignore index f7457a3..ec6cad4 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ apr-1.3.9.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 diff --git a/apr-1.7.2-r1907541.patch b/apr-1.7.2-r1907541.patch deleted file mode 100644 index b586260..0000000 --- a/apr-1.7.2-r1907541.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/atomic/unix/mutex64.c 2023/02/09 12:45:02 1907540 -+++ b/atomic/unix/mutex64.c 2023/02/09 13:36:18 1907541 -@@ -96,7 +96,26 @@ - - APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem) - { -+ /* On 32bit CPUs this loads with two instructions (tearing), -+ * so a lock is needed to ensure atomicity. -+ * -+ * APR_SIZEOF_VOIDP is probably not the right check for 32 vs 64 bits CPUs -+ * but it spares an (hardly-)exhaustive list of supported CPUs (and using -+ * assembly). If APR_SIZEOF_VOIDP==4 means that the compiler generates -+ * 32bit instructions (-m32 or whatever) then it's the right check though. -+ */ -+#if APR_SIZEOF_VOIDP >= 8 - return *mem; -+#else -+ apr_uint64_t cur_value; -+ DECLARE_MUTEX_LOCKED(mutex, mem); -+ -+ cur_value = *mem; -+ -+ MUTEX_UNLOCK(mutex); -+ -+ return cur_value; -+#endif - } - - APR_DECLARE(void) apr_atomic_set64(volatile apr_uint64_t *mem, apr_uint64_t val) diff --git a/apr.spec b/apr.spec index 305a41e..0ed0b12 100644 --- a/apr.spec +++ b/apr.spec @@ -11,8 +11,8 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.7.2 -Release: 2%{?dist} +Version: 1.7.3 +Release: 1%{?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, @@ -27,7 +27,6 @@ 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.2-autoconf.patch -Patch5: apr-1.7.2-r1907541.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -54,7 +53,6 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 -%patch5 -p1 -b .r1907541 %build # regenerate configure script etc. @@ -144,6 +142,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 diff --git a/sources b/sources index 8d4c71a..c341b14 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apr-1.7.2.tar.bz2) = 0a3a27ccc97bbe4865c1bc0b803012e3da6d5b1f17d4fb0da6f5f58eec01f6d2ae1f25e52896ea5f9c5ac04c5fddcfd1ac606b301c322cf40d5c4d4ce0a1b76e +SHA512 (apr-1.7.3.tar.bz2) = d8f62868d8e3ec92cede1f0d93b5d48e49441f575c98e165ff84343746a6abd265290ab16a57f741896ae7a6b3e534a334325a99a61c96c2485e085f7761c124 From 9c43a3711e8404467a87c899456a78031ddca728 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:36:34 +0000 Subject: [PATCH 21/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 0ed0b12..f696135 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 1%{?dist} +Release: 2%{?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, @@ -142,6 +142,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 6f8da4abb79b94451bb8d7c9b8fd147136eb8837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Fri, 6 Oct 2023 16:12:51 +0200 Subject: [PATCH 22/38] SPDX migration --- apr.spec | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/apr.spec b/apr.spec index f696135..e2af453 100644 --- a/apr.spec +++ b/apr.spec @@ -12,14 +12,17 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 2%{?dist} -# ASL 2.0: everything +Release: 3%{?dist} +# Apache-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, +# BSD-4-Clause-UC: 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 -# BSD (3-clause): strings/apr_strnatcmp.c, include/apr_strings.h -License: ASL 2.0 and BSD with advertising and ISC and BSD +# Zlib: strings/apr_strnatcmp.c, include/apr_strings.h +# Caldera: strings/apr_snprintf.c +License: Apache-2.0 AND (BSD-4-Clause-UC AND ISC AND Zlib AND Caldera) + + URL: https://apr.apache.org/ Source0: https://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 Source1: apr-wrapper.h @@ -142,6 +145,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 58946e5305ffbf3fb5298074039d1514ba92ce46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Uhliarik?= Date: Tue, 16 Jan 2024 18:11:49 +0100 Subject: [PATCH 23/38] Use Caldera-no-preamble instead of Caldera identifier https://github.com/spdx/license-list-XML/issues/2195 https://gitlab.com/fedora/legal/fedora-license-data/-/issues/366 --- apr.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apr.spec b/apr.spec index e2af453..aaac1fd 100644 --- a/apr.spec +++ b/apr.spec @@ -12,15 +12,15 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 3%{?dist} +Release: 4%{?dist} # Apache-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, # 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: strings/apr_snprintf.c -License: Apache-2.0 AND (BSD-4-Clause-UC AND ISC AND Zlib AND Caldera) +# 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/ @@ -30,6 +30,7 @@ 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.2-autoconf.patch +Patch5: apr-1.7.3-lmdb-support.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -56,6 +57,7 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 +%patch5 -p1 -b .lmdb-support %build # regenerate configure script etc. @@ -73,6 +75,7 @@ export apr_cv_sctp=no --with-installbuilddir=%{_libdir}/apr-%{aprver}/build \ --with-devrandom=/dev/urandom \ --disable-static + --enable-maintainer-mode --with-lmdb --with-dbm=lmdb %{make_build} %install @@ -145,6 +148,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* Tue Oct 24 2023 Luboš Uhliarik - 1.7.3-4 +- rebuilt + * Fri Sep 29 2023 Luboš Uhliarik - 1.7.3-3 - SPDX migration From 040019a8f6de2c7e17964b3b4abe8ddf23bff0dc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 13:24:03 +0000 Subject: [PATCH 24/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index aaac1fd..fb6ede3 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 4%{?dist} +Release: 5%{?dist} # Apache-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, @@ -148,6 +148,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 6010e7d5c19cec9766224b739c8d6a2c055c129b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 23:19:33 +0000 Subject: [PATCH 25/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index fb6ede3..e6fe463 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 5%{?dist} +Release: 6%{?dist} # Apache-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, @@ -148,6 +148,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 346168b027a00a85facaacabd5b6678debee3c3a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 29 Jan 2024 10:46:53 +0000 Subject: [PATCH 26/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index e6fe463..fffbc7e 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 6%{?dist} +Release: 7%{?dist} # Apache-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, @@ -148,6 +148,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 936a9698227f2b1bd40d5a5fd68f0017acd53e0b Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 7 Feb 2024 11:45:47 -0500 Subject: [PATCH 27/38] Revert incomplete lmdb changes This is preventing apr from even completing buildSRPMFromSCM, much less an actual build attempt. --- apr.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/apr.spec b/apr.spec index fffbc7e..6d2630c 100644 --- a/apr.spec +++ b/apr.spec @@ -30,7 +30,6 @@ 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.2-autoconf.patch -Patch5: apr-1.7.3-lmdb-support.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make @@ -57,7 +56,6 @@ C data structures and routines. %patch2 -p1 -b .pkgconf %patch3 -p1 -b .deepbind %patch4 -p1 -b .autoconf-2-71 -%patch5 -p1 -b .lmdb-support %build # regenerate configure script etc. @@ -75,7 +73,6 @@ export apr_cv_sctp=no --with-installbuilddir=%{_libdir}/apr-%{aprver}/build \ --with-devrandom=/dev/urandom \ --disable-static - --enable-maintainer-mode --with-lmdb --with-dbm=lmdb %{make_build} %install From 2a48b9dd5bc770d0c8429274961475ee614a8399 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 8 Feb 2024 08:21:07 +0000 Subject: [PATCH 28/38] use autosetup --- apr.spec | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/apr.spec b/apr.spec index 6d2630c..3528aec 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 7%{?dist} +Release: 8%{?dist} # Apache-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, @@ -51,11 +51,7 @@ Apache Portable Runtime (APR) is to provide a free library of C data structures and routines. %prep -%setup -q -%patch1 -p1 -b .libdir -%patch2 -p1 -b .pkgconf -%patch3 -p1 -b .deepbind -%patch4 -p1 -b .autoconf-2-71 +%autosetup -p1 %build # regenerate configure script etc. @@ -145,6 +141,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* Thu Feb 8 2024 Joe Orton - 1.7.3-8 +- use autosetup + * Mon Jan 29 2024 Fedora Release Engineering - 1.7.3-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From b3f3dc072f529165a4be53b86231baa50f9d95f8 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 8 Feb 2024 08:26:46 +0000 Subject: [PATCH 29/38] add pullrev.sh --- pullrev.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 pullrev.sh diff --git a/pullrev.sh b/pullrev.sh new file mode 100755 index 0000000..ec8815d --- /dev/null +++ b/pullrev.sh @@ -0,0 +1,53 @@ +#!/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}" From d9cd0652c6953176ab5b6878d32a4739b4d8cbc3 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 8 Feb 2024 08:27:00 +0000 Subject: [PATCH 30/38] always disable SCTP support at build time. --- apr.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apr.spec b/apr.spec index 3528aec..b20741f 100644 --- a/apr.spec +++ b/apr.spec @@ -61,14 +61,12 @@ C data structures and routines. # does not use -lrt). export ac_cv_search_shm_open=no -# Forcibly disable sctp protocol support -export apr_cv_sctp=no - %configure \ --includedir=%{_includedir}/apr-%{aprver} \ --with-installbuilddir=%{_libdir}/apr-%{aprver}/build \ --with-devrandom=/dev/urandom \ - --disable-static + --disable-static \ + --disable-sctp %{make_build} %install @@ -143,6 +141,7 @@ popd %changelog * 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 From fdcb8e3b159a95ba6cd6fe016c75dbfb5e71083d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 17:17:35 +0000 Subject: [PATCH 31/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index b20741f..b6fc34e 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.3 -Release: 8%{?dist} +Release: 9%{?dist} # Apache-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, @@ -139,6 +139,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 215749b64ae26c97ef9182ec22ecbadb07fc594d Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Wed, 28 Aug 2024 10:20:08 +0100 Subject: [PATCH 32/38] update to 1.7.5 (#2307902) Resolves: rhbz#2307902 --- .gitignore | 1 + apr.spec | 11 +++++------ sources | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index ec6cad4..f7d3944 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ apr-1.3.9.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 diff --git a/apr.spec b/apr.spec index b6fc34e..cc0ab8f 100644 --- a/apr.spec +++ b/apr.spec @@ -11,8 +11,8 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.7.3 -Release: 9%{?dist} +Version: 1.7.5 +Release: 1%{?dist} # Apache-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, @@ -57,10 +57,6 @@ C data structures and routines. # 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 \ @@ -139,6 +135,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 diff --git a/sources b/sources index c341b14..271da41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apr-1.7.3.tar.bz2) = d8f62868d8e3ec92cede1f0d93b5d48e49441f575c98e165ff84343746a6abd265290ab16a57f741896ae7a6b3e534a334325a99a61c96c2485e085f7761c124 +SHA512 (apr-1.7.5.tar.bz2) = d8a7553642da0c81261ac3992536efd9d43ecb9154934ef1a10ae808d6a3ce8198b40433091d3a6d04f61e67c59426fb5276193a37e810ae4bc74a8a10fb651b From 2aa1c4a647cae1aa4296169fc8a8db5abdb4efc4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:22:54 +0000 Subject: [PATCH 33/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index cc0ab8f..364dbad 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.5 -Release: 1%{?dist} +Release: 2%{?dist} # Apache-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, @@ -135,6 +135,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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) From da73d7d32b4e89b404e10e9e374de817599c7a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:53:01 +0100 Subject: [PATCH 34/38] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- apr.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 364dbad..7fab900 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.5 -Release: 2%{?dist} +Release: 3%{?dist} # Apache-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, @@ -32,6 +32,7 @@ Patch3: apr-1.7.0-deepbind.patch Patch4: apr-1.7.2-autoconf.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make +BuildRequires: libxcrypt-devel %description The mission of the Apache Portable Runtime (APR) is to provide a @@ -135,6 +136,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 36ccacc5eafc01ca00ac084f231b6e68de6bb9db Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Wed, 28 May 2025 16:31:21 +0100 Subject: [PATCH 35/38] update to 1.7.6 (#2366842) Resolves: rhbz#2366842 --- .gitignore | 1 + apr.spec | 9 +++++---- sources | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index f7d3944..9e9ac78 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ apr-1.3.9.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.spec b/apr.spec index 7fab900..7b00b74 100644 --- a/apr.spec +++ b/apr.spec @@ -11,8 +11,8 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.7.5 -Release: 3%{?dist} +Version: 1.7.6 +Release: 1%{?dist} # Apache-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, @@ -21,8 +21,6 @@ Release: 3%{?dist} # 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 Source1: apr-wrapper.h @@ -136,6 +134,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 diff --git a/sources b/sources index 271da41..0c31c18 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apr-1.7.5.tar.bz2) = d8a7553642da0c81261ac3992536efd9d43ecb9154934ef1a10ae808d6a3ce8198b40433091d3a6d04f61e67c59426fb5276193a37e810ae4bc74a8a10fb651b +SHA512 (apr-1.7.6.tar.bz2) = 629b60680d1244641828019db903a1b199e8a19c8f27a5132b93faacb381ce561f88463345ab019258f1f1e8cfdf8aa986ac815153a8e7e04a22b3932f9fedd2 From 45de4d7c21d9c84def115c8812bb3beae43adb3b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 17:09:17 +0000 Subject: [PATCH 36/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 7b00b74..9f52ceb 100644 --- a/apr.spec +++ b/apr.spec @@ -12,7 +12,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.6 -Release: 1%{?dist} +Release: 2%{?dist} # Apache-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, @@ -134,6 +134,9 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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) From 5b1c8c2ab4a44f80de5b604c3dc9f74be96d2d92 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 7 Aug 2025 14:34:46 +0100 Subject: [PATCH 37/38] - fix apr_strtoi64 to use glibc strtol again, and enable VLA support - add tests bcond - move configure sanity tests into build section - fix cross-compilation detection (#2386875) --- apr-1.7.2-autoconf.patch | 21 ---- apr-1.7.6-autoconf.patch | 200 +++++++++++++++++++++++++++++++++++++++ apr.spec | 47 ++++++--- 3 files changed, 236 insertions(+), 32 deletions(-) delete mode 100644 apr-1.7.2-autoconf.patch create mode 100644 apr-1.7.6-autoconf.patch diff --git a/apr-1.7.2-autoconf.patch b/apr-1.7.2-autoconf.patch deleted file mode 100644 index 368fc79..0000000 --- a/apr-1.7.2-autoconf.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index ac2312c..5d232c4 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -468,15 +468,8 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - fi - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( -- [ --#ifndef PACKAGE_NAME --#include "confdefs.h" --#endif -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -+ [[$1]], - [[$2]] -- [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) diff --git a/apr-1.7.6-autoconf.patch b/apr-1.7.6-autoconf.patch new file mode 100644 index 0000000..58dc4a3 --- /dev/null +++ b/apr-1.7.6-autoconf.patch @@ -0,0 +1,200 @@ + +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 9f52ceb..41dd733 100644 --- a/apr.spec +++ b/apr.spec @@ -1,5 +1,7 @@ %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 @@ -12,7 +14,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.6 -Release: 2%{?dist} +Release: 3%{?dist} # Apache-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, @@ -27,7 +29,7 @@ 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.2-autoconf.patch +Patch4: apr-1.7.6-autoconf.patch BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 BuildRequires: make BuildRequires: libxcrypt-devel @@ -50,7 +52,7 @@ Apache Portable Runtime (APR) is to provide a free library of C data structures and routines. %prep -%autosetup -p1 +%autosetup -p1 -S gendiff %build # regenerate configure script etc. @@ -62,6 +64,27 @@ C data structures and routines. --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} %install @@ -100,18 +123,14 @@ for f in build/gen-build.py build/install.sh build/config.*; do done %check -# 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 +grep ^cross_compiling=no $RPM_BUILD_ROOT%{_bindir}/apr-%{aprver}-config + +%if %{with tests} pushd test make %{?_smp_mflags} ./testall -v -q popd +%endif %ldconfig_scriptlets @@ -134,6 +153,12 @@ popd %{_datadir}/aclocal/*.m4 %changelog +* 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 From 5b9f0b78b07fe808c529cf49db6366097e1fe384 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:50:31 +0000 Subject: [PATCH 38/38] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- apr.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apr.spec b/apr.spec index 41dd733..eae3116 100644 --- a/apr.spec +++ b/apr.spec @@ -14,7 +14,7 @@ Summary: Apache Portable Runtime library Name: apr Version: 1.7.6 -Release: 3%{?dist} +Release: 4%{?dist} # Apache-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, @@ -153,6 +153,9 @@ 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