include $(TOPDIR)/rules.mk
PKG_NAME:=apr
-PKG_VERSION:=1.7.0
-PKG_RELEASE:=4
+PKG_VERSION:=1.7.4
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@APACHE/apr/
-PKG_HASH:=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea
+PKG_HASH:=fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
$(CP) $(PKG_INSTALL_DIR)/usr/share/build-1/* $(1)/usr/share/build-1
$(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \
$(1)/usr/bin/apr-1-config
- $(SED) '/^bindir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
+ $(SED) '/^bindir=/s|/usr/bin|$(STAGING_DIR)|' $(1)/usr/bin/apr-1-config
$(SED) '/^datadir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
$(SED) '/^datarootdir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
$(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' \
+++ /dev/null
-From 374210c50ee9f4dbf265f0172dcf2d45b97d0550
-From: Graham Leggett <minfrin@apache.org>
-Date: Thu, 26 Dec 2019 01:18:53 +0000
-Subject: [PATCH] Use AC_CHECK_SIZEOF, so as to support cross compiling. PR
- 56053.
-
-git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1871980 13f79535-47bb-0310-9956-ffa450edef68
----
- build/apr_common.m4 | 37 -------------------------------------
- configure.in | 14 +++++++-------
- 2 files changed, 7 insertions(+), 44 deletions(-)
-
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -452,43 +452,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(<<AC_TYPE_NAME>>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl
--dnl The cache variable name.
--define(<<AC_CV_NAME>>, 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 <stdio.h>
--$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])
- dnl
---- a/configure.in
-+++ b/configure.in
-@@ -1798,7 +1798,7 @@ else
- socklen_t_value="int"
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], 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"'
-@@ -1870,7 +1870,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, u
- APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"])
- ])
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], 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])
-@@ -1888,7 +1888,7 @@ fi
-
- ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], 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])
-@@ -1906,7 +1906,7 @@ fi
-
- size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)
-+AC_CHECK_SIZEOF(off_t)
-
- if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
- # Enable LFS
-@@ -2000,7 +2000,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"
-@@ -2020,8 +2020,8 @@ else
- bigendian=0
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>
--#include <sys/uio.h>],struct iovec,0)
-+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT
-+#include <sys/uio.h>])
- if test "$ac_cv_sizeof_struct_iovec" = "0"; then
- have_iovec=0
- else
+++ /dev/null
-From 5fd2568c34a8d5c8159d9a5e0f5601f9e8902166
-From: Graham Leggett <minfrin@apache.org>
-Date: Tue, 10 Mar 2020 22:38:59 +0000
-Subject: [PATCH] APR's configure script uses AC_TRY_RUN to detect whether the
- return type of strerror_r is int. When cross-compiling this defaults to no.
-
-This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
-influence the outcome with a configure variable.
-
-
-git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1875065 13f79535-47bb-0310-9956-ffa450edef68
----
- CHANGES | 7 +++++++ (OPENWRT REMOVED)
- build/apr_common.m4 | 11 ++++-------
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -489,8 +489,9 @@ dnl string.
- dnl
- dnl
- AC_DEFUN([APR_CHECK_STRERROR_R_RC], [
--AC_MSG_CHECKING(for type of return code from strerror_r)
--AC_TRY_RUN([
-+AC_CACHE_CHECK([whether return code from strerror_r has type int],
-+[ac_cv_strerror_r_rc_int],
-+[AC_TRY_RUN([
- #include <errno.h>
- #include <string.h>
- #include <stdio.h>
-@@ -506,14 +507,10 @@ main()
- }], [
- ac_cv_strerror_r_rc_int=yes ], [
- ac_cv_strerror_r_rc_int=no ], [
-- ac_cv_strerror_r_rc_int=no ] )
-+ ac_cv_strerror_r_rc_int=no ] ) ] )
- if test "x$ac_cv_strerror_r_rc_int" = xyes; then
- AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int])
-- msg="int"
--else
-- msg="pointer"
- fi
--AC_MSG_RESULT([$msg])
- ] )
-
- dnl
+++ /dev/null
-From 9d9c6990afaa7ad8eea0be524481bb48a5dd1b09
-From: Jim Jagielski <jim@apache.org>
-Date: Thu, 29 Oct 2020 20:16:55 +0000
-Subject: [PATCH] calls to exit() require stdlib.h or else we get
- -Werror,-Wimplicit-function-declaration
-
-git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1882979 13f79535-47bb-0310-9956-ffa450edef68
----
- build/apr_common.m4 | 3 +++
- build/apr_network.m4 | 15 +++++++++++++++
- configure.in | 6 +++++-
- 3 files changed, 23 insertions(+), 1 deletion(-)
-
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -495,6 +495,9 @@ AC_CACHE_CHECK([whether return code from
- #include <errno.h>
- #include <string.h>
- #include <stdio.h>
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
- main()
- {
- char buf[1024];
---- 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 <sys/socket.h>
- #endif
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
-
- int main(void) {
- struct addrinfo hints, *ai;
-@@ -151,6 +154,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO]
- #ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
-
- int main(void) {
- struct sockaddr_in sa;
-@@ -194,6 +200,9 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [
- #ifdef HAVE_NETDB_H
- #include <netdb.h>
- #endif
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
-
- int main(void) {
- if (EAI_ADDRFAMILY < 0) {
-@@ -403,6 +412,9 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITE
- #ifndef HAVE_SOCKLEN_T
- typedef int socklen_t;
- #endif
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#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 <fcntl.h>
- #endif
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
- int main(void) {
- int listen_s, connected_s, client_s;
- int listen_port, rc;
---- a/configure.in
-+++ b/configure.in
-@@ -2208,6 +2208,7 @@ AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-+#include <stdlib.h>
- main()
- {
- struct rlimit limit;
-@@ -2307,6 +2308,7 @@ if test "$threads" = "1"; then
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <pthread.h>
-+#include <stdlib.h>
- int main()
- {
- pthread_mutex_t mutex;
-@@ -2430,7 +2432,9 @@ AC_TRY_RUN([
- #endif
- #include <fcntl.h>
- #include <errno.h>
--
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
- int fd;
- struct flock proc_mutex_lock_it = {0};
- const char *fname = "conftest.fcntl";
+++ /dev/null
-From 0a763c5e500f4304b7c534fae0fad430d64982e8
-From: Yann Ylavic <ylavic@apache.org>
-Date: Sat, 6 Mar 2021 22:20:59 +0000
-Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of "confdefs.h"
-
-The failure is observed on `autoconf-2.69d` (soon to be released
-as `autoconf-2.70`). There `int64_t` detection fails as:
-
-$ autoreconf && ./configure
-checking whether int64_t and int use fmt %d... no
-checking whether int64_t and long use fmt %ld... no
-checking whether int64_t and long long use fmt %lld... no
-configure: error: could not determine the string function for int64_t
-```
-
-This happens because `./configure` always stumbles on warning:
-
-configure:3350: gcc -c -g -O2 -Werror conftest.c >&5
-In file included from conftest.c:31:
-confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror]
- 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
- |
-
-It's triggered by double inclusion of `"confdefs.h"` contents:
-explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly
-via `AC_LANG_SOURCE` use.
-
-To fix it and avoid having to define `main()` declaration the change
-uses `AC_LANG_PROGRAM` instead.
-
-Tested on both `autoconf-2.69` and `autoconf-2.69d`.
-
-
-Github: closes #25
-Submitted by: Sergei Trofimovich <slyfox gentoo.org>
-Reviewed by: ylavic
-
-
-git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1887279 13f79535-47bb-0310-9956-ffa450edef68
----
- build/apr_common.m4 | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
- 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])
+++ /dev/null
-From ea9344182b7559b12aa523548bb6d37d0e009028
-From: Yann Ylavic <ylavic@apache.org>
-Date: Wed, 24 Mar 2021 15:02:52 +0000
-Subject: [PATCH] Follow up to r1887279: fix new APR_TRY_COMPILE_NO_WARNING.
-
-AC_LANG_PROGRAM generates an "int main()" prototype which some compilers warn
-about. Restore AC_LANG_SOURCE to manually set the correct main() but do not
-#include "confdefs.h" if it is inlined already by AC_LANG_SOURCE (i.e.
-check whether PACKAGE_NAME is already defined).
-
-Github: closes #25
-
-
-git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1888017 13f79535-47bb-0310-9956-ffa450edef68
----
- build/apr_common.m4 | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -467,9 +467,16 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
- CFLAGS="$CFLAGS -Werror"
- fi
- AC_COMPILE_IFELSE(
-- [AC_LANG_PROGRAM(
-- [[$1]],
-+ [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])
+++ /dev/null
-Fix cross-compilation
-
-Patch was backported from Apache httpd:
-http://svn.apache.org/viewvc?view=revision&revision=1327907
-http://svn.apache.org/viewvc?view=revision&revision=1328390
-http://svn.apache.org/viewvc?view=revision&revision=1328714
-
-Patch submitted upstream:
-https://issues.apache.org/bugzilla/show_bug.cgi?id=57058
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
---- a/configure.in
-+++ b/configure.in
-@@ -118,6 +118,16 @@ AC_CANONICAL_SYSTEM
- echo "Configuring APR library"
- echo "Platform: $host"
-
-+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
-+dnl we got already CC_FOR_BUILD from environment.
-+if test "x${build_alias}" != "x${host_alias}"; then
-+ if test "x${CC_FOR_BUILD}" = "x"; then
-+ CC_FOR_BUILD=cc
-+ fi
-+fi
-+AC_SUBST(CC_FOR_BUILD)
-+AC_SUBST(CFLAGS_FOR_BUILD)
-+
- dnl Some initial steps for configuration. We setup the default directory
- dnl and which files are to be configured.
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -8,6 +8,8 @@ top_blddir=@apr_builddir@
- # APR (Apache Portable Runtime) library Makefile.
- #
- CPP = @CPP@
-+CC_FOR_BUILD = @CC_FOR_BUILD@
-+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
-
- # get substituted into some targets
- APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
-@@ -136,8 +138,13 @@ tools/gen_test_char.lo: tools/gen_test_c
- $(APR_MKDIR) tools
- $(LT_COMPILE)
-
-+ifdef CC_FOR_BUILD
-+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS)
-+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
-+else
- tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char)
- $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
-+endif
-
- include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@
- $(APR_MKDIR) include/private
+++ /dev/null
-Fix PATH_MAX detection by including sys/param.h if available
-
-Patch sent upstream:
-https://bz.apache.org/bugzilla/show_bug.cgi?id=63782
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
---- a/configure.in
-+++ b/configure.in
-@@ -1596,6 +1596,7 @@ AC_SUBST(stdlibh)
- AC_SUBST(stringh)
- AC_SUBST(stringsh)
- AC_SUBST(sys_ioctlh)
-+AC_SUBST(sys_paramh)
- AC_SUBST(sys_sendfileh)
- AC_SUBST(sys_signalh)
- AC_SUBST(sys_socketh)
---- a/include/apr.h.in
-+++ b/include/apr.h.in
-@@ -95,6 +95,7 @@
- #define APR_HAVE_STRINGS_H @stringsh@
- #define APR_HAVE_INTTYPES_H @inttypesh@
- #define APR_HAVE_SYS_IOCTL_H @sys_ioctlh@
-+#define APR_HAVE_SYS_PARAM_H @sys_paramh@
- #define APR_HAVE_SYS_SENDFILE_H @sys_sendfileh@
- #define APR_HAVE_SYS_SIGNAL_H @sys_signalh@
- #define APR_HAVE_SYS_SOCKET_H @sys_socketh@
-@@ -218,6 +219,9 @@
- #ifdef __cplusplus
- extern "C" {
- #endif
-+#if APR_HAVE_SYS_PARAM_H
-+#include <sys/param.h>
-+#endif
-
- /**
- * @addtogroup apr_platform
+++ /dev/null
---- a/configure.in
-+++ b/configure.in
-@@ -1191,8 +1191,9 @@ AC_CHECK_FILE(/dev/zero)
- # Not all systems can mmap /dev/zero (such as HP-UX). Check for that.
- if test "$ac_cv_func_mmap" = "yes" &&
- test "$ac_cv_file__dev_zero" = "yes"; then
-- AC_MSG_CHECKING(for mmap that can map /dev/zero)
-- AC_TRY_RUN([
-+ AC_CACHE_CHECK([for mmap that can map /dev/zero],
-+ [ac_cv_mmap__dev_zero],
-+ [AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-@@ -1215,9 +1216,7 @@ if test "$ac_cv_func_mmap" = "yes" &&
- return 3;
- }
- return 0;
-- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
--
-- AC_MSG_RESULT($ac_cv_file__dev_zero)
-+ }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])])
- fi
-
- # Now we determine which one is our anonymous shmem preference.
+++ /dev/null
-
-SECURITY: CVE-2021-35940 (cve.mitre.org)
-
-Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though
-was addressed in 1.6.x in 1.6.3 and later via r1807976.
-
-The fix was merged back to 1.7.x in r1891198.
-
-Since this was a regression in 1.7.0, a new CVE name has been assigned
-to track this, CVE-2021-35940.
-
-Thanks to Iveta Cesalova <icesalov redhat.com> for reporting this issue.
-
-https://svn.apache.org/viewvc?view=revision&revision=1891198
-
---- a/time/unix/time.c
-+++ b/time/unix/time.c
-@@ -142,6 +142,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_g
- 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)
---- a/time/win32/time.c
-+++ b/time/win32/time.c
-@@ -54,6 +54,9 @@ static void SystemTimeToAprExpTime(apr_t
- 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 @@ APR_DECLARE(apr_status_t) apr_time_exp_g
- 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)