From 29c4b19e640b544c9c351aec4292a3f65b619998 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Fri, 2 Feb 2018 04:06:11 -0500 Subject: apr: 1.6.2 -> 1.6.3 1. Improve inappropriate patches: - Drop inappropriate configure_fixes.patch Use setting variable ac_cv_file__dev_zero and ac_cv_sizeof_struct_iovec to replace - Drop cleanup.patch Aassign variable libtool at ./buildconf executing and use 0001-build-buildcheck.sh-improve-libtool-detection.patch to replace. Submitted it to upstream. - Rename configfix.patch to 0002-apr-Remove-workdir-path-references-from-installed-ap.patch Add its original comments and author, explain why it is inappropriate - Drop upgrade-and-fix-1.5.1.patch Use 0003-Makefile.in-configure.in-support-cross-compiling.patch to replace. And submitted it to upstream. 2. Fix build path issue to improve reproducibility Signed-off-by: Hongxu Jia Signed-off-by: Ross Burton --- ..._t-size-doesn-t-match-in-glibc-when-cross.patch | 78 -------------- ...d-buildcheck.sh-improve-libtool-detection.patch | 32 ++++++ ...workdir-path-references-from-installed-ap.patch | 74 +++++++++++++ ...link-libapr-against-phtread-to-make-gold-.patch | 50 --------- ...e.in-configure.in-support-cross-compiling.patch | 63 +++++++++++ .../0004-Fix-packet-discards-HTTP-redirect.patch | 39 +++++++ ...n-fix-LTFLAGS-to-make-it-work-with-ccache.patch | 36 +++++++ ..._t-size-doesn-t-match-in-glibc-when-cross.patch | 78 ++++++++++++++ ...link-libapr-against-phtread-to-make-gold-.patch | 50 +++++++++ .../apr/Fix-packet-discards-HTTP-redirect.patch | 32 ------ meta/recipes-support/apr/apr/cleanup.patch | 43 -------- meta/recipes-support/apr/apr/configfix.patch | 53 ---------- ...n-fix-LTFLAGS-to-make-it-work-with-ccache.patch | 36 ------- meta/recipes-support/apr/apr/configure_fixes.patch | 68 ------------ .../apr/apr/upgrade-and-fix-1.5.1.patch | 45 -------- meta/recipes-support/apr/apr_1.6.2.bb | 114 -------------------- meta/recipes-support/apr/apr_1.6.3.bb | 117 +++++++++++++++++++++ 17 files changed, 489 insertions(+), 519 deletions(-) delete mode 100644 meta/recipes-support/apr/apr/0001-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch create mode 100644 meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch create mode 100644 meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch delete mode 100644 meta/recipes-support/apr/apr/0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch create mode 100644 meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch create mode 100644 meta/recipes-support/apr/apr/0004-Fix-packet-discards-HTTP-redirect.patch create mode 100644 meta/recipes-support/apr/apr/0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch create mode 100644 meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch create mode 100644 meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch delete mode 100644 meta/recipes-support/apr/apr/Fix-packet-discards-HTTP-redirect.patch delete mode 100644 meta/recipes-support/apr/apr/cleanup.patch delete mode 100644 meta/recipes-support/apr/apr/configfix.patch delete mode 100644 meta/recipes-support/apr/apr/configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch delete mode 100644 meta/recipes-support/apr/apr/configure_fixes.patch delete mode 100644 meta/recipes-support/apr/apr/upgrade-and-fix-1.5.1.patch delete mode 100644 meta/recipes-support/apr/apr_1.6.2.bb create mode 100644 meta/recipes-support/apr/apr_1.6.3.bb (limited to 'meta/recipes-support/apr') diff --git a/meta/recipes-support/apr/apr/0001-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch b/meta/recipes-support/apr/apr/0001-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch deleted file mode 100644 index c5e92aceef..0000000000 --- a/meta/recipes-support/apr/apr/0001-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch +++ /dev/null @@ -1,78 +0,0 @@ -From f26e8b88d2c90ed7eb9d4e276412b0923c23d10f Mon Sep 17 00:00:00 2001 -From: Dengke Du -Date: Wed, 14 Dec 2016 18:13:08 +0800 -Subject: [PATCH] apr: fix off_t size doesn't match in glibc when cross - compiling - -In configure.in, it contains the following: - - APR_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) - -the macro "APR_CHECK_SIZEOF_EXTENDED" was defined in build/apr_common.m4, -it use the "AC_TRY_RUN" macro, this macro let the off_t to 8, when cross -compiling enable. - -So it was hardcoded for cross compiling, we should detect it dynamic based on -the sysroot's glibc. We change it to the following: - - AC_CHECK_SIZEOF(off_t) - -The same for the following hardcoded types for cross compiling: - - pid_t 8 - ssize_t 8 - size_t 8 - off_t 8 - -Change the above correspondingly. - -Signed-off-by: Dengke Du - -Upstream-Status: Pending ---- - configure.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index 9d57ae6..5b19940 100644 ---- a/configure.in -+++ b/configure.in -@@ -1681,7 +1681,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"' -@@ -1750,7 +1750,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"]) - APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"]) - APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"]) - --APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) -+AC_CHECK_SIZEOF(ssize_t) - - AC_MSG_CHECKING([which format to use for apr_ssize_t]) - if test -n "$ssize_t_fmt"; then -@@ -1767,7 +1767,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) - - AC_MSG_CHECKING([which format to use for apr_size_t]) - if test -n "$size_t_fmt"; then -@@ -1784,7 +1784,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 --- -2.7.4 - diff --git a/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch b/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch new file mode 100644 index 0000000000..097c195a19 --- /dev/null +++ b/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch @@ -0,0 +1,32 @@ +From 4efdc06fb17b8a00a9eca923caa176be741d1e04 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Feb 2018 14:56:13 +0800 +Subject: [PATCH 1/7] build/buildcheck.sh: improve libtool detection + +Support customize libtool by variable assigning, it is helpful +for cross compileing (such as libtool=aarch64-linux-libtool) + +Upstream-Status: Submitted [https://github.com/apache/apr/pull/8] +Signed-off-by: Hongxu Jia +--- + build/buildcheck.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/build/buildcheck.sh b/build/buildcheck.sh +index ab5df44..f191a41 100755 +--- a/build/buildcheck.sh ++++ b/build/buildcheck.sh +@@ -40,7 +40,9 @@ fi + # output is multiline from 1.5 onwards + + # Require libtool 1.4 or newer +-libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` ++if test -z "$libtool"; then ++ libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` ++fi + lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'` + if test -z "$lt_pversion"; then + echo "buildconf: libtool not found." +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch b/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch new file mode 100644 index 0000000000..72e706f966 --- /dev/null +++ b/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch @@ -0,0 +1,74 @@ +From 5925b20da8bbc34d9bf5a5dca123ef38864d43c6 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 30 Jan 2018 09:39:06 +0800 +Subject: [PATCH 2/7] apr: Remove workdir path references from installed apr + files + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Richard Purdie + +The generated `apr-1-config' is used by other recipes at build time or +packages at target run time, the workdir path caused confusion. + +Rebase to 1.6.3 + +Signed-off-by: Hongxu Jia +--- + apr-config.in | 26 ++------------------------ + 1 file changed, 2 insertions(+), 24 deletions(-) + +diff --git a/apr-config.in b/apr-config.in +index 84b4073..bbbf651 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -152,14 +152,7 @@ while test $# -gt 0; do + flags="$flags $LDFLAGS" + ;; + --includes) +- if test "$location" = "installed"; then + flags="$flags -I$includedir $EXTRA_INCLUDES" +- elif test "$location" = "source"; then +- flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" +- else +- # this is for VPATH builds +- flags="$flags -I$APR_BUILD_DIR/include -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" +- fi + ;; + --srcdir) + echo $APR_SOURCE_DIR +@@ -181,29 +174,14 @@ while test $# -gt 0; do + exit 0 + ;; + --link-ld) +- if test "$location" = "installed"; then +- ### avoid using -L if libdir is a "standard" location like /usr/lib +- flags="$flags -L$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}" +- fi ++ flags="$flags -l${APR_LIBNAME}" + ;; + --link-libtool) + # If the LA_FILE exists where we think it should be, use it. If we're + # installed and the LA_FILE does not exist, assume to use -L/-l + # (the LA_FILE may not have been installed). If we're building ourselves, + # we'll assume that at some point the .la file be created. +- if test -f "$LA_FILE"; then +- flags="$flags $LA_FILE" +- elif test "$location" = "installed"; then +- ### avoid using -L if libdir is a "standard" location like /usr/lib +- # Since the user is specifying they are linking with libtool, we +- # *know* that -R will be recognized by libtool. +- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" +- else +- flags="$flags $LA_FILE" +- fi ++ flags="$flags -l${APR_LIBNAME}" + ;; + --shlib-path-var) + echo "$SHLIBPATH_VAR" +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch b/meta/recipes-support/apr/apr/0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch deleted file mode 100644 index 7d0dddc530..0000000000 --- a/meta/recipes-support/apr/apr/0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 94d1ca0266a0f9c0446f1299b54f752e87b8a695 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Fri, 3 Mar 2017 22:24:17 +0100 -Subject: [PATCH] explicitly link libapr against phtread to make gold happy on - test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_init' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_settype' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_destroy' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutex_trylock' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_attr_setstacksize' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_create' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_join' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_detach' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_sigmask' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_once' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_create' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_getspecific' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_delete' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_setspecific' -| collect2: error: ld returned 1 exit status -| Makefile:114: recipe for target 'globalmutexchild' failed -| make[1]: *** [globalmutexchild] Error 1 -| make[1]: Leaving directory '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/apr/1.5.2-r0/apr-1.5.2/test' - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - configure.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.in b/configure.in -index 5b19940..cdf4d58 100644 ---- a/configure.in -+++ b/configure.in -@@ -766,6 +766,7 @@ else - APR_PTHREADS_CHECK_RESTORE ] ) - fi - if test "$pthreadh" = "1"; then -+ APR_ADDTO(LIBS,[-lpthread]) - APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS - APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG - APR_CHECK_PTHREAD_RECURSIVE_MUTEX --- -2.9.3 - diff --git a/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch b/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch new file mode 100644 index 0000000000..4dd53bd8eb --- /dev/null +++ b/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch @@ -0,0 +1,63 @@ +From d5028c10f156c224475b340cfb1ba025d6797243 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 2 Feb 2018 15:51:42 +0800 +Subject: [PATCH 3/7] Makefile.in/configure.in: support cross compiling + +While cross compiling, the tools/gen_test_char could not +be executed at build time, use AX_PROG_CC_FOR_BUILD to +build native tools/gen_test_char + +Upstream-Status: Submitted [https://github.com/apache/apr/pull/8] + +Signed-off-by: Hongxu Jia +--- + Makefile.in | 10 +++------- + configure.in | 3 +++ + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 5fb760e..8675f90 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -46,7 +46,7 @@ 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 \ ++ tools/gen_test_char.o \ + include/private/apr_escape_test_char.h + DISTCLEAN_TARGETS = config.cache config.log config.status \ + include/apr.h include/arch/unix/apr_private.h \ +@@ -131,13 +131,9 @@ check: $(TARGET_LIB) + etags: + etags `find . -name '*.[ch]'` + +-OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) +-tools/gen_test_char.lo: tools/gen_test_char.c ++tools/gen_test_char@EXEEXT@: tools/gen_test_char.c + $(APR_MKDIR) tools +- $(LT_COMPILE) +- +-tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) +- $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@ + + include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ + $(APR_MKDIR) include/private +diff --git a/configure.in b/configure.in +index 719f331..361120f 100644 +--- a/configure.in ++++ b/configure.in +@@ -183,6 +183,9 @@ dnl can only be used once within a configure script, so this prevents a + dnl preload section from invoking the macro to get compiler info. + AC_PROG_CC + ++dnl Check build CC for gen_test_char compiling which is executed at build time. ++AX_PROG_CC_FOR_BUILD ++ + dnl AC_PROG_SED is only avaliable in recent autoconf versions. + dnl Use AC_CHECK_PROG instead if AC_PROG_SED is not present. + ifdef([AC_PROG_SED], +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0004-Fix-packet-discards-HTTP-redirect.patch b/meta/recipes-support/apr/apr/0004-Fix-packet-discards-HTTP-redirect.patch new file mode 100644 index 0000000000..30fc07d4a0 --- /dev/null +++ b/meta/recipes-support/apr/apr/0004-Fix-packet-discards-HTTP-redirect.patch @@ -0,0 +1,39 @@ +From 7925eb1766a00ccee05c6e80b1d34f163a04b7b1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 30 Jan 2018 09:43:34 +0800 +Subject: [PATCH 4/7] Fix packet discards HTTP redirect. + +Disconnect the connection by poll() timeout. +If timeout=0 and apr_wait_for_io_or_timeout()=APR_TIMEUP then +apr_socket_recv() returns EAGAIN. + +Upstream-Status: Pending + +Signed-off-by: Noriaki Yoshitane +Signed-off-by: Li Wang + +Rebase to 1.6.3 + +Signed-off-by: Hongxu Jia +--- + network_io/unix/sendrecv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c +index 4c0e0a6..1bdafba 100644 +--- a/network_io/unix/sendrecv.c ++++ b/network_io/unix/sendrecv.c +@@ -85,6 +85,10 @@ apr_status_t apr_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len) + && (sock->timeout > 0)) { + do_select: + arv = apr_wait_for_io_or_timeout(NULL, sock, 1); ++ if ((arv == APR_TIMEUP) && (sock->timeout == 0)) { ++ *len = 0; ++ return EAGAIN; ++ } + if (arv != APR_SUCCESS) { + *len = 0; + return arv; +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch b/meta/recipes-support/apr/apr/0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch new file mode 100644 index 0000000000..02634e6fde --- /dev/null +++ b/meta/recipes-support/apr/apr/0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch @@ -0,0 +1,36 @@ +From 2e66cece0c3adff92733332111204ddc1d730a07 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Thu, 19 Nov 2015 18:25:38 -0800 +Subject: [PATCH 5/7] configure.in: fix LTFLAGS to make it work with ccache + +When ccache is enabled, libtool requires --tag=CC when use ccache, +otherwise when building apr-util with ccache enabled: + +| libtool: compile: unable to infer tagged configuration +| libtool: error: specify a tag with '--tag' +| libtool: compile: unable to infer tagged configuration +| make[1]: *** [buckets/apr_buckets.lo] Error 1 + +Upstream-Status: Pending + +Signed-off-by: Robert Yang +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index 361120f..3b10422 100644 +--- a/configure.in ++++ b/configure.in +@@ -249,7 +249,7 @@ case $host in + ;; + *) + if test "x$LTFLAGS" = "x"; then +- LTFLAGS='--silent' ++ LTFLAGS='--silent --tag=CC' + fi + if test "$experimental_libtool" = "yes"; then + # Use a custom-made libtool replacement +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch b/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch new file mode 100644 index 0000000000..5f5e7eac32 --- /dev/null +++ b/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch @@ -0,0 +1,78 @@ +From f4d6e45ed5d2ccffd1af4c2ccdf7099ba0dce137 Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Wed, 14 Dec 2016 18:13:08 +0800 +Subject: [PATCH 6/7] apr: fix off_t size doesn't match in glibc when cross + compiling + +In configure.in, it contains the following: + + APR_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) + +the macro "APR_CHECK_SIZEOF_EXTENDED" was defined in build/apr_common.m4, +it use the "AC_TRY_RUN" macro, this macro let the off_t to 8, when cross +compiling enable. + +So it was hardcoded for cross compiling, we should detect it dynamic based on +the sysroot's glibc. We change it to the following: + + AC_CHECK_SIZEOF(off_t) + +The same for the following hardcoded types for cross compiling: + + pid_t 8 + ssize_t 8 + size_t 8 + off_t 8 + +Change the above correspondingly. + +Signed-off-by: Dengke Du + +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 +@@ -1769,7 +1769,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"' +@@ -1838,7 +1838,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"]) + APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"]) + APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"]) + +-APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) ++AC_CHECK_SIZEOF(ssize_t) + + AC_MSG_CHECKING([which format to use for apr_ssize_t]) + if test -n "$ssize_t_fmt"; then +@@ -1855,7 +1855,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) + + AC_MSG_CHECKING([which format to use for apr_size_t]) + if test -n "$size_t_fmt"; then +@@ -1872,7 +1872,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 +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch b/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch new file mode 100644 index 0000000000..8760b0140c --- /dev/null +++ b/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch @@ -0,0 +1,50 @@ +From c6afc4a4a766478cb6aa6b43a50051881b6318d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 3 Mar 2017 22:24:17 +0100 +Subject: [PATCH 7/7] explicitly link libapr against phtread to make gold happy + on test +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_init' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_settype' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_destroy' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutex_trylock' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_attr_setstacksize' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_create' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_join' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_detach' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_sigmask' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_once' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_create' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_getspecific' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_delete' +| ../.libs/libapr-1.so: error: undefined reference to 'pthread_setspecific' +| collect2: error: ld returned 1 exit status +| Makefile:114: recipe for target 'globalmutexchild' failed +| make[1]: *** [globalmutexchild] Error 1 +| make[1]: Leaving directory '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/apr/1.5.2-r0/apr-1.5.2/test' + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + configure.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.in b/configure.in +index a227e72..cbc0f90 100644 +--- a/configure.in ++++ b/configure.in +@@ -784,6 +784,7 @@ else + APR_PTHREADS_CHECK_RESTORE ] ) + fi + if test "$pthreadh" = "1"; then ++ APR_ADDTO(LIBS,[-lpthread]) + APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS + APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG + APR_CHECK_PTHREAD_RECURSIVE_MUTEX +-- +1.8.3.1 + diff --git a/meta/recipes-support/apr/apr/Fix-packet-discards-HTTP-redirect.patch b/meta/recipes-support/apr/apr/Fix-packet-discards-HTTP-redirect.patch deleted file mode 100644 index 6805b8b6e2..0000000000 --- a/meta/recipes-support/apr/apr/Fix-packet-discards-HTTP-redirect.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix packet discards HTTP redirect. - -Disconnect the connection by poll() timeout. -If timeout=0 and apr_wait_for_io_or_timeout()=APR_TIMEUP then -apr_socket_recv() returns EAGAIN. - -Upstream-Status: Pending - -Signed-off-by: Noriaki Yoshitane -Signed-off-by: Li Wang ---- - network_io/unix/sendrecv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c -index c133a26..e8faf15 100644 ---- a/network_io/unix/sendrecv.c -+++ b/network_io/unix/sendrecv.c -@@ -85,6 +85,10 @@ apr_status_t apr_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len) - && (sock->timeout > 0)) { - do_select: - arv = apr_wait_for_io_or_timeout(NULL, sock, 1); -+ if ((arv == APR_TIMEUP) && (sock->timeout == 0)) { -+ *len = 0; -+ return EAGAIN; -+ } - if (arv != APR_SUCCESS) { - *len = 0; - return arv; --- -1.7.9.5 - diff --git a/meta/recipes-support/apr/apr/cleanup.patch b/meta/recipes-support/apr/apr/cleanup.patch deleted file mode 100644 index b6784e015d..0000000000 --- a/meta/recipes-support/apr/apr/cleanup.patch +++ /dev/null @@ -1,43 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: apr-1.4.2/build/buildcheck.sh -=================================================================== ---- apr-1.4.2.orig/build/buildcheck.sh 2009-11-13 08:27:16.000000000 +0800 -+++ apr-1.4.2/build/buildcheck.sh 2010-11-26 15:44:00.000000000 +0800 -@@ -32,35 +32,4 @@ - echo "buildconf: autoconf version $ac_version (ok)" - fi - --# Sample libtool --version outputs: --# ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11) --# ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a --# output is multiline from 1.5 onwards -- --# Require libtool 1.4 or newer --libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` --lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'` --if test -z "$lt_pversion"; then --echo "buildconf: libtool not found." --echo " You need libtool version 1.4 or newer installed" --echo " to build APR from SVN." --exit 1 --fi --lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'` --IFS=.; set $lt_version; IFS=' ' --lt_status="good" --if test "$1" = "1"; then -- if test "$2" -lt "4"; then -- lt_status="bad" -- fi --fi --if test $lt_status = "good"; then -- echo "buildconf: libtool version $lt_pversion (ok)" -- exit 0 --fi -- --echo "buildconf: libtool version $lt_pversion found." --echo " You need libtool version 1.4 or newer installed" --echo " to build APR from SVN." -- --exit 1 -+exit 0 diff --git a/meta/recipes-support/apr/apr/configfix.patch b/meta/recipes-support/apr/apr/configfix.patch deleted file mode 100644 index 605c4f632c..0000000000 --- a/meta/recipes-support/apr/apr/configfix.patch +++ /dev/null @@ -1,53 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: apr-1.3.3/apr-config.in -=================================================================== ---- apr-1.3.3.orig/apr-config.in 2009-01-12 15:16:31.000000000 +0000 -+++ apr-1.3.3/apr-config.in 2009-01-12 15:19:25.000000000 +0000 -@@ -152,14 +152,7 @@ - flags="$flags $LDFLAGS" - ;; - --includes) -- if test "$location" = "installed"; then - flags="$flags -I$includedir $EXTRA_INCLUDES" -- elif test "$location" = "source"; then -- flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" -- else -- # this is for VPATH builds -- flags="$flags -I$APR_BUILD_DIR/include -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" -- fi - ;; - --srcdir) - echo $APR_SOURCE_DIR -@@ -181,29 +167,14 @@ - exit 0 - ;; - --link-ld) -- if test "$location" = "installed"; then -- ### avoid using -L if libdir is a "standard" location like /usr/lib -- flags="$flags -L$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}" -- fi -+ flags="$flags -l${APR_LIBNAME}" - ;; - --link-libtool) - # If the LA_FILE exists where we think it should be, use it. If we're - # installed and the LA_FILE does not exist, assume to use -L/-l - # (the LA_FILE may not have been installed). If we're building ourselves, - # we'll assume that at some point the .la file be created. -- if test -f "$LA_FILE"; then -- flags="$flags $LA_FILE" -- elif test "$location" = "installed"; then -- ### avoid using -L if libdir is a "standard" location like /usr/lib -- # Since the user is specifying they are linking with libtool, we -- # *know* that -R will be recognized by libtool. -- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" -- else -- flags="$flags $LA_FILE" -- fi -+ flags="$flags -l${APR_LIBNAME}" - ;; - --shlib-path-var) - echo "$SHLIBPATH_VAR" diff --git a/meta/recipes-support/apr/apr/configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch b/meta/recipes-support/apr/apr/configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch deleted file mode 100644 index 7521eeb469..0000000000 --- a/meta/recipes-support/apr/apr/configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d439093aa07a486f559206ac9e5808a6a18218cd Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 19 Nov 2015 18:25:38 -0800 -Subject: [PATCH] configure.in: fix LTFLAGS to make it work with ccache - -When ccache is enabled, libtool requires --tag=CC when use ccache, -otherwise when building apr-util with ccache enabled: - -| libtool: compile: unable to infer tagged configuration -| libtool: error: specify a tag with '--tag' -| libtool: compile: unable to infer tagged configuration -| make[1]: *** [buckets/apr_buckets.lo] Error 1 - -Upstream-Status: Pending - -Signed-off-by: Robert Yang ---- - configure.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.in b/configure.in -index 5a4a988..9d57ae6 100644 ---- a/configure.in -+++ b/configure.in -@@ -246,7 +246,7 @@ case $host in - ;; - *) - if test "x$LTFLAGS" = "x"; then -- LTFLAGS='--silent' -+ LTFLAGS='--silent --tag=CC' - fi - if test "$experimental_libtool" = "yes"; then - # Use a custom-made libtool replacement --- -1.7.9.5 - diff --git a/meta/recipes-support/apr/apr/configure_fixes.patch b/meta/recipes-support/apr/apr/configure_fixes.patch deleted file mode 100644 index 0514000599..0000000000 --- a/meta/recipes-support/apr/apr/configure_fixes.patch +++ /dev/null @@ -1,68 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: apr-1.3.3/configure.in -=================================================================== ---- apr-1.3.3.orig/configure.in -+++ apr-1.3.3/configure.in -@@ -794,39 +794,6 @@ AC_CHECK_FUNCS([mmap munmap shm_open shm - create_area]) - - APR_CHECK_DEFINE(MAP_ANON, sys/mman.h) --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([ --#include --#include --#include --#ifdef HAVE_SYS_MMAN_H --#include --#endif -- int main() -- { -- int fd; -- void *m; -- fd = open("/dev/zero", O_RDWR); -- if (fd < 0) { -- return 1; -- } -- m = mmap(0, sizeof(void*), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -- if (m == (void *)-1) { /* aka MAP_FAILED */ -- return 2; -- } -- if (munmap(m, sizeof(void*)) < 0) { -- return 3; -- } -- return 0; -- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no]) -- -- AC_MSG_RESULT($ac_cv_file__dev_zero) --fi - - # Now we determine which one is our anonymous shmem preference. - haveshmgetanon="0" -@@ -1518,13 +1485,14 @@ else - bigendian=0 - fi - --APR_CHECK_SIZEOF_EXTENDED([#include --#include ],struct iovec,0) --if test "$ac_cv_sizeof_struct_iovec" = "0"; then -- have_iovec=0 --else -- have_iovec=1 --fi -+#APR_CHECK_SIZEOF_EXTENDED([#include -+##include ],struct iovec,0) -+#if test "$ac_cv_sizeof_struct_iovec" = "0"; then -+# have_iovec=0 -+#else -+# have_iovec=1 -+#fi -+have_iovec=1 - - AC_SUBST(voidp_size) - AC_SUBST(short_value) diff --git a/meta/recipes-support/apr/apr/upgrade-and-fix-1.5.1.patch b/meta/recipes-support/apr/apr/upgrade-and-fix-1.5.1.patch deleted file mode 100644 index 16499f5ac9..0000000000 --- a/meta/recipes-support/apr/apr/upgrade-and-fix-1.5.1.patch +++ /dev/null @@ -1,45 +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 $BUILD_CC. - -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 ---- - Makefile.in | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index a2a5194..5fe028f 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -46,7 +46,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 \ -@@ -129,13 +128,8 @@ check: $(TARGET_LIB) - etags: - etags `find . -name '*.[ch]'` - --OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) --tools/gen_test_char.lo: tools/gen_test_char.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 -+ $(BUILD_CC) $(CFLAGS_FOR_BUILD) $< -o $@ - - include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ - $(APR_MKDIR) include/private diff --git a/meta/recipes-support/apr/apr_1.6.2.bb b/meta/recipes-support/apr/apr_1.6.2.bb deleted file mode 100644 index e2eed53c9e..0000000000 --- a/meta/recipes-support/apr/apr_1.6.2.bb +++ /dev/null @@ -1,114 +0,0 @@ -SUMMARY = "Apache Portable Runtime (APR) library" -HOMEPAGE = "http://apr.apache.org/" -SECTION = "libs" -DEPENDS = "util-linux" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4dfd4cd216828c8cae5de5a12f3844c8 \ - file://include/apr_lib.h;endline=17;md5=ee42fa7575dc40580a9e01c1b75fae96" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ - file://configure_fixes.patch \ - file://cleanup.patch \ - file://configfix.patch \ - file://run-ptest \ - file://upgrade-and-fix-1.5.1.patch \ - file://Fix-packet-discards-HTTP-redirect.patch \ - file://configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \ - file://0001-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \ - file://0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ -" - -SRC_URI[md5sum] = "e81a851967c79b5ce9bfbc909e4bf735" -SRC_URI[sha256sum] = "09109cea377bab0028bba19a92b5b0e89603df9eab05c0f7dbd4dd83d48dcebd" - -inherit autotools-brokensep lib_package binconfig multilib_header ptest - -OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" - -# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 -CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" - -# Also suppress trying to use sctp. -# -CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no" - -# Otherwise libtool fails to compile apr-utils -# x86_64-linux-libtool: compile: unable to infer tagged configuration -# x86_64-linux-libtool: error: specify a tag with '--tag' -CCACHE = "" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -do_configure_prepend() { - # Avoid absolute paths for grep since it causes failures - # when using sstate between different hosts with different - # install paths for grep. - export GREP="grep" - - cd ${S} - ./buildconf -} - -FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*" -RDEPENDS_${PN}-dev += "bash" - -#for some reason, build/libtool.m4 handled by buildconf still be overwritten -#when autoconf, so handle it again. -do_configure_append() { - sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4 - sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk -} - -do_install_append() { - oe_multilib_header apr.h - install -d ${D}${datadir}/apr -} - -do_install_append_class-target() { - sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk - sed -i -e 's,${STAGING_DIR_HOST},,g' \ - -e 's,APR_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \ - -e 's,APR_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apr-1-config -} - -SSTATE_SCAN_FILES += "apr_rules.mk libtool" - -SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess" - -apr_sysroot_preprocess () { - d=${SYSROOT_DESTDIR}${datadir}/apr - install -d $d/ - cp ${S}/build/apr_rules.mk $d/ - sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk - sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk - sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk - sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk - cp ${S}/build/mkdir.sh $d/ - cp ${S}/build/make_exports.awk $d/ - cp ${S}/build/make_var_export.awk $d/ - cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool -} - -do_compile_ptest() { - cd ${S}/test - oe_runmake -} - -do_install_ptest() { - t=${D}${PTEST_PATH}/test - mkdir -p $t/.libs - cp -r ${S}/test/data $t/ - cp -r ${S}/test/.libs/*.so $t/.libs/ - cp ${S}/test/proc_child $t/ - cp ${S}/test/readchild $t/ - cp ${S}/test/sockchild $t/ - cp ${S}/test/sockperf $t/ - cp ${S}/test/testall $t/ - cp ${S}/test/tryread $t/ -} - -export CONFIG_SHELL="/bin/bash" diff --git a/meta/recipes-support/apr/apr_1.6.3.bb b/meta/recipes-support/apr/apr_1.6.3.bb new file mode 100644 index 0000000000..87b878723b --- /dev/null +++ b/meta/recipes-support/apr/apr_1.6.3.bb @@ -0,0 +1,117 @@ +SUMMARY = "Apache Portable Runtime (APR) library" +HOMEPAGE = "http://apr.apache.org/" +SECTION = "libs" +DEPENDS = "util-linux" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4dfd4cd216828c8cae5de5a12f3844c8 \ + file://include/apr_lib.h;endline=17;md5=ee42fa7575dc40580a9e01c1b75fae96" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ + file://run-ptest \ + file://0001-build-buildcheck.sh-improve-libtool-detection.patch \ + file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \ + file://0003-Makefile.in-configure.in-support-cross-compiling.patch \ + file://0004-Fix-packet-discards-HTTP-redirect.patch \ + file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \ + file://0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \ + file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ +" + +SRC_URI[md5sum] = "12f2a349483ad6f12db49ba01fbfdbfa" +SRC_URI[sha256sum] = "131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172" + +inherit autotools-brokensep lib_package binconfig multilib_header ptest + +OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" + +# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 +CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" + +# Also suppress trying to use sctp. +# +CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no" + +CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes" +CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes" + +# Otherwise libtool fails to compile apr-utils +# x86_64-linux-libtool: compile: unable to infer tagged configuration +# x86_64-linux-libtool: error: specify a tag with '--tag' +CCACHE = "" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +do_configure_prepend() { + # Avoid absolute paths for grep since it causes failures + # when using sstate between different hosts with different + # install paths for grep. + export GREP="grep" + + cd ${S} + libtool='${HOST_SYS}-libtool' ./buildconf +} + +FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*" +RDEPENDS_${PN}-dev += "bash" + +#for some reason, build/libtool.m4 handled by buildconf still be overwritten +#when autoconf, so handle it again. +do_configure_append() { + sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4 + sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk +} + +do_install_append() { + oe_multilib_header apr.h + install -d ${D}${datadir}/apr +} + +do_install_append_class-target() { + sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \ + -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk + sed -i -e 's,${STAGING_DIR_HOST},,g' \ + -e 's,APR_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \ + -e 's,APR_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apr-1-config +} + +SSTATE_SCAN_FILES += "apr_rules.mk libtool" + +SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess" + +apr_sysroot_preprocess () { + d=${SYSROOT_DESTDIR}${datadir}/apr + install -d $d/ + cp ${S}/build/apr_rules.mk $d/ + sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk + sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk + sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk + sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk + cp ${S}/build/mkdir.sh $d/ + cp ${S}/build/make_exports.awk $d/ + cp ${S}/build/make_var_export.awk $d/ + cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool +} + +do_compile_ptest() { + cd ${S}/test + oe_runmake +} + +do_install_ptest() { + t=${D}${PTEST_PATH}/test + mkdir -p $t/.libs + cp -r ${S}/test/data $t/ + cp -r ${S}/test/.libs/*.so $t/.libs/ + cp ${S}/test/proc_child $t/ + cp ${S}/test/readchild $t/ + cp ${S}/test/sockchild $t/ + cp ${S}/test/sockperf $t/ + cp ${S}/test/testall $t/ + cp ${S}/test/tryread $t/ +} + +export CONFIG_SHELL="/bin/bash" -- cgit 1.2.3-korg