Browse Source

apr: clean up the patches + enable LFS

- 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>
lilik-openwrt-22.03
Sebastian Kemper 5 years ago
parent
commit
193c3913b6
7 changed files with 104 additions and 101 deletions
  1. +7
    -2
      libs/apr/Makefile
  2. +0
    -26
      libs/apr/patches/001-autoconf-compat.patch
  3. +56
    -0
      libs/apr/patches/001-cross-compile.patch
  4. +37
    -0
      libs/apr/patches/002-sys-param-h.patch
  5. +0
    -13
      libs/apr/patches/101-fix_apr_time_now.patch
  6. +0
    -51
      libs/apr/patches/201-upgrade-and-fix-1.5.1.patch
  7. +4
    -9
      libs/apr/patches/301-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch

+ 7
- 2
libs/apr/Makefile View 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 \


+ 0
- 26
libs/apr/patches/001-autoconf-compat.patch View File

@ -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"

+ 56
- 0
libs/apr/patches/001-cross-compile.patch View File

@ -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

+ 37
- 0
libs/apr/patches/002-sys-param-h.patch View File

@ -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

+ 0
- 13
libs/apr/patches/101-fix_apr_time_now.patch View File

@ -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,

+ 0
- 51
libs/apr/patches/201-upgrade-and-fix-1.5.1.patch View File

@ -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@ > $@

+ 4
- 9
libs/apr/patches/301-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch View 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

Loading…
Cancel
Save