From ea5b746e58d0f0b6b13aec35c1b37c4ed3bf9b80 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Wed, 15 Jan 2020 19:27:17 +0100 Subject: [PATCH] apr-util: prevent recursive linking 004-avoid_ldap_by_defaut.patch: By default use --avoid-ldap since apache2 is the only user, and we don't want to add extra dependencies to other apr-utils rdepends. Patch from Ryan Niebur , copied from Debian. 005-apu_config_dont_list_indep_libs.patch: Prevent recursive linking of dependent libraries by apr-util users. Patch from Peter Samuelson , also copied from Debian. Makes libexpat and libiconv private. 006-avoid_db_by-default.patch: Make apu-config not output dbm libs by default. See Debian #622081. Patch from Stefan Fritsch , also copied from Debian While bumping the revision also correct license information. Signed-off-by: Sebastian Kemper --- libs/apr-util/Makefile | 7 ++-- .../patches/004-avoid_ldap_by_defaut.patch | 34 ++++++++++++++++++ .../005-apu_config_dont_list_indep_libs.patch | 31 ++++++++++++++++ .../patches/006-avoid_db_by-default.patch | 35 +++++++++++++++++++ 4 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 libs/apr-util/patches/004-avoid_ldap_by_defaut.patch create mode 100644 libs/apr-util/patches/005-apu_config_dont_list_indep_libs.patch create mode 100644 libs/apr-util/patches/006-avoid_db_by-default.patch diff --git a/libs/apr-util/Makefile b/libs/apr-util/Makefile index e948c98bd..d0efff1a4 100644 --- a/libs/apr-util/Makefile +++ b/libs/apr-util/Makefile @@ -9,14 +9,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apr-util PKG_VERSION:=1.6.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@APACHE/apr/ PKG_HASH:=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b PKG_MAINTAINER:=Thomas Heil , \ Sebastian Kemper -PKG_LICENSE:=Apache License + +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE + PKG_CPE_ID:=cpe:/a:apache:apr-util PKG_BUILD_PARALLEL:=1 diff --git a/libs/apr-util/patches/004-avoid_ldap_by_defaut.patch b/libs/apr-util/patches/004-avoid_ldap_by_defaut.patch new file mode 100644 index 000000000..a086f2e41 --- /dev/null +++ b/libs/apr-util/patches/004-avoid_ldap_by_defaut.patch @@ -0,0 +1,34 @@ +From: Ryan Niebur +Subject: by default --avoid-ldap since apache2 is the only user, and we don't + want to add extra dependencies to other apr-utils rdepends + +--- a/apu-config.in ++++ b/apu-config.in +@@ -30,7 +30,8 @@ includedir="@includedir@" + LIBS="@APRUTIL_EXPORT_LIBS@" + INCLUDES="@APRUTIL_INCLUDES@" + LDFLAGS="@APRUTIL_LDFLAGS@" +-LDAP_LIBS="@LDADD_ldap@" ++ORIG_LDAP_LIBS="@LDADD_ldap@" ++LDAP_LIBS="" + DBM_LIBS="@LDADD_dbm_db@ @LDADD_dbm_gdbm@ @LDADD_dbm_ndbm@" + + APRUTIL_LIBNAME="@APRUTIL_LIBNAME@" +@@ -55,7 +56,7 @@ Known values for OPTION are: + --includedir print location where headers are installed + --ldflags print linker flags + --libs print library information +- --avoid-ldap do not include ldap library information with --libs ++ --avoid-ldap do not include ldap library information with --libs (default on OpenWrt) + --ldap-libs print library information to link with ldap + --avoid-dbm do not include DBM library information with --libs + --dbm-libs print additional library information to link with DBM +@@ -121,7 +122,7 @@ while test $# -gt 0; do + flags="$flags $LDAP_LIBS $DBM_LIBS $LIBS" + ;; + --ldap-libs) +- flags="$flags $LDAP_LIBS" ++ flags="$flags $ORIG_LDAP_LIBS" + ;; + --dbm-libs) + flags="$flags $DBM_LIBS" diff --git a/libs/apr-util/patches/005-apu_config_dont_list_indep_libs.patch b/libs/apr-util/patches/005-apu_config_dont_list_indep_libs.patch new file mode 100644 index 000000000..7f4b5653f --- /dev/null +++ b/libs/apr-util/patches/005-apu_config_dont_list_indep_libs.patch @@ -0,0 +1,31 @@ +From: Peter Samuelson +Subject: Prevent recursive linking of dependent libraries by apr-util users. + +--- + apr-util.pc.in | 5 +++-- + apu-config.in | 2 +- + 2 files changed, 4 insertions(+), 3 deletions(-) + +--- a/apr-util.pc.in ++++ b/apr-util.pc.in +@@ -8,6 +8,7 @@ Name: APR Utils + Description: Companion library for APR + Version: @APRUTIL_DOTTED_VERSION@ + # assume that apr-util requires libapr of same major version +-Requires: apr-@APRUTIL_MAJOR_VERSION@ +-Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@ @APRUTIL_EXPORT_LIBS@ ++Requires.private: apr-@APRUTIL_MAJOR_VERSION@ ++Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@ ++Libs.private: @APRUTIL_EXPORT_LIBS@ + Cflags: -I${includedir} +--- a/apu-config.in ++++ b/apu-config.in +@@ -27,7 +27,7 @@ bindir="@bindir@" + libdir="@libdir@" + includedir="@includedir@" + +-LIBS="@APRUTIL_EXPORT_LIBS@" ++LIBS= + INCLUDES="@APRUTIL_INCLUDES@" + LDFLAGS="@APRUTIL_LDFLAGS@" + ORIG_LDAP_LIBS="@LDADD_ldap@" diff --git a/libs/apr-util/patches/006-avoid_db_by-default.patch b/libs/apr-util/patches/006-avoid_db_by-default.patch new file mode 100644 index 000000000..033bbbf7b --- /dev/null +++ b/libs/apr-util/patches/006-avoid_db_by-default.patch @@ -0,0 +1,35 @@ +From: Stefan Fritsch +Subject: Make apu-config not output dbm libs by default. See #622081 + +--- a/apu-config.in ++++ b/apu-config.in +@@ -32,7 +32,8 @@ INCLUDES="@APRUTIL_INCLUDES@" + LDFLAGS="@APRUTIL_LDFLAGS@" + ORIG_LDAP_LIBS="@LDADD_ldap@" + LDAP_LIBS="" +-DBM_LIBS="@LDADD_dbm_db@ @LDADD_dbm_gdbm@ @LDADD_dbm_ndbm@" ++ORIG_DBM_LIBS="@LDADD_dbm_db@ @LDADD_dbm_gdbm@ @LDADD_dbm_ndbm@" ++DBM_LIBS="" + + APRUTIL_LIBNAME="@APRUTIL_LIBNAME@" + +@@ -58,8 +59,8 @@ Known values for OPTION are: + --libs print library information + --avoid-ldap do not include ldap library information with --libs (default on OpenWrt) + --ldap-libs print library information to link with ldap +- --avoid-dbm do not include DBM library information with --libs +- --dbm-libs print additional library information to link with DBM ++ --avoid-dbm do not include DBM library information with --libs (default on OpenWrt) ++ --dbm-libs print library information to link with DBM + --srcdir print APR-util source directory + --link-ld print link switch(es) for linking to APR-util + --link-libtool print the libtool inputs for linking to APR-util +@@ -125,7 +126,7 @@ while test $# -gt 0; do + flags="$flags $ORIG_LDAP_LIBS" + ;; + --dbm-libs) +- flags="$flags $DBM_LIBS" ++ flags="$flags $ORIG_DBM_LIBS" + ;; + --includedir) + if test "$location" = "installed"; then