From 2aa1c4a647cae1aa4296169fc8a8db5abdb4efc4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:22:54 +0000 Subject: [PATCH 1/6] 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 2/6] 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 3/6] 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 4/6] 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 5/6] - 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 6/6] 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