- add rewrite of expat autoconf code (upstream r493791)
- fix build for new glibc open()-as-macro - split out sqlite subpackage
This commit is contained in:
parent
655205d52a
commit
f0504e9704
294
apr-util-1.2.8-autoexpat.patch
Normal file
294
apr-util-1.2.8-autoexpat.patch
Normal file
@ -0,0 +1,294 @@
|
||||
--- apr-util-1.2.8/xml/apr_xml.c.autoexpat
|
||||
+++ apr-util-1.2.8/xml/apr_xml.c
|
||||
@@ -25,10 +25,14 @@
|
||||
|
||||
#include "apu_config.h"
|
||||
|
||||
-#ifdef APR_HAVE_OLD_EXPAT
|
||||
-#include "xmlparse.h"
|
||||
+#if defined(HAVE_XMLPARSE_XMLPARSE_H)
|
||||
+#include <xmlparse/xmlparse.h>
|
||||
+#elif defined(HAVE_XMLTOK_XMLPARSE_H)
|
||||
+#include <xmltok/xmlparse.h>
|
||||
+#elif defined(HAVE_XML_XMLPARSE_H)
|
||||
+#include <xml/xmlparse.h>
|
||||
#else
|
||||
-#include "expat.h"
|
||||
+#include <expat.h>
|
||||
#endif
|
||||
|
||||
#define DEBUG_CR "\r\n"
|
||||
--- apr-util-1.2.8/build/apu-conf.m4.autoexpat
|
||||
+++ apr-util-1.2.8/build/apu-conf.m4
|
||||
@@ -46,92 +46,75 @@
|
||||
AC_SUBST(APR_BUILD_DIR)
|
||||
])
|
||||
|
||||
-
|
||||
-dnl
|
||||
-dnl APU_TEST_EXPAT(directory): test if Expat is located in the specified dir
|
||||
dnl
|
||||
-dnl if present: sets expat_include_dir, expat_libs, possibly expat_old
|
||||
+dnl APU_TRY_EXPAT_LINK(
|
||||
+dnl test-message, cache-var-name, hdrs, libs,
|
||||
+dnl [actions-on-success], [actions-on-failure])
|
||||
+dnl
|
||||
+dnl Tests linking against expat with libraries 'libs' and includes
|
||||
+dnl 'hdrs', passing message + cache-var-name to AC_CACHE_CHECK.
|
||||
+dnl On success, sets $expat_libs to libs, sets $apu_have_expat to 1,
|
||||
+dnl and runs actions-on-success; on failure runs actions-on-failure.
|
||||
+dnl
|
||||
+AC_DEFUN([APU_TRY_EXPAT_LINK], [
|
||||
+AC_CACHE_CHECK([$1], [$2], [
|
||||
+ apu_expat_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $4"
|
||||
+ AC_TRY_LINK([#include <stdlib.h>
|
||||
+#include <$3>], [XML_ParserCreate(NULL);],
|
||||
+ [$2=yes], [$2=no])
|
||||
+ LIBS=$apu_expat_LIBS
|
||||
+])
|
||||
+
|
||||
+if test $[$2] = yes; then
|
||||
+ AC_DEFINE([HAVE_]translit([$3], [a-z./], [A-Z__]), 1,
|
||||
+ [Define if $3 is available])
|
||||
+ apu_expat_libs="$4"
|
||||
+ apu_has_expat=1
|
||||
+ $5
|
||||
+else
|
||||
+ apu_has_expat=0
|
||||
+ $6
|
||||
+fi
|
||||
+])
|
||||
+
|
||||
dnl
|
||||
-AC_DEFUN([APU_TEST_EXPAT], [
|
||||
- AC_MSG_CHECKING(for Expat in ifelse($2,,$1,$2))
|
||||
+dnl APU_SYSTEM_EXPAT: tests for a system expat installation
|
||||
+dnl If present, sets $apu_has_expat to 1 and adjusts LDFLAGS/CPPFLAGS
|
||||
+dnl appropriately. This is mostly for compatibility with existing
|
||||
+dnl expat releases; all but the first APU_TRY_EXPAT_LINK call could
|
||||
+dnl be dropped later.
|
||||
+dnl
|
||||
+AC_DEFUN([APU_SYSTEM_EXPAT], [
|
||||
+
|
||||
+ APU_TRY_EXPAT_LINK([Expat 1.95.x], apu_cv_expat_system,
|
||||
+ [expat.h], [-lexpat])
|
||||
+
|
||||
+ if test $apu_has_expat = 0; then
|
||||
+ APU_TRY_EXPAT_LINK([old Debian-packaged expat], apu_cv_expat_debian,
|
||||
+ [xmltok/xmlparse.h], [-lxmlparse -lxmltok])
|
||||
+ fi
|
||||
|
||||
- expat_libtool=""
|
||||
+ if test $apu_has_expat = 0; then
|
||||
+ APU_TRY_EXPAT_LINK([old FreeBSD-packaged expat], apu_cv_expat_freebsd,
|
||||
+ [xml/xmlparse.h], [-lexpat])
|
||||
+ fi
|
||||
|
||||
- if test -r "$1/lib/expat.h.in"; then
|
||||
- dnl Expat 1.95.* distribution
|
||||
- expat_include_dir="$1/lib"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool="$1/lib/libexpat.la"
|
||||
- elif test -r "$1/include/expat.h" -a \
|
||||
- -r "$1/lib/libexpat.la"; then
|
||||
- dnl Expat 1.95.* installation (with libtool)
|
||||
- expat_include_dir="$1/include"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool="$1/lib/libexpat.la"
|
||||
- elif test -r "$1/include/expat.h" -a \
|
||||
- -r "$1/lib64/libexpat.la"; then
|
||||
- dnl Expat 1.95.* installation on certain 64-bit platforms (with libtool)
|
||||
- expat_include_dir="$1/include"
|
||||
- expat_ldflags="-L$1/lib64"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool="$1/lib64/libexpat.la"
|
||||
- elif test -r "$1/include/expat.h" -a \
|
||||
- -r "$1/lib/libexpat.a"; then
|
||||
- dnl Expat 1.95.* installation (without libtool)
|
||||
- dnl FreeBSD textproc/expat2
|
||||
- expat_include_dir="$1/include"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- elif test -r "$1/xmlparse.h"; then
|
||||
- dnl maybe an expat-lite. use this dir for both includes and libs
|
||||
- expat_include_dir="$1"
|
||||
- expat_ldflags="-L$1"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool="$1/libexpat.la"
|
||||
- expat_old=yes
|
||||
- elif test -r "$1/include/xmlparse.h" -a \
|
||||
- -r "$1/lib/libexpat.a"; then
|
||||
- dnl previously installed expat
|
||||
- expat_include_dir="$1/include"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_old=yes
|
||||
- elif test -r "$1/include/xml/xmlparse.h" -a \
|
||||
- -r "$1/lib/xml/libexpat.a"; then
|
||||
- dnl previously installed expat
|
||||
- expat_include_dir="$1/include/xml"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_old=yes
|
||||
- elif test -r "$1/include/xmltok/xmlparse.h"; then
|
||||
- dnl Debian distribution
|
||||
- expat_include_dir="$1/include/xmltok"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lxmlparse -lxmltok"
|
||||
- expat_old=yes
|
||||
- elif test -r "$1/include/xml/xmlparse.h" -a \
|
||||
- -r "$1/lib/libexpat.a"; then
|
||||
- dnl FreeBSD textproc/expat package
|
||||
- expat_include_dir="$1/include/xml"
|
||||
- expat_ldflags="-L$1/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_old=yes
|
||||
- elif test -r "$1/xmlparse/xmlparse.h"; then
|
||||
- dnl Expat 1.0 or 1.1 source directory
|
||||
- expat_include_dir="$1/xmlparse"
|
||||
- expat_ldflags="-L$1"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_old=yes
|
||||
+ if test $apu_has_expat = 0; then
|
||||
+ APU_TRY_EXPAT_LINK([Expat 1.0/1.1], apu_cv_expat_1011,
|
||||
+ [xmlparse/xmlparse.h], [-lexpat])
|
||||
fi
|
||||
- dnl ### test for installed Expat 1.95.* distros
|
||||
|
||||
- if test -n "$expat_include_dir"; then
|
||||
- dnl ### more info about what we found there? version? using .la?
|
||||
- AC_MSG_RESULT(yes)
|
||||
- else
|
||||
- AC_MSG_RESULT(no)
|
||||
+ if test $apu_has_expat = 0; then
|
||||
+ APR_ADDTO(LDFLAGS, [-L/usr/local/lib])
|
||||
+ APR_ADDTO(CPPFLAGS, [-I/usr/local/include])
|
||||
+
|
||||
+ APU_TRY_EXPAT_LINK([Expat 1.95.x in /usr/local],
|
||||
+ apu_cv_expat_usrlocal, [expat.h], [-lexpat],
|
||||
+ [APR_ADDTO(APRUTIL_INCLUDES, [-I/usr/local/include])],[
|
||||
+ APR_REMOVEFROM(LDFLAGS, [-L/usr/local/lib])
|
||||
+ APR_REMOVEFROM(CPPFLAGS, [-I/usr/local/include])
|
||||
+ ])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -141,90 +124,51 @@
|
||||
dnl
|
||||
AC_DEFUN([APU_FIND_EXPAT], [
|
||||
|
||||
+apu_has_expat=0
|
||||
+
|
||||
+# Default: will use either external or bundled expat.
|
||||
+apu_try_external_expat=1
|
||||
+apu_try_builtin_expat=1
|
||||
+
|
||||
AC_ARG_WITH([expat],
|
||||
-[ --with-expat=DIR specify Expat location or 'builtin'], [
|
||||
+[ --with-expat=DIR specify Expat location, or 'builtin'], [
|
||||
if test "$withval" = "yes"; then
|
||||
AC_MSG_ERROR([a directory must be specified for --with-expat])
|
||||
elif test "$withval" = "no"; then
|
||||
AC_MSG_ERROR([Expat cannot be disabled (at this time)])
|
||||
elif test "$withval" = "builtin"; then
|
||||
- abs_expatdir="`cd $srcdir/xml/expat && pwd`"
|
||||
- if test -d $abs_expatdir/. -a ! -d xml/expat/.; then
|
||||
- $mkdir_p xml/expat
|
||||
- fi
|
||||
- APU_TEST_EXPAT($abs_expatdir, xml/expat)
|
||||
+ apu_try_external_expat=0
|
||||
else
|
||||
- abs_expatdir="`cd $withval && pwd`"
|
||||
- APU_TEST_EXPAT($abs_expatdir, $withval)
|
||||
- if test -z "$expat_include_dir"; then
|
||||
- AC_MSG_ERROR([Expat was not found (or recognized) in \"$withval\"])
|
||||
+ # Add given path to standard search paths if appropriate:
|
||||
+ if test "$withval" != "/usr"; then
|
||||
+ APR_ADDTO(LDFLAGS, [-L$withval/lib])
|
||||
+ APR_ADDTO(CPPFLAGS, [-I$withval/include])
|
||||
+ APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include])
|
||||
fi
|
||||
+ # ...and refuse to fall back on the builtin expat.
|
||||
+ apu_try_builtin_expat=0
|
||||
fi
|
||||
])
|
||||
|
||||
-if test -z "$expat_include_dir"; then
|
||||
- for d in /usr /usr/local xml/expat-cvs xml/expat $srcdir/xml/expat ; do
|
||||
- APU_TEST_EXPAT($d)
|
||||
- if test -n "$expat_include_dir"; then
|
||||
- dnl For /usr installs of expat, we can't specify -L/usr/lib
|
||||
- if test "$d" = "/usr"; then
|
||||
- expat_ldflags=""
|
||||
- fi
|
||||
- break
|
||||
- fi
|
||||
- done
|
||||
-fi
|
||||
-if test -z "$expat_include_dir"; then
|
||||
- AC_MSG_ERROR([could not locate Expat. use --with-expat])
|
||||
-fi
|
||||
-
|
||||
-dnl If this expat doesn't use libtool natively, we'll mimic it for our
|
||||
-dnl dependency library generation.
|
||||
-if test -z "$expat_libtool"; then
|
||||
- expat_libtool="$expat_ldflags $expat_libs"
|
||||
+if test $apu_try_external_expat = 1; then
|
||||
+ APU_SYSTEM_EXPAT
|
||||
fi
|
||||
|
||||
-if test -n "$expat_old"; then
|
||||
- AC_DEFINE(APR_HAVE_OLD_EXPAT, 1, [define if Expat 1.0 or 1.1 was found])
|
||||
-fi
|
||||
-
|
||||
-dnl special-case the bundled distribution (use absolute dirs)
|
||||
-if test "$expat_include_dir" = "xml/expat/lib" -o "$expat_include_dir" = "xml/expat-cvs/lib"; then
|
||||
- bundled_subdir="`echo $expat_include_dir | sed -e 's%/lib%%'`"
|
||||
- APR_SUBDIR_CONFIG($bundled_subdir, [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
|
||||
- expat_include_dir=$top_builddir/$bundled_subdir/lib
|
||||
- expat_ldflags="-L$top_builddir/$bundled_subdir/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool=$top_builddir/$bundled_subdir/lib/libexpat.la
|
||||
- APR_XML_SUBDIRS="`echo $bundled_subdir | sed -e 's%xml/%%'`"
|
||||
- APR_ADDTO(APRUTIL_EXPORT_LIBS, [$expat_libtool])
|
||||
-else
|
||||
-if test "$expat_include_dir" = "$abs_srcdir/xml/expat/include" -o "$expat_include_dir" = "$abs_srcdir/xml/expat/lib"; then
|
||||
+if test "${apu_has_expat}${apu_try_builtin_expat}" = "01"; then
|
||||
dnl This is a bit of a hack. This only works because we know that
|
||||
dnl we are working with the bundled version of the software.
|
||||
bundled_subdir="xml/expat"
|
||||
APR_SUBDIR_CONFIG($bundled_subdir, [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
|
||||
- expat_include_dir=$top_builddir/$bundled_subdir/lib
|
||||
- expat_ldflags="-L$top_builddir/$bundled_subdir/lib"
|
||||
- expat_libs="-lexpat"
|
||||
- expat_libtool=$top_builddir/$bundled_subdir/lib/libexpat.la
|
||||
- APR_XML_SUBDIRS="`echo $bundled_subdir | sed -e 's%xml/%%'`"
|
||||
- APR_ADDTO(APRUTIL_EXPORT_LIBS, [$expat_libtool])
|
||||
-else
|
||||
- APR_ADDTO(APRUTIL_EXPORT_LIBS, [$expat_libs])
|
||||
-fi
|
||||
+ APR_ADDTO(APRUTIL_INCLUDES, [-I$top_builddir/$bundled_subdir/lib])
|
||||
+ APR_ADDTO(LDFLAGS, [-L$top_builddir/$bundled_subdir/lib])
|
||||
+ apu_expat_libs="$top_builddir/$bundled_subdir/lib/libexpat.la"
|
||||
fi
|
||||
+
|
||||
+APR_ADDTO(APRUTIL_EXPORT_LIBS, [$apu_expat_libs])
|
||||
+APR_ADDTO(APRUTIL_LIBS, [$apu_expat_libs])
|
||||
+
|
||||
APR_XML_DIR=$bundled_subdir
|
||||
-APR_XML_EXPAT_OLD=$expat_old
|
||||
-AC_SUBST(APR_XML_SUBDIRS)
|
||||
AC_SUBST(APR_XML_DIR)
|
||||
-AC_SUBST(APR_XML_EXPAT_OLD)
|
||||
-
|
||||
-if test "$expat_include_dir" != "/usr/include"; then
|
||||
- APR_ADDTO(APRUTIL_INCLUDES, [-I$expat_include_dir])
|
||||
-fi
|
||||
-APR_ADDTO(APRUTIL_LDFLAGS, [$expat_ldflags])
|
||||
-APR_ADDTO(APRUTIL_LIBS, [$expat_libtool])
|
||||
])
|
||||
|
||||
|
11
apr-util-1.2.8-dbdopen.patch
Normal file
11
apr-util-1.2.8-dbdopen.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- apr-util-1.2.8/dbd/apr_dbd.c.dbdopen
|
||||
+++ apr-util-1.2.8/dbd/apr_dbd.c
|
||||
@@ -164,7 +164,7 @@
|
||||
apr_dbd_t **handle)
|
||||
{
|
||||
apr_status_t rv;
|
||||
- *handle = driver->open(pool, params);
|
||||
+ *handle = (driver->open)(pool, params);
|
||||
if (*handle == NULL) {
|
||||
return APR_EGENERAL;
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
Summary: Apache Portable Runtime Utility library
|
||||
Name: apr-util
|
||||
Version: 1.2.8
|
||||
Release: 8
|
||||
Release: 9
|
||||
License: Apache Software License 2.0
|
||||
Group: System Environment/Libraries
|
||||
URL: http://apr.apache.org/
|
||||
@ -14,10 +14,11 @@ Patch0: apr-util-1.2.2-exports.patch
|
||||
Patch2: apr-util-1.2.7-pkgconf.patch
|
||||
Patch3: apr-util-1.2.8-dbddso.patch
|
||||
Patch4: apr-util-1.2.8-xmlns.patch
|
||||
Patch5: apr-util-1.2.8-autoexpat.patch
|
||||
Patch6: apr-util-1.2.8-dbdopen.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
BuildRequires: autoconf, apr-devel >= 1.2.0
|
||||
BuildRequires: openldap-devel, db4-devel, expat-devel
|
||||
BuildRequires: sqlite-devel >= 3.0.0, e2fsprogs-devel
|
||||
BuildRequires: openldap-devel, db4-devel, expat-devel, e2fsprogs-devel
|
||||
|
||||
%description
|
||||
The mission of the Apache Portable Runtime (APR) is to provide a
|
||||
@ -57,12 +58,25 @@ Requires: apr-util = %{version}-%{release}
|
||||
This package provides the MySQL driver for the apr-util DBD
|
||||
(database abstraction) interface.
|
||||
|
||||
%package sqlite
|
||||
Group: Development/Libraries
|
||||
Summary: APR utility library SQLite DBD driver
|
||||
BuildRequires: sqlite-devel >= 3.0.0
|
||||
Requires: apr-util = %{version}-%{release}
|
||||
|
||||
%description sqlite
|
||||
This package provides the SQLite driver for the apr-util DBD
|
||||
(database abstraction) interface.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .exports
|
||||
%patch2 -p1 -b .pkgconf
|
||||
%patch3 -p1 -b .dbddso
|
||||
%patch4 -p1 -b .xmlns
|
||||
%patch5 -p1 -b .autoexpat
|
||||
%patch6 -p1 -b .dbdopen
|
||||
|
||||
cp $RPM_SOURCE_DIR/apr_dbd_mysql.c dbd
|
||||
|
||||
%build
|
||||
@ -129,6 +143,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/apr-util-%{apuver}/apr_dbd_mysql*
|
||||
|
||||
%files sqlite
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/apr-util-%{apuver}/apr_dbd_sqlite*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/apu-%{apuver}-config
|
||||
@ -138,6 +156,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%changelog
|
||||
* Wed Aug 8 2007 Joe Orton <jorton@redhat.com> 1.2.8-9
|
||||
- add rewrite of expat autoconf code (upstream r493791)
|
||||
- fix build for new glibc open()-as-macro
|
||||
- split out sqlite subpackage
|
||||
|
||||
* Tue Jul 3 2007 Joe Orton <jorton@redhat.com> 1.2.8-8
|
||||
- add fix for attribute namespace handling in apr_xml (PR 41908)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user