mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
apr-util: sync with master
This is a squash of the following cherry-picked commits:27c472393603124bf4b4141bd5531640c7e952101d25dcde24ea5b746e58a62c0e599ba16b294805c24f5d258bf6c218e74dShort summary: - adds external modules (crypto-openssl dbd-mysql dbd-odbc dbd-pgsql dbd-sqlite3 dbm-gdbm ldap) - Makefile and patches are updated and cleaned - adds myself as maintainer - improves the cross-compile setup (via configure variables sed scripts) For more details please check the individual commits provided above. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
@@ -1,21 +0,0 @@
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -8,6 +8,7 @@ APRUTIL_MAJOR_VERSION=@APRUTIL_MAJOR_VER
|
||||
APRUTIL_DOTTED_VERSION=@APRUTIL_DOTTED_VERSION@
|
||||
|
||||
srcdir = @srcdir@
|
||||
+top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
INCLUDES = @APRUTIL_PRIV_INCLUDES@ @APR_INCLUDES@ @APRUTIL_INCLUDES@
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -41,6 +41,8 @@ AC_SUBST(APU_CONFIG_LOCATION)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
AC_PROG_INSTALL
|
||||
+AC_PROG_LIBTOOL
|
||||
+LT_INIT
|
||||
|
||||
# Use -no-install or -no-fast-install to link the test
|
||||
# programs on all platforms but Darwin, where it would cause
|
||||
@@ -0,0 +1,79 @@
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889170
|
||||
# needs to be submitted upstream
|
||||
--- apr-util.orig/dbm/apr_dbm_gdbm.c
|
||||
+++ apr-util/dbm/apr_dbm_gdbm.c
|
||||
@@ -36,13 +36,22 @@
|
||||
static apr_status_t g2s(int gerr)
|
||||
{
|
||||
if (gerr == -1) {
|
||||
- /* ### need to fix this */
|
||||
- return APR_EGENERAL;
|
||||
+ return APR_OS_START_USEERR + gdbm_errno;
|
||||
}
|
||||
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
|
||||
+static apr_status_t gdat2s(datum d)
|
||||
+{
|
||||
+ if (d.dptr == NULL) {
|
||||
+ return APR_OS_START_USEERR + gdbm_errno;
|
||||
+ }
|
||||
+
|
||||
+ return APR_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static apr_status_t datum_cleanup(void *dptr)
|
||||
{
|
||||
if (dptr)
|
||||
@@ -55,19 +64,15 @@ static apr_status_t set_error(apr_dbm_t
|
||||
{
|
||||
apr_status_t rv = APR_SUCCESS;
|
||||
|
||||
- /* ### ignore whatever the DBM said (dbm_said); ask it explicitly */
|
||||
-
|
||||
- if ((dbm->errcode = gdbm_errno) == GDBM_NO_ERROR) {
|
||||
+ if (dbm_said == APR_SUCCESS) {
|
||||
+ dbm->errcode = GDBM_NO_ERROR;
|
||||
dbm->errmsg = NULL;
|
||||
}
|
||||
else {
|
||||
+ dbm->errcode = dbm_said;
|
||||
dbm->errmsg = gdbm_strerror(gdbm_errno);
|
||||
- rv = APR_EGENERAL; /* ### need something better */
|
||||
}
|
||||
|
||||
- /* captured it. clear it now. */
|
||||
- gdbm_errno = GDBM_NO_ERROR;
|
||||
-
|
||||
return rv;
|
||||
}
|
||||
|
||||
@@ -144,7 +149,7 @@ static apr_status_t vt_gdbm_fetch(apr_db
|
||||
|
||||
/* store the error info into DBM, and return a status code. Also, note
|
||||
that *pvalue should have been cleared on error. */
|
||||
- return set_error(dbm, APR_SUCCESS);
|
||||
+ return set_error(dbm, gdat2s(rd));
|
||||
}
|
||||
|
||||
static apr_status_t vt_gdbm_store(apr_dbm_t *dbm, apr_datum_t key,
|
||||
@@ -203,7 +208,7 @@ static apr_status_t vt_gdbm_firstkey(apr
|
||||
apr_pool_cleanup_null);
|
||||
|
||||
/* store any error info into DBM, and return a status code. */
|
||||
- return set_error(dbm, APR_SUCCESS);
|
||||
+ return set_error(dbm, gdat2s(rd));
|
||||
}
|
||||
|
||||
static apr_status_t vt_gdbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey)
|
||||
@@ -223,7 +228,7 @@ static apr_status_t vt_gdbm_nextkey(apr_
|
||||
apr_pool_cleanup_null);
|
||||
|
||||
/* store any error info into DBM, and return a status code. */
|
||||
- return set_error(dbm, APR_SUCCESS);
|
||||
+ return set_error(dbm, gdat2s(rd));
|
||||
}
|
||||
|
||||
static void vt_gdbm_freedatum(apr_dbm_t *dbm, apr_datum_t data)
|
||||
@@ -0,0 +1,125 @@
|
||||
# patch by Kris Karas fom
|
||||
# https://bz.apache.org/bugzilla/attachment.cgi?id=35326&action=diff
|
||||
--- a/build/dbd.m4
|
||||
+++ b/build/dbd.m4
|
||||
@@ -163,10 +163,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
|
||||
old_cppflags="$CPPFLAGS"
|
||||
old_ldflags="$LDFLAGS"
|
||||
|
||||
+ my_library="mysqlclient"
|
||||
+
|
||||
AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]),
|
||||
[
|
||||
if test "$withval" = "yes"; then
|
||||
AC_PATH_PROG([MYSQL_CONFIG],[mysql_config])
|
||||
+ if test "x$MYSQL_CONFIG" = "x"; then
|
||||
+ AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config])
|
||||
+ fi
|
||||
if test "x$MYSQL_CONFIG" != 'x'; then
|
||||
mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
|
||||
mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
|
||||
@@ -174,32 +179,40 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
|
||||
|
||||
APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
|
||||
APR_ADDTO(LIBS, [$mysql_LIBS])
|
||||
+
|
||||
+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
|
||||
+ my_library="mariadb"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
|
||||
- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
|
||||
- [apu_have_mysql=0; break],
|
||||
- [#include <my_global.h>])
|
||||
- if test "$apu_have_mysql" = "0"; then
|
||||
- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
|
||||
- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
|
||||
- [apu_have_mysql=0; break],
|
||||
- [#include <mysql/my_global.h>])
|
||||
+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
|
||||
+ if test "$apr_have_mysql" = "0"; then
|
||||
+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
|
||||
fi
|
||||
- if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then
|
||||
- APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
|
||||
+ if test "$apr_have_mysql" = "1"; then
|
||||
+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
|
||||
+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
|
||||
+ fi
|
||||
+ if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then
|
||||
+ APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
|
||||
fi
|
||||
elif test "$withval" = "no"; then
|
||||
:
|
||||
else
|
||||
AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin])
|
||||
+ if test "x$MYSQL_CONFIG" = "x"; then
|
||||
+ AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config],,[$withval/bin])
|
||||
+ fi
|
||||
if test "x$MYSQL_CONFIG" != 'x'; then
|
||||
- mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
|
||||
- mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
|
||||
- mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
|
||||
+ mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
|
||||
+ mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
|
||||
+ mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
|
||||
+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
|
||||
+ my_library="mariadb"
|
||||
+ fi
|
||||
else
|
||||
- mysql_CPPFLAGS="-I$withval/include"
|
||||
- mysql_LDFLAGS="-L$withval/lib "
|
||||
+ mysql_CPPFLAGS="-I$withval/include"
|
||||
+ mysql_LDFLAGS="-L$withval/lib "
|
||||
fi
|
||||
|
||||
APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
|
||||
@@ -207,18 +220,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
|
||||
APR_ADDTO(LIBS, [$mysql_LIBS])
|
||||
|
||||
AC_MSG_NOTICE(checking for mysql in $withval)
|
||||
- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
|
||||
- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
|
||||
- [apu_have_mysql=0; break],
|
||||
- [#include <my_global.h>])
|
||||
-
|
||||
- if test "$apu_have_mysql" != "1"; then
|
||||
- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
|
||||
- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
|
||||
- [apu_have_mysql=0; break],
|
||||
- [#include <mysql/my_global.h>])
|
||||
+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
|
||||
+ if test "$apr_have_mysql" = "0"; then
|
||||
+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
|
||||
+ fi
|
||||
+ if test "$apr_have_mysql" = "1"; then
|
||||
+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
|
||||
+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
|
||||
fi
|
||||
- if test "$apu_have_mysql" != "0"; then
|
||||
+ if test "$apu_have_mysql" = "1"; then
|
||||
APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
|
||||
fi
|
||||
fi
|
||||
@@ -229,7 +239,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
|
||||
dnl Since we have already done the AC_CHECK_LIB tests, if we have it,
|
||||
dnl we know the library is there.
|
||||
if test "$apu_have_mysql" = "1"; then
|
||||
- APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS])
|
||||
+ APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS])
|
||||
fi
|
||||
AC_SUBST(LDADD_dbd_mysql)
|
||||
|
||||
--- a/dbd/apr_dbd_mysql.c
|
||||
+++ b/dbd/apr_dbd_mysql.c
|
||||
@@ -1262,7 +1262,9 @@ static apr_status_t thread_end(void *dat
|
||||
|
||||
static void dbd_mysql_init(apr_pool_t *pool)
|
||||
{
|
||||
+#if MYSQL_VERSION_ID < 100000
|
||||
my_init();
|
||||
+#endif
|
||||
mysql_thread_init();
|
||||
|
||||
/* FIXME: this is a guess; find out what it really does */
|
||||
@@ -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"
|
||||
@@ -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@"
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user