apr: clean up the patches + enable LFS
authorSebastian Kemper <sebastian_ml@gmx.net>
Sun, 26 Jan 2020 17:50:04 +0000 (18:50 +0100)
committerSebastian Kemper <sebastian_ml@gmx.net>
Sun, 26 Jan 2020 17:50:06 +0000 (18:50 +0100)
- removes 001-autoconf-compat.patch:
  Looks like this was meant as a workaround for a libtool issue. But it
  doesn't appear to be needed anymore.
- removes 101-fix_apr_time_now.patch:
  Mentioned in https://dev.openwrt.org/ticket/9287, meant as a fix, but
  issue was fixed differently in the end (by activating LFS).
- removes 201-upgrade-and-fix-1.5.1.patch:
  This is a cross-compile fix. This patch gets replaced by
  001-cross-compile.patch from buildroot project. The latter was sent
  upstream by buildroot and is in line with the patch used by OpenWrt
  for the apache package.
- adds 002-sys-param-h.patch:
  Fix PATH_MAX detection by including sys/param.h if available. Also
  from buildroot.

Additionally configure variables found in buildroot package are added.
These also enable LFS support. This was previously done (in OpenWrt) by
defining _LARGEFILE64_SOURCE in TARGET_CPPFLAGS. But the configure
variable is cleaner (and easier to follow).

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
libs/apr/Makefile
libs/apr/patches/001-autoconf-compat.patch [deleted file]
libs/apr/patches/001-cross-compile.patch [new file with mode: 0644]
libs/apr/patches/002-sys-param-h.patch [new file with mode: 0644]
libs/apr/patches/101-fix_apr_time_now.patch [deleted file]
libs/apr/patches/201-upgrade-and-fix-1.5.1.patch [deleted file]
libs/apr/patches/301-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch

index edc8bc061e180233a59cfe2c88bb80941010caab..31b55d679250ea44a1b230634d29d3d800a33805 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apr
 PKG_VERSION:=1.6.5
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/apr/
@@ -17,6 +17,7 @@ PKG_HASH:=a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Sebastian Kemper <sebastian_ml@gmx.net>
+
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
@@ -44,8 +45,11 @@ CONFIGURE_ARGS += \
 
 # XXX: ac_cv_sizeof_struct_iovec=1 is just to trick configure
 CONFIGURE_VARS += \
+       ac_cv_file__dev_zero=yes \
        ac_cv_func_pthread_mutexattr_setpshared=yes \
        ac_cv_func_sem_open=yes \
+       ac_cv_func_setpgrp_void=yes \
+       ac_cv_o_nonblock_inherited=no \
        ac_cv_sizeof_struct_iovec=1 \
        ac_cv_struct_rlimit=yes \
        apr_cv_accept4=yes \
@@ -56,7 +60,8 @@ CONFIGURE_VARS += \
        apr_cv_mutex_robust_shared=yes \
        apr_cv_process_shared_works=yes \
        apr_cv_sock_cloexec=yes \
