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 <ryanryan52@gmail.com>, 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 <peter@p12n.org>, 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 <sf@debian.org>, also copied from Debian

While bumping the revision also correct license information.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper 2020-01-15 19:27:17 +01:00
parent e899347ed6
commit ea5b746e58
4 changed files with 105 additions and 2 deletions

View File

@ -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 <heil@terminal-consulting.de>, \
Sebastian Kemper <sebastian_ml@gmx.net>
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

View File

@ -0,0 +1,34 @@
From: Ryan Niebur <ryanryan52@gmail.com>
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"

View File

@ -0,0 +1,31 @@
From: Peter Samuelson <peter@p12n.org>
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@"

View File

@ -0,0 +1,35 @@
From: Stefan Fritsch <sf@debian.org>
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