From 0341da16b849252cfde448b24c17dde13a249a90 Mon Sep 17 00:00:00 2001 From: Toshaan Bharvani Date: Thu, 30 May 2024 09:55:36 +0200 Subject: [PATCH] initial package creation Signed-off-by: Toshaan Bharvani --- SOURCES/apr-util-1.2.7-pkgconf.patch | 25 + SOURCES/apr-util-1.4.1-private.patch | 10 + SOURCES/apr-util-1.6.1-CVE-2022-25147.patch | 127 ++++ SOURCES/apr-util-1.6.3-r1907242+.patch | 123 ++++ SOURCES/apr-util-mariadb-upstream.patch | 128 ++++ SPECS/apr-util.spec | 712 ++++++++++++++++++++ 6 files changed, 1125 insertions(+) create mode 100644 SOURCES/apr-util-1.2.7-pkgconf.patch create mode 100644 SOURCES/apr-util-1.4.1-private.patch create mode 100644 SOURCES/apr-util-1.6.1-CVE-2022-25147.patch create mode 100644 SOURCES/apr-util-1.6.3-r1907242+.patch create mode 100644 SOURCES/apr-util-mariadb-upstream.patch create mode 100644 SPECS/apr-util.spec diff --git a/SOURCES/apr-util-1.2.7-pkgconf.patch b/SOURCES/apr-util-1.2.7-pkgconf.patch new file mode 100644 index 0000000..0e394ec --- /dev/null +++ b/SOURCES/apr-util-1.2.7-pkgconf.patch @@ -0,0 +1,25 @@ +--- apr-util-1.2.7/Makefile.in.pkgconf ++++ apr-util-1.2.7/Makefile.in +@@ -51,7 +51,7 @@ + + # Create apu-config script suitable for the install tree + apu-config.out: $(APU_CONFIG) +- sed 's,^\(location=\).*$$,\1installed,' < $(APU_CONFIG) > $@ ++ sed 's,^\(location=\).*$$,\1installed,;s,^\(APR_.*_DIR\)=.*,\1="$${libdir}/build",' < $(APU_CONFIG) > $@ + + install: $(TARGETS) install-modules + $(APR_MKDIR) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/pkgconfig \ +--- apr-util-1.2.7/apu-config.in.pkgconf ++++ apr-util-1.2.7/apu-config.in +@@ -24,9 +24,10 @@ + prefix="@prefix@" + exec_prefix="@exec_prefix@" + bindir="@bindir@" +-libdir="@libdir@" + includedir="@includedir@" + ++libdir=`pkg-config --variable=libdir apr-util-@APRUTIL_MAJOR_VERSION@` ++ + LIBS="@APRUTIL_EXPORT_LIBS@" + INCLUDES="@APRUTIL_INCLUDES@" + LDFLAGS="@APRUTIL_LDFLAGS@" diff --git a/SOURCES/apr-util-1.4.1-private.patch b/SOURCES/apr-util-1.4.1-private.patch new file mode 100644 index 0000000..296362e --- /dev/null +++ b/SOURCES/apr-util-1.4.1-private.patch @@ -0,0 +1,10 @@ +--- apr-util-1.4.1/apr-util.pc.in~ 2008-05-23 16:27:37.000000000 -0500 ++++ apr-util-1.4.1/apr-util.pc.in 2013-02-07 08:55:09.717312176 -0600 +@@ -9,5 +9,6 @@ + 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@ ++Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@ ++Libs.private: @APRUTIL_EXPORT_LIBS@ + Cflags: -I${includedir} diff --git a/SOURCES/apr-util-1.6.1-CVE-2022-25147.patch b/SOURCES/apr-util-1.6.1-CVE-2022-25147.patch new file mode 100644 index 0000000..44e87e1 --- /dev/null +++ b/SOURCES/apr-util-1.6.1-CVE-2022-25147.patch @@ -0,0 +1,127 @@ +diff --git a/encoding/apr_base64.c b/encoding/apr_base64.c +index 1eed153..2803106 100644 +--- a/encoding/apr_base64.c ++++ b/encoding/apr_base64.c +@@ -20,11 +20,20 @@ + * ugly 'len' functions, which is quite a nasty cost. + */ + ++#undef NDEBUG /* always abort() on assert()ion failure */ ++#include ++ + #include "apr_base64.h" + #if APR_CHARSET_EBCDIC + #include "apr_xlate.h" + #endif /* APR_CHARSET_EBCDIC */ + ++/* Above APR_BASE64_ENCODE_MAX length the encoding can't fit in an int >= 0 */ ++#define APR_BASE64_ENCODE_MAX 1610612733 ++ ++/* Above APR_BASE64_DECODE_MAX length the decoding can't fit in an int >= 0 */ ++#define APR_BASE64_DECODE_MAX 2863311524u ++ + /* aaaack but it's fast and const should make it shared text page. */ + static const unsigned char pr2six[256] = + { +@@ -109,7 +118,6 @@ APU_DECLARE(apr_status_t) apr_base64init_ebcdic(apr_xlate_t *to_ascii, + + APU_DECLARE(int) apr_base64_decode_len(const char *bufcoded) + { +- int nbytesdecoded; + register const unsigned char *bufin; + register apr_size_t nprbytes; + +@@ -117,16 +125,16 @@ APU_DECLARE(int) apr_base64_decode_len(const char *bufcoded) + while (pr2six[*(bufin++)] <= 63); + + nprbytes = (bufin - (const unsigned char *) bufcoded) - 1; +- nbytesdecoded = (((int)nprbytes + 3) / 4) * 3; ++ assert(nprbytes <= APR_BASE64_DECODE_MAX); + +- return nbytesdecoded + 1; ++ return (int)(((nprbytes + 3u) / 4u) * 3u + 1u); + } + + APU_DECLARE(int) apr_base64_decode(char *bufplain, const char *bufcoded) + { + #if APR_CHARSET_EBCDIC + apr_size_t inbytes_left, outbytes_left; +-#endif /* APR_CHARSET_EBCDIC */ ++#endif /* APR_CHARSET_EBCDIC */ + int len; + + len = apr_base64_decode_binary((unsigned char *) bufplain, bufcoded); +@@ -153,12 +161,13 @@ APU_DECLARE(int) apr_base64_decode_binary(unsigned char *bufplain, + bufin = (const unsigned char *) bufcoded; + while (pr2six[*(bufin++)] <= 63); + nprbytes = (bufin - (const unsigned char *) bufcoded) - 1; +- nbytesdecoded = (((int)nprbytes + 3) / 4) * 3; ++ assert(nprbytes <= APR_BASE64_DECODE_MAX); ++ nbytesdecoded = (int)(((nprbytes + 3u) / 4u) * 3u); + + bufout = (unsigned char *) bufplain; + bufin = (const unsigned char *) bufcoded; + +- while (nprbytes > 4) { ++ while (nprbytes >= 4) { + *(bufout++) = + (unsigned char) (pr2six[*bufin] << 2 | pr2six[bufin[1]] >> 4); + *(bufout++) = +@@ -178,13 +187,8 @@ APU_DECLARE(int) apr_base64_decode_binary(unsigned char *bufplain, + *(bufout++) = + (unsigned char) (pr2six[bufin[1]] << 4 | pr2six[bufin[2]] >> 2); + } +- if (nprbytes > 3) { +- *(bufout++) = +- (unsigned char) (pr2six[bufin[2]] << 6 | pr2six[bufin[3]]); +- } + +- nbytesdecoded -= (4 - (int)nprbytes) & 3; +- return nbytesdecoded; ++ return nbytesdecoded - (int)((4u - nprbytes) & 3u); + } + + static const char basis_64[] = +@@ -192,6 +196,8 @@ static const char basis_64[] = + + APU_DECLARE(int) apr_base64_encode_len(int len) + { ++ assert(len >= 0 && len <= APR_BASE64_ENCODE_MAX); ++ + return ((len + 2) / 3 * 4) + 1; + } + +@@ -203,6 +209,8 @@ APU_DECLARE(int) apr_base64_encode(char *encoded, const char *string, int len) + int i; + char *p; + ++ assert(len >= 0 && len <= APR_BASE64_ENCODE_MAX); ++ + p = encoded; + for (i = 0; i < len - 2; i += 3) { + *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F]; +@@ -227,7 +235,7 @@ APU_DECLARE(int) apr_base64_encode(char *encoded, const char *string, int len) + } + + *p++ = '\0'; +- return p - encoded; ++ return (unsigned int)(p - encoded); + #endif /* APR_CHARSET_EBCDIC */ + } + +@@ -240,6 +248,8 @@ APU_DECLARE(int) apr_base64_encode_binary(char *encoded, + int i; + char *p; + ++ assert(len >= 0 && len <= APR_BASE64_ENCODE_MAX); ++ + p = encoded; + for (i = 0; i < len - 2; i += 3) { + *p++ = basis_64[(string[i] >> 2) & 0x3F]; +@@ -264,5 +274,5 @@ APU_DECLARE(int) apr_base64_encode_binary(char *encoded, + } + + *p++ = '\0'; +- return (int)(p - encoded); ++ return (unsigned int)(p - encoded); + } diff --git a/SOURCES/apr-util-1.6.3-r1907242+.patch b/SOURCES/apr-util-1.6.3-r1907242+.patch new file mode 100644 index 0000000..b964a63 --- /dev/null +++ b/SOURCES/apr-util-1.6.3-r1907242+.patch @@ -0,0 +1,123 @@ +From 828d644c8eba8765843985d9293f033898ed0592 Mon Sep 17 00:00:00 2001 +From: Joe Orton +Date: Fri, 3 Feb 2023 15:12:10 +0000 +Subject: [PATCH] * memcache/apr_memcache.c (conn_connect): Allow use of IPv6 + rather than forcing name resolution to IPv4 only. + +Submitted by: Lubos Uhliarik +Github: closes #39 + + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1907242 13f79535-47bb-0310-9956-ffa450edef68 +--- + memcache/apr_memcache.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/memcache/apr_memcache.c b/memcache/apr_memcache.c +index 5f8135c52c..18806281a4 100644 +--- a/memcache/apr_memcache.c ++++ b/memcache/apr_memcache.c +@@ -290,9 +290,9 @@ static apr_status_t conn_connect(apr_memcache_conn_t *conn) + apr_status_t rv = APR_SUCCESS; + apr_sockaddr_t *sa; + #if APR_HAVE_SOCKADDR_UN +- apr_int32_t family = conn->ms->host[0] != '/' ? APR_INET : APR_UNIX; ++ apr_int32_t family = conn->ms->host[0] != '/' ? APR_UNSPEC : APR_UNIX; + #else +- apr_int32_t family = APR_INET; ++ apr_int32_t family = APR_UNSPEC; + #endif + + rv = apr_sockaddr_info_get(&sa, conn->ms->host, family, conn->ms->port, 0, conn->p); +@@ -328,9 +328,9 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) + apr_pool_t *tp; + apr_memcache_server_t *ms = params; + #if APR_HAVE_SOCKADDR_UN +- apr_int32_t family = ms->host[0] != '/' ? APR_INET : APR_UNIX; ++ apr_int32_t family = ms->host[0] != '/' ? APR_UNSPEC : APR_UNIX; + #else +- apr_int32_t family = APR_INET; ++ apr_int32_t family = APR_UNSPEC; + #endif + + rv = apr_pool_create(&np, pool); + +From 59341af138dd2c6fe9444ee9c865b769c0053bdd Mon Sep 17 00:00:00 2001 +From: Joe Orton +Date: Tue, 27 Jun 2023 14:06:09 +0000 +Subject: [PATCH] * memcache/apr_memcache.c (conn_connect, mc_conn_construct): + Fix regression in IPv4 handling in r1907242. Cycle through the address + list handling v4/v6 addresses correctly. + +Submitted by: Lubos Uhliarik +Github: closes #44 + + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1910629 13f79535-47bb-0310-9956-ffa450edef68 +--- + memcache/apr_memcache.c | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +diff --git a/memcache/apr_memcache.c b/memcache/apr_memcache.c +index 41b93a0a33..09779d91b5 100644 +--- a/memcache/apr_memcache.c ++++ b/memcache/apr_memcache.c +@@ -300,14 +300,26 @@ static apr_status_t conn_connect(apr_memcache_conn_t *conn) + return rv; + } + +- rv = apr_socket_timeout_set(conn->sock, 1 * APR_USEC_PER_SEC); +- if (rv != APR_SUCCESS) { +- return rv; ++ /* Cycle through address until a connect() succeeds. */ ++ for (; sa; sa = sa->next) { ++ rv = apr_socket_create(&conn->sock, sa->family, SOCK_STREAM, 0, conn->p); ++ if (rv == APR_SUCCESS) { ++ rv = apr_socket_timeout_set(conn->sock, 1 * APR_USEC_PER_SEC); ++ if (rv != APR_SUCCESS) { ++ return rv; ++ } ++ ++ rv = apr_socket_connect(conn->sock, sa); ++ if (rv == APR_SUCCESS) { ++ break; ++ } ++ ++ apr_socket_close(conn->sock); ++ } + } + +- rv = apr_socket_connect(conn->sock, sa); +- if (rv != APR_SUCCESS) { +- return rv; ++ if (!sa) { ++ return APR_ECONNREFUSED; + } + + rv = apr_socket_timeout_set(conn->sock, -1); +@@ -327,11 +339,6 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) + apr_pool_t *np; + apr_pool_t *tp; + apr_memcache_server_t *ms = params; +-#if APR_HAVE_SOCKADDR_UN +- apr_int32_t family = ms->host[0] != '/' ? APR_UNSPEC : APR_UNIX; +-#else +- apr_int32_t family = APR_UNSPEC; +-#endif + + rv = apr_pool_create(&np, pool); + if (rv != APR_SUCCESS) { +@@ -349,13 +356,6 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) + conn->p = np; + conn->tp = tp; + +- rv = apr_socket_create(&conn->sock, family, SOCK_STREAM, 0, np); +- +- if (rv != APR_SUCCESS) { +- apr_pool_destroy(np); +- return rv; +- } +- + conn->buffer = apr_palloc(conn->p, BUFFER_SIZE + 1); + conn->blen = 0; + conn->ms = ms; diff --git a/SOURCES/apr-util-mariadb-upstream.patch b/SOURCES/apr-util-mariadb-upstream.patch new file mode 100644 index 0000000..dd1c5a3 --- /dev/null +++ b/SOURCES/apr-util-mariadb-upstream.patch @@ -0,0 +1,128 @@ +Upstream patch for building with mariadb: +Taken from https://bz.apache.org/bugzilla/show_bug.cgi?id=61517 +BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1494093 + +--- a/build/dbd.m4 2017-05-03 19:18:52.000000000 -0400 ++++ a/build/dbd.m4 2017-09-13 16:58:07.369546391 -0400 +@@ -163,10 +163,15 @@ + 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 @@ + + 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 ]) +- 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 ]) ++ 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 @@ + 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 ]) +- +- 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 ]) ++ 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 @@ + 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 2017-05-03 19:18:52.000000000 -0400 ++++ a/dbd/apr_dbd_mysql.c 2017-09-13 19:15:20.894368809 -0400 +@@ -1262,7 +1262,9 @@ + + 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 */ + diff --git a/SPECS/apr-util.spec b/SPECS/apr-util.spec new file mode 100644 index 0000000..a81aff8 --- /dev/null +++ b/SPECS/apr-util.spec @@ -0,0 +1,712 @@ + +%if 0%{?fedora} < 18 && 0%{?rhel} < 7 +%define dbdep db4-devel +%else +%define dbdep libdb-devel +%endif + +%if 0%{?fedora} < 27 && 0%{?rhel} <= 7 +%global with_nss 1 +%else +%global with_nss 0 +%endif + +%define apuver 1 + +Summary: Apache Portable Runtime Utility library +Name: apr-util +Version: 1.6.1 +Release: 23%{?dist} +License: ASL 2.0 +URL: https://apr.apache.org/ +Source0: https://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 +Patch1: apr-util-1.2.7-pkgconf.patch +Patch4: apr-util-1.4.1-private.patch +Patch5: apr-util-mariadb-upstream.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2168760 +Patch6: apr-util-1.6.3-r1907242+.patch + +# Security patches: +# https://bugzilla.redhat.com/show_bug.cgi?id=2169652 +Patch100: apr-util-1.6.1-CVE-2022-25147.patch + +BuildRequires: gcc +BuildRequires: autoconf, apr-devel >= 1.3.0 +BuildRequires: %{dbdep}, expat-devel, libuuid-devel +Recommends: apr-util-openssl%{_isa} = %{version}-%{release} +%if 0%{?fedora} < 27 +Requires: apr-util-bdb%{?_isa} = %{version}-%{release} +%else +Recommends: apr-util-bdb%{_isa} = %{version}-%{release} +%endif + +%description +The mission of the Apache Portable Runtime (APR) is to provide a +free library of C data structures and routines. This library +contains additional utility interfaces for APR; including support +for XML, LDAP, database interfaces, URI parsing and more. + +%package devel +Summary: APR utility library development kit +Requires: apr-util%{?_isa} = %{version}-%{release}, apr-devel%{?_isa}, pkgconfig +Requires: %{dbdep}%{?_isa}, expat-devel%{?_isa}, openldap-devel%{?_isa} + +%description devel +This package provides the support files which can be used to +build applications using the APR utility library. The mission +of the Apache Portable Runtime (APR) is to provide a free +library of C data structures and routines. + +%package pgsql +Summary: APR utility library PostgreSQL DBD driver +BuildRequires: libpq-devel +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description pgsql +This package provides the PostgreSQL driver for the apr-util +DBD (database abstraction) interface. + +%package bdb +Summary: APR utility library Berkeley DB driver +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description bdb +This package provides the Berkeley DB driver for the apr-util +DBM (database abstraction) interface. + +%package mysql +Summary: APR utility library MySQL DBD driver +BuildRequires: mariadb-connector-c-devel +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description mysql +This package provides the MySQL driver for the apr-util DBD +(database abstraction) interface. + +%package sqlite +Summary: APR utility library SQLite DBD driver +BuildRequires: sqlite-devel >= 3.0.0 +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description sqlite +This package provides the SQLite driver for the apr-util DBD +(database abstraction) interface. + +%package odbc +Summary: APR utility library ODBC DBD driver +BuildRequires: unixODBC-devel +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description odbc +This package provides the ODBC driver for the apr-util DBD +(database abstraction) interface. + +%package ldap +Summary: APR utility library LDAP support +BuildRequires: openldap-devel +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description ldap +This package provides the LDAP support for the apr-util. + +%package openssl +Summary: APR utility library OpenSSL crypto support +BuildRequires: openssl-devel +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description openssl +This package provides the OpenSSL crypto support for the apr-util. + +%if %{with_nss} +%package nss +Summary: APR utility library NSS crypto support +BuildRequires: nss-devel +BuildRequires: make +Requires: apr-util%{?_isa} = %{version}-%{release} + +%description nss +This package provides the NSS crypto support for the apr-util. +%endif + +%prep +%setup -q +%patch1 -p1 -b .pkgconf +%patch4 -p1 -b .private +%patch5 -p1 -b .maria +%patch6 -p1 -b .r1907242 + +%patch100 -p1 -b .CVE-2022-25147 + +%build +autoheader && autoconf +# A fragile autoconf test which fails if the code trips +# any other warning; force correct result for OpenLDAP: +export ac_cv_ldap_set_rebind_proc_style=three +%configure --with-apr=%{_prefix} \ + --includedir=%{_includedir}/apr-%{apuver} \ + --with-ldap=ldap_r --without-gdbm \ + --with-sqlite3 --with-pgsql --with-mysql --with-odbc \ + --with-dbm=db5 --with-berkeley-db \ + --without-sqlite2 \ + --with-crypto --with-openssl \ +%if %{with_nss} + --with-nss +%else + --without-nss +%endif +%{make_build} + +%install +rm -rf $RPM_BUILD_ROOT +%{make_install} + +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/aclocal +install -m 644 build/find_apu.m4 $RPM_BUILD_ROOT/%{_datadir}/aclocal + +# Unpackaged files; remove the static libaprutil +rm -f $RPM_BUILD_ROOT%{_libdir}/aprutil.exp \ + $RPM_BUILD_ROOT%{_libdir}/libapr*.a + +# And remove the reference to the static libaprutil from the .la +# file. +sed -i '/^old_library/s,libapr.*\.a,,' \ + $RPM_BUILD_ROOT%{_libdir}/libapr*.la + +# Remove unnecessary exports from dependency_libs +sed -ri '/^dependency_libs/{s,-l(pq|sqlite[0-9]|rt|dl|uuid) ,,g}' \ + $RPM_BUILD_ROOT%{_libdir}/libapr*.la + +# Trim libtool DSO cruft +rm -f $RPM_BUILD_ROOT%{_libdir}/apr-util-%{apuver}/*.*a + +%check +# Run the less verbose test suites +export MALLOC_CHECK_=2 MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) +cd test +%{make_build} testall +# testall breaks with DBD DSO; ignore +export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}/apr-util-%{apuver} +./testall -v -q + +%ldconfig_scriptlets + +%files +%doc CHANGES LICENSE NOTICE +%{_libdir}/libaprutil-%{apuver}.so.* +%dir %{_libdir}/apr-util-%{apuver} + +%files bdb +%{_libdir}/apr-util-%{apuver}/apr_dbm_db* + +%files pgsql +%{_libdir}/apr-util-%{apuver}/apr_dbd_pgsql* + +%files mysql +%{_libdir}/apr-util-%{apuver}/apr_dbd_mysql* + +%files sqlite +%{_libdir}/apr-util-%{apuver}/apr_dbd_sqlite* + +%files odbc +%{_libdir}/apr-util-%{apuver}/apr_dbd_odbc* + +%files ldap +%{_libdir}/apr-util-%{apuver}/apr_ldap* + +%files openssl +%{_libdir}/apr-util-%{apuver}/apr_crypto_openssl* + +%if %{with_nss} +%files nss +%{_libdir}/apr-util-%{apuver}/apr_crypto_nss* +%endif + +%files devel +%{_bindir}/apu-%{apuver}-config +%{_libdir}/libaprutil-%{apuver}.*a +%{_libdir}/libaprutil-%{apuver}.so +%{_includedir}/apr-%{apuver}/*.h +%{_libdir}/pkgconfig/*.pc +%{_datadir}/aclocal/*.m4 + +%changelog +* Tue Jun 27 2023 Luboš Uhliarik - 1.6.1-23 +- Related: #2168760 - mod_auth_openidc fails with IPv6 OIDCMemCacheServers + +* Mon Jun 12 2023 Luboš Uhliarik - 1.6.1-22 +- Resolves: #2168760 - mod_auth_openidc fails with IPv6 OIDCMemCacheServers + +* Wed May 31 2023 Luboš Uhliarik - 1.6.1-21 +- Resolves: #2196576 - CVE-2022-25147 apr-util: out-of-bounds writes in the + apr_base64 + +* Mon Aug 09 2021 Mohan Boddu - 1.6.1-20 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jul 28 2021 Florian Weimer - 1.6.1-19 +- Rebuild to pick up OpenSSL 3.0 Beta ABI (#1984097) + +* Wed Jun 16 2021 Mohan Boddu - 1.6.1-18 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Thu Apr 15 2021 Mohan Boddu - 1.6.1-17 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Mon Feb 08 2021 Pavel Raiskup - 1.6.1-16 +- rebuild for libpq ABI fix rhbz#1908268 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.6.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.6.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 04 2020 Tom Stellard - 1.6.1-13 +- Use make_build and make_install macros +- https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make + +* Tue Jan 28 2020 Fedora Release Engineering - 1.6.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.6.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.6.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 1.6.1-9 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Wed Sep 26 2018 Joe Orton - 1.6.1-8 +- Recommends: -openssl and -bdb so default crypto, dbm drivers are + always available (#1491151, #1633152) + +* Thu Jul 12 2018 Fedora Release Engineering - 1.6.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Mar 9 2018 Bojan Smojver - 1.6.1-6 +- add gcc build requirement + +* Wed Feb 07 2018 Fedora Release Engineering - 1.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Jan 26 2018 Florian Weimer - 1.6.1-4 +- Rebuild with new build flags embedded in apr + +* Sat Jan 20 2018 Björn Esser - 1.6.1-3 +- Rebuilt for switch to libxcrypt + +* Tue Dec 19 2017 Honza Horak - 1.6.1-2 +- Build with mariadb-connector-c + +* Wed Oct 25 2017 Luboš Uhliarik - 1.6.1-1 +- new version 1.6.1 + +* Mon Aug 21 2017 Joe Orton - 1.6.0-1 +- update to 1.6.0 (#1460831) +- move bdb support to loadable DSO in apr-util-dbd subpackage +- drop NSS, freetds support + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 14 2016 Joe Orton - 1.5.4-4 +- update for OpenSSL 1.1.0 + +* Wed Feb 03 2016 Fedora Release Engineering - 1.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Sep 22 2014 Jan Kaluza - 1.5.4-1 +- update to 1.5.4 + +* Fri Aug 15 2014 Fedora Release Engineering - 1.5.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Nov 26 2013 Joe Orton - 1.5.3-1 +- update to 1.5.3 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu May 09 2013 Jan Kaluza - 1.5.2-3 +- do not build with freetds when it is not available + +* Tue Apr 9 2013 Joe Orton - 1.5.2-2 +- update for aarch64 + +* Tue Apr 9 2013 Joe Orton - 1.5.2-1 +- update to 1.5.2 + +* Thu Feb 07 2013 Jon Ciesla - 1.4.1-8 +- Apply private patch from Merge Review BZ 225254. + +* Wed Nov 07 2012 Jan Kaluza - 1.4.1-7 +- ensure we use latest libdb5 (not libdb4) + +* Thu Oct 18 2012 Joe Orton - 1.4.1-6 +- use -lldap_r instead of -lldap + +* Wed Jul 18 2012 Fedora Release Engineering - 1.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 6 2012 Joe Orton - 1.4.1-4 +- fix crypt_r failure modes (#819650) + +* Tue Apr 24 2012 Joe Orton - 1.4.1-3 +- apply _isa to deps + +* Mon Apr 23 2012 Joe Orton - 1.4.1-2 +- switch to libdb-devel + +* Thu Jan 12 2012 Fedora Release Engineering - 1.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 15 2011 Bojan Smojver - 1.4.1-1 +- bump up to 1.4.1 + +* Fri May 20 2011 Bojan Smojver - 1.3.12-1 +- bump up to 1.3.12 + +* Wed May 11 2011 Bojan Smojver - 1.3.11-2 +- fix crash in apr_ldap_rebind_init() + +* Mon May 9 2011 Bojan Smojver - 1.3.11-1 +- bump up to 1.3.11 + +* Wed Mar 23 2011 Dan Horák - 1.3.10-7 +- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient) + +* Wed Mar 23 2011 Joe Orton - 1.3.10-6 +- rebuild for MySQL soname bump + +* Wed Mar 2 2011 Joe Orton - 1.3.10-5 +- fix build + +* Wed Mar 2 2011 Joe Orton - 1.3.10-4 +- rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 1.3.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 29 2010 Bojan Smojver - 1.3.10-2 +- rebuild for MySQL 5.5.x + +* Tue Oct 5 2010 Joe Orton - 1.3.10-1 +- update to 1.3.10 + +* Wed Nov 25 2009 Joe Orton - 1.3.9-3 +- rebuild for new BDB + +* Fri Aug 21 2009 Tomas Mraz - 1.3.9-2 +- rebuilt with new openssl + +* Thu Aug 6 2009 Bojan Smojver - 1.3.9-1 +- bump up to 1.3.9 +- CVE-2009-2412 +- allocator alignment fixes + +* Fri Jul 24 2009 Fedora Release Engineering - 1.3.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 15 2009 Bojan Smojver 1.3.8-2 +- adjust apr-util-1.3.7-nodbmdso.patch + +* Wed Jul 15 2009 Bojan Smojver 1.3.8-1 +- bump up to 1.3.8 + +* Wed Jul 15 2009 Bojan Smojver 1.3.7-5 +- BR: +libuuid-devel, -e2fsprogs-devel + +* Tue Jun 9 2009 Joe Orton 1.3.7-4 +- disable DBM-drivers-as-DSO support +- backport r783046 from upstream + +* Mon Jun 8 2009 Bojan Smojver - 1.3.7-3 +- make export of LD_LIBRARY_PATH simpler + +* Mon Jun 8 2009 Bojan Smojver - 1.3.7-2 +- revert tests + +* Mon Jun 8 2009 Bojan Smojver - 1.3.7-1 +- bump up to 1.3.7 +- CVE-2009-0023 +- "billion laughs" fix of apr_xml_* interface + +* Mon Feb 23 2009 Fedora Release Engineering - 1.3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jan 23 2009 Joe Orton 1.3.4-2 +- rebuild for new MySQL + +* Sat Aug 16 2008 Bojan Smojver - 1.3.4-1 +- bump up to 1.3.4 +- drop PostgreSQL patch, fixed upstream + +* Wed Jul 16 2008 Bojan Smojver - 1.3.2-8 +- beat the fuzz, rework apr-util-1.2.7-pkgconf.patch + +* Wed Jul 16 2008 Bojan Smojver - 1.3.2-7 +- ship find_apu.m4, fix bug #455189 + +* Thu Jul 10 2008 Tom "spot" Callaway 1.3.2-6 +- rebuild for new db4-4.7 + +* Tue Jul 8 2008 Joe Orton 1.3.2-5 +- restore requires for openldap-devel from -devel + +* Wed Jul 2 2008 Bojan Smojver - 1.3.2-4 +- properly fix PostgreSQL detection + +* Wed Jul 2 2008 Bojan Smojver - 1.3.2-3 +- revert build dependencies, change from -2 didn't help +- add apr-util-1.3.2-pgsql.patch (remove pgsql_LIBS during detection) + +* Wed Jul 2 2008 Bojan Smojver - 1.3.2-2 +- try adding postgresql-server to build dependencies to pull some libs in + +* Thu Jun 19 2008 Bojan Smojver - 1.3.2-1 +- bump up to 1.3.2 + +* Sun Jun 1 2008 Bojan Smojver - 1.3.0-1 +- bump up to 1.3.0 + +* Tue Feb 19 2008 Fedora Release Engineering - 1.2.12-5 +- Autorebuild for GCC 4.3 + +* Tue Dec 4 2007 Joe Orton 1.2.12-4 +- rebuild for OpenLDAP soname bump + +* Mon Dec 3 2007 Bojan Smojver - 1.2.12-3 +- remove all instances of MySQL flags being added to APRUTIL_LDFLAGS + +* Tue Nov 27 2007 Bojan Smojver - 1.2.12-1 +- bump up to 1.2.12 +- drop MySQL DBD driver, shipped upstream +- adjust various patches to apply +- rework tests in %%check (1.2.x got tests from trunk) + +* Mon Sep 24 2007 Jesse Keating - 1.2.10-2 +- Rebuild for upgrade path (add dist since that's now on F-7 branch) + +* Sun Sep 9 2007 Bojan Smojver 1.2.10-1 +- bump up to 1.2.10 +- pick up newly checked in MySQL DBD driver directly from ASF +- remove dbdopen patch (fixed upstream) +- remove xmlns patch (fixed upstream) +- remove autoexpat patch (fixed upstream) + +* Sun Sep 2 2007 Joe Orton 1.2.8-12 +- rebuild for fixed APR 32-bit ABI +- remove sqlite driver from main package (#274521) + +* Wed Aug 22 2007 Joe Orton 1.2.8-11 +- rebuild for expat soname bump + +* Tue Aug 21 2007 Joe Orton 1.2.8-10 +- fix License + +* Wed Aug 8 2007 Joe Orton 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 1.2.8-8 +- add fix for attribute namespace handling in apr_xml (PR 41908) + +* Thu Apr 5 2007 Joe Orton 1.2.8-7 +- remove old Conflicts, doxygen BR (#225254) + +* Fri Mar 23 2007 Joe Orton 1.2.8-6 +- add DBD DSO lifetime fix (r521327) + +* Thu Mar 22 2007 Joe Orton 1.2.8-5 +- drop doxygen documentation (which caused multilib conflicts) + +* Wed Feb 28 2007 Joe Orton 1.2.8-4 +- add mysql driver in -mysql subpackage (Bojan Smojver, #222237) + +* Tue Feb 27 2007 Joe Orton 1.2.8-3 +- build DBD drivers as DSOs (w/Bojan Smojver, #192922) +- split out pgsql driver into -pgsql subpackage + +* Tue Dec 5 2006 Joe Orton 1.2.8-2 +- update to 1.2.8, pick up new libpq soname + +* Fri Dec 1 2006 Joe Orton 1.2.7-5 +- really rebuild for db45 + +* Sat Nov 11 2006 Joe Orton 1.2.7-4 +- add support for BDB 4.5 from upstream, rebuild + +* Wed Jul 19 2006 Joe Orton 1.2.7-3 +- fix buildconf with autoconf 2.60 + +* Wed Jul 12 2006 Jesse Keating - 1.2.7-2.1 +- rebuild + +* Tue May 2 2006 Joe Orton 1.2.7-2 +- update to 1.2.7 +- use pkg-config in apu-1-config to make it libdir-agnostic + +* Thu Apr 6 2006 Joe Orton 1.2.6-2 +- update to 1.2.6 +- define LDAP_DEPRECATED in apr_ldap.h (r391985, #188073) + +* Fri Feb 10 2006 Jesse Keating - 1.2.2-4.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.2.2-4.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 30 2006 Joe Orton 1.2.2-4 +- rebuild to drop reference to libexpat.la + +* Wed Jan 18 2006 Joe Orton 1.2.2-3 +- disable sqlite2 support +- BuildRequire e2fsprogs-devel +- enable malloc paranoia in %%check + +* Tue Jan 3 2006 Jesse Keating 1.2.2-2.2 +- rebuilt again + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Dec 6 2005 Joe Orton 1.2.2-2 +- trim exports from .la file/--libs output (#174924) + +* Fri Nov 25 2005 Joe Orton 1.2.2-1 +- update to 1.2.2 + +* Thu Oct 20 2005 Joe Orton 0.9.7-3 +- fix epoch again + +* Thu Oct 20 2005 Joe Orton 0.9.7-2 +- update to 0.9.7 +- drop static libs (#170051) + +* Tue Jul 26 2005 Joe Orton 0.9.6-3 +- add FILE bucket fix for truncated files (#159191) +- add epoch to dependencies + +* Fri Mar 4 2005 Joe Orton 0.9.6-2 +- rebuild + +* Wed Feb 9 2005 Joe Orton 0.9.6-1 +- update to 0.9.6 + +* Wed Jan 19 2005 Joe Orton 0.9.5-3 +- restore db-4.3 detection lost in 0.9.5 upgrade + +* Wed Jan 19 2005 Joe Orton 0.9.5-2 +- rebuild + +* Mon Nov 22 2004 Joe Orton 0.9.5-1 +- update to 0.9.5 + +* Thu Nov 11 2004 Jeff Johnson 0.9.4-19 +- actually explicitly check for and detect db-4.3. + +* Thu Nov 11 2004 Jeff Johnson 0.9.4-18 +- rebuild against db-4.3.21. + +* Fri Sep 17 2004 Joe Orton 0.9.4-17 +- add security fix for CAN-2004-0786 + +* Sat Jun 19 2004 Joe Orton 0.9.4-16 +- have -devel require matching release of apr-util + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Thu Apr 1 2004 Joe Orton 0.9.4-14 +- fix use of SHA1 passwords (#119651) + +* Tue Mar 30 2004 Joe Orton 0.9.4-13 +- remove fundamentally broken check_sbcs() from xlate code + +* Fri Mar 19 2004 Joe Orton 0.9.4-12 +- tweak xlate fix + +* Fri Mar 19 2004 Joe Orton 0.9.4-11 +- rebuild with xlate fixes and tests enabled + +* Tue Mar 02 2004 Elliot Lee 0.9.4-10.1 +- rebuilt + +* Tue Mar 2 2004 Joe Orton 0.9.4-10 +- rename sdbm_* symbols to apu__sdbm_* + +* Mon Feb 16 2004 Joe Orton 0.9.4-9 +- fix sdbm apr_dbm_exists() on s390x/ppc64 + +* Fri Feb 13 2004 Elliot Lee 0.9.4-8 +- rebuilt + +* Thu Feb 5 2004 Joe Orton 0.9.4-7 +- fix warnings from use of apr_optional*.h with gcc 3.4 + +* Thu Jan 29 2004 Joe Orton 0.9.4-6 +- drop gdbm support + +* Thu Jan 8 2004 Joe Orton 0.9.4-5 +- fix DB library detection + +* Sat Dec 13 2003 Jeff Johnson 0.9.4-4 +- rebuild against db-4.2.52. + +* Mon Oct 13 2003 Jeff Johnson 0.9.4-3 +- rebuild against db-4.2.42. + +* Mon Oct 6 2003 Joe Orton 0.9.4-2 +- fix 'apu-config --apu-la-file' output + +* Mon Oct 6 2003 Joe Orton 0.9.4-1 +- update to 0.9.4. + +* Tue Jul 22 2003 Nalin Dahyabhai 0.9.3-10 +- rebuild + +* Mon Jul 7 2003 Joe Orton 0.9.3-9 +- rebuild +- don't run testuuid test because of #98677 + +* Thu Jul 3 2003 Joe Orton 0.9.3-8 +- rebuild + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue May 20 2003 Joe Orton 0.9.3-6 +- fix to detect crypt_r correctly (CAN-2003-0195) + +* Thu May 15 2003 Joe Orton 0.9.3-5 +- fix to try linking against -ldb first (#90917) +- depend on openldap, gdbm, db4, expat appropriately. + +* Tue May 13 2003 Joe Orton 0.9.3-4 +- rebuild + +* Wed May 7 2003 Joe Orton 0.9.3-3 +- make devel package conflict with old subversion-devel +- run the less crufty parts of the test suite + +* Tue Apr 29 2003 Joe Orton 0.9.3-2 +- run ldconfig in post/postun + +* Mon Apr 28 2003 Joe Orton 0.9.3-1 +- initial build