-       apr_cv_tcp_nodelay_with_cork=yes
+       apr_cv_tcp_nodelay_with_cork=yes \
+       apr_cv_use_lfs64=yes
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/include/apr-1 \
diff --git a/libs/apr/patches/001-autoconf-compat.patch b/libs/apr/patches/001-autoconf-compat.patch
deleted file mode 100644 (file)
index acc94fc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: apr-1.5.2/Makefile.in
-===================================================================
---- apr-1.5.2.orig/Makefile.in
-+++ apr-1.5.2/Makefile.in
-@@ -3,6 +3,7 @@ srcdir=@srcdir@
- VPATH=@srcdir@
- top_srcdir=@apr_srcdir@
- top_blddir=@apr_builddir@
-+top_builddir=@top_builddir@
- #
- # APR (Apache Portable Runtime) library Makefile.
-Index: apr-1.5.2/configure.in
-===================================================================
---- apr-1.5.2.orig/configure.in
-+++ apr-1.5.2/configure.in
-@@ -245,9 +245,6 @@ case $host in
-     gcc $CFLAGS $CPPFLAGS -o $LIBTOOL.exe $LIBTOOL.c
-     ;;
- *)
--    if test "x$LTFLAGS" = "x"; then
--        LTFLAGS='--silent'
--    fi
-     if test "$experimental_libtool" = "yes"; then
-         # Use a custom-made libtool replacement
-         echo "using jlibtool"
diff --git a/libs/apr/patches/001-cross-compile.patch b/libs/apr/patches/001-cross-compile.patch
new file mode 100644 (file)
index 0000000..9845175
--- /dev/null
@@ -0,0 +1,56 @@
+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@
+@@ -137,8 +139,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
diff --git a/libs/apr/patches/002-sys-param-h.patch b/libs/apr/patches/002-sys-param-h.patch
new file mode 100644 (file)
index 0000000..4f2bbe8
--- /dev/null
@@ -0,0 +1,37 @@
+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
+@@ -1593,6 +1593,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
+@@ -94,6 +94,7 @@
+ #define APR_HAVE_STRING_H        @stringh@
+ #define APR_HAVE_STRINGS_H       @stringsh@
+ #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@
+@@ -201,6 +202,9 @@
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
++#if APR_HAVE_SYS_PARAM_H
++#include <sys/param.h>
++#endif
+ /**
+  * @addtogroup apr_platform
diff --git a/libs/apr/patches/101-fix_apr_time_now.patch b/libs/apr/patches/101-fix_apr_time_now.patch
deleted file mode 100644 (file)
index 6ad14a3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-https://dev.openwrt.org/ticket/9287
-
---- a/time/unix/time.c
-+++ b/time/unix/time.c
-@@ -75,7 +75,7 @@ APR_DECLARE(apr_time_t) apr_time_now(voi
- {
-     struct timeval tv;
-     gettimeofday(&tv, NULL);
--    return tv.tv_sec * APR_USEC_PER_SEC + tv.tv_usec;
-+    return tv.tv_sec * (apr_time_t)APR_USEC_PER_SEC + (apr_time_t)tv.tv_usec;
- }
- static void explode_time(apr_time_exp_t *xt, apr_time_t t,
diff --git a/libs/apr/patches/201-upgrade-and-fix-1.5.1.patch b/libs/apr/patches/201-upgrade-and-fix-1.5.1.patch
deleted file mode 100644 (file)
index b4e5ab7..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-Makefile.in: fix cross compiling failed
-
-The tools/gen_test_char was invoked at build time,
-and it didn't work for the cross compiling, so we
-compile it with $BUILDCC.
-
-Remove the 'tools' dir creation, it always existed.
-And it caused gen_test_char unexpected rebuilt at
-do_install time.
-
-Upstream-Status: inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 10 ++--------
- 1 file changed, 2 insertions(+), 8 deletions(-)
-
-Index: apr-1.5.2/Makefile.in
-===================================================================
---- apr-1.5.2.orig/Makefile.in
-+++ apr-1.5.2/Makefile.in
-@@ -20,7 +20,7 @@ INCDIR=./include
- OSDIR=$(top_srcdir)/include/arch/@OSDIR@
- DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
- INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include -I$(top_srcdir)/include/private -I$(top_blddir)/include/private
--
-+BUILDCC=gcc
- #
- # Macros for target determination
- #
-@@ -47,7 +47,6 @@ LT_VERSION = @LT_VERSION@
- CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
-       build/apr_rules.out tools/gen_test_char@EXEEXT@ \
--      tools/gen_test_char.o tools/gen_test_char.lo \
-       include/private/apr_escape_test_char.h
- DISTCLEAN_TARGETS = config.cache config.log config.status \
-       include/apr.h include/arch/unix/apr_private.h \
-@@ -138,9 +137,9 @@ tools/gen_test_char.lo: tools/gen_test_c
-       $(APR_MKDIR) tools
-       $(LT_COMPILE)
--tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char)
--      $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
--
-+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c
-+      $(BUILDCC) $(CFLAGS_FOR_BUILD) $< -o $@
-+ 
- include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@
-       $(APR_MKDIR) include/private
-       tools/gen_test_char@EXEEXT@ > $@
index d1b234f26f4960e28e5a934a49f12127b5cfd7b6..2c7e02065c0165e1f5dc0702a58d5d9c96ebe30a 100644 (file)
@@ -33,11 +33,9 @@ Upstream-Status: Pending
  configure.in | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
-diff --git a/configure.in b/configure.in
-index 3b10422..a227e72 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -1771,7 +1771,7 @@ else
+@@ -1785,7 +1785,7 @@ else
      socklen_t_value="int"
  fi
  
@@ -46,7 +44,7 @@ index 3b10422..a227e72 100644
  
  if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
      pid_t_fmt='#define APR_PID_T_FMT "hd"'
-@@ -1840,7 +1840,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"])
+@@ -1854,7 +1854,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long
  APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"])
  APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"])
  
@@ -55,7 +53,7 @@ index 3b10422..a227e72 100644
  
  AC_MSG_CHECKING([which format to use for apr_ssize_t])
  if test -n "$ssize_t_fmt"; then
-@@ -1857,7 +1857,7 @@ fi
+@@ -1871,7 +1871,7 @@ fi
  
  ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
  
@@ -64,7 +62,7 @@ index 3b10422..a227e72 100644
  
  AC_MSG_CHECKING([which format to use for apr_size_t])
  if test -n "$size_t_fmt"; then
-@@ -1874,7 +1874,7 @@ fi
+@@ -1888,7 +1888,7 @@ fi
  
  size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
  
@@ -73,6 +71,3 @@ index 3b10422..a227e72 100644
  
  if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
      # Enable LFS
--- 
-1.8.3.1
-