rpms/exim/devel exim-4.69-dynlookup-config.patch, NONE, 1.1 exim-4.69-dynlookup.patch, NONE, 1.1 exim-4.50-config.patch, 1.6, 1.7 exim-4.62-dlopen-localscan.patch, 1.2, 1.3 exim.spec, 1.50, 1.51
David Woodhouse (dwmw2)
fedora-extras-commits at redhat.com
Tue Apr 22 17:30:39 UTC 2008
Author: dwmw2
Update of /cvs/pkgs/rpms/exim/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31799
Modified Files:
exim-4.50-config.patch exim-4.62-dlopen-localscan.patch
exim.spec
Added Files:
exim-4.69-dynlookup-config.patch exim-4.69-dynlookup.patch
Log Message:
dynlookups
exim-4.69-dynlookup-config.patch:
--- NEW FILE exim-4.69-dynlookup-config.patch ---
diff -u exim-4.69/src/EDITME exim-4.69/src/EDITME
--- exim-4.69/src/EDITME 2008-04-19 23:48:03.000000000 +0100
+++ exim-4.69/src/EDITME 2008-04-19 23:54:46.000000000 +0100
@@ -282,15 +282,17 @@
# LOOKUP_IBASE=yes
LOOKUP_LDAP=yes
LDAP_LIB_TYPE=OPENLDAP2
-LOOKUP_INCLUDE=-I/usr/include/mysql
-LOOKUP_LIBS=-lldap -llber -lsqlite3 -L/usr/$(_lib)/mysql -lmysqlclient -lpq
-LOOKUP_MYSQL=yes
+LOOKUP_LIBS=-lldap -llber -lsqlite3
+LOOKUP_MYSQL_INCLUDE=-I/usr/include/mysql
+LOOKUP_MYSQL_LIBS=-L/usr/${_lib}/mysql -lmysqlclient
+LOOKUP_PGSQL_LIBS=-lpq
+LOOKUP_MYSQL=2
LOOKUP_NIS=yes
LOOKUP_NISPLUS=yes
# LOOKUP_ORACLE=yes
LOOKUP_PASSWD=yes
-LOOKUP_PGSQL=yes
+LOOKUP_PGSQL=2
LOOKUP_SQLITE=yes
# LOOKUP_WHOSON=yes
# These two settings are obsolete; all three lookups are compiled when
exim-4.69-dynlookup.patch:
--- NEW FILE exim-4.69-dynlookup.patch ---
diff --git a/Makefile b/Makefile
index 08d023b..9878b23 100644
--- a/Makefile
+++ b/Makefile
@@ -77,11 +77,11 @@ clean:; @echo ""; echo '*** "make clean" just removes all .o and .a files'
cd build-$(buildname); \
$(RM_COMMAND) -f *.o lookups/*.o lookups/*.a auths/*.o auths/*.a \
routers/*.o routers/*.a transports/*.o transports/*.a \
- pcre/*.o pcre/*.a
+ pcre/*.o pcre/*.a lookups/*.so
clean_exim:; cd build-$(buildname); \
$(RM_COMMAND) -f *.o lookups/*.o lookups/*.a auths/*.o auths/*.a \
- routers/*.o routers/*.a transports/*.o transports/*.a
+ routers/*.o routers/*.a transports/*.o transports/*.a lookups/*.so
distclean:; $(RM_COMMAND) -rf build-*
diff --git a/OS/Makefile-Base b/OS/Makefile-Base
index a2648e5..14b0867 100644
--- a/OS/Makefile-Base
+++ b/OS/Makefile-Base
@@ -311,6 +311,7 @@ OBJ_EXIM = acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \
rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o \
route.o search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o \
store.o string.o tls.o tod.o transport.o tree.o verify.o \
+ lookups/lf_quote.o lookups/lf_check_file.o lookups/lf_sqlperform.o \
local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
$(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
diff --git a/scripts/Configure-Makefile b/scripts/Configure-Makefile
index 01fd316..9cd6d60 100755
--- a/scripts/Configure-Makefile
+++ b/scripts/Configure-Makefile
@@ -107,7 +107,7 @@ do if test -r ../$f
echo "# End of $f"
echo ""
fi
-done >> $mft || exit 1
+done | sed 's/^LOOKUP_/export LOOKUP_/' >> $mft || exit 1
# See if there is a definition of EXIM_PERL in what we have built so far.
# If so, run Perl to find the default values for PERL_CC, PERL_CCOPTS,
diff --git a/scripts/MakeLinks b/scripts/MakeLinks
index 257652c..f3daee2 100755
--- a/scripts/MakeLinks
+++ b/scripts/MakeLinks
@@ -204,6 +204,7 @@ ln -s ../src/mytypes.h mytypes.h
ln -s ../src/osfunctions.h osfunctions.h
ln -s ../src/store.h store.h
ln -s ../src/structs.h structs.h
+ln -s ../src/lookupapi.h lookupapi.h
ln -s ../src/acl.c acl.c
ln -s ../src/buildconfig.c buildconfig.c
diff --git a/src/EDITME b/src/EDITME
index 1438a38..cb2f7f7 100644
--- a/src/EDITME
+++ b/src/EDITME
@@ -248,6 +248,9 @@ TRANSPORT_SMTP=yes
# SUPPORT_MAILSTORE=yes
# SUPPORT_MBX=yes
+#------------------------------------------------------------------------------
+# See below for dynamic lookup modules.
+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
#------------------------------------------------------------------------------
# These settings determine which file and database lookup methods are included
@@ -257,6 +260,18 @@ TRANSPORT_SMTP=yes
# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is
# for the specialist case of using the DNS as a general database facility (not
# common).
+# If set to "2" instead of "yes" then the corresponding lookup will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to
+# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to
+# EXTRALIBS so that dlopen() is available to Exim. You need to define
+# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup
+# modules.
+# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and
+# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS
+# (where * is the name as given here in this list). That ensures that only
+# the dynamic library and not the exim binary will be linked against the
+# library.
+# NOTE: LDAP cannot be built as a module!
LOOKUP_DBM=yes
LOOKUP_LSEARCH=yes
diff --git a/src/config.h.defaults b/src/config.h.defaults
index ccf2696..bd271bf 100644
--- a/src/config.h.defaults
+++ b/src/config.h.defaults
@@ -90,6 +90,8 @@ it's a default value. */
#define LOOKUP_WILDLSEARCH
#define LOOKUP_NWILDLSEARCH
+#define LOOKUP_MODULE_DIR
+
#define MAX_FILTER_SIZE (1024*1024)
#define MAX_LOCALHOST_NUMBER 256
#define MAX_INCLUDE_SIZE (1024*1024)
diff --git a/src/drtables.c b/src/drtables.c
index 426933c..dc4e15f 100644
--- a/src/drtables.c
+++ b/src/drtables.c
@@ -10,6 +10,8 @@
#include "exim.h"
+#include <dlfcn.h>
+#include <string.h>
/* This module contains tables that define the lookup methods and drivers
that are actually included in the binary. Its contents are controlled by
@@ -31,535 +33,8 @@ even pickier compilers complaining about infinite loops. */
static void dummy(int x) { dummy(x-1); }
-
-/* Table of information about all possible lookup methods. The entries are
-always present, but the "open" and "find" functions are set to NULL for those
-that are not compiled into the binary. The "check" and "close" functions can
-be NULL for methods that don't need them. */
-
-#ifdef LOOKUP_CDB
-#include "lookups/cdb.h"
-#endif
-
-#ifdef LOOKUP_DBM
-#include "lookups/dbmdb.h"
-#endif
-
-#ifdef LOOKUP_DNSDB
-#include "lookups/dnsdb.h"
-#endif
-
-#ifdef LOOKUP_DSEARCH
-#include "lookups/dsearch.h"
-#endif
-
-#ifdef LOOKUP_IBASE
-#include "lookups/ibase.h"
-#endif
-
-#ifdef LOOKUP_LDAP
-#include "lookups/ldap.h"
-#endif
-
-#ifdef LOOKUP_LSEARCH
-#include "lookups/lsearch.h"
-#endif
-
-#ifdef LOOKUP_MYSQL
-#include "lookups/mysql.h"
-#endif
-
-#ifdef LOOKUP_NIS
-#include "lookups/nis.h"
-#endif
-
-#ifdef LOOKUP_NISPLUS
-#include "lookups/nisplus.h"
-#endif
-
-#ifdef LOOKUP_ORACLE
-#include "lookups/oracle.h"
-#endif
-
-#ifdef LOOKUP_PASSWD
-#include "lookups/passwd.h"
-#endif
-
-#ifdef LOOKUP_PGSQL
-#include "lookups/pgsql.h"
-#endif
-
-#ifdef EXPERIMENTAL_SPF
-#include "lookups/spf.h"
-#endif
-
-#ifdef LOOKUP_SQLITE
-#include "lookups/sqlite.h"
-#endif
-
-#ifdef LOOKUP_TESTDB
-#include "lookups/testdb.h"
-#endif
-
-#ifdef LOOKUP_WHOSON
-#include "lookups/whoson.h"
-#endif
-
-#ifdef EXPERIMENTAL_DKIM
-#include "lookups/dkim.h"
-#endif
-
-
-/* The second field in each item below is a set of bit flags:
-
[...2969 lines suppressed...]
}
-#endif /* LOOKUP_WHOSON */
+static lookup_info _lookup_info = {
+ US"whoson", /* lookup name */
+ lookup_querystyle, /* query-style lookup */
+ whoson_open, /* open function */
+ NULL, /* check function */
+ whoson_find, /* find function */
+ NULL, /* no close function */
+ NULL, /* no tidy function */
+ NULL /* no quoting function */
+};
+
+#ifdef DYNLOOKUP
+#define whoson_lookup_module_info _lookup_module_info
+#endif
+
+static lookup_info *_lookup_list[] = { &_lookup_info };
+lookup_module_info whoson_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 };
/* End of lookups/whoson.c */
diff --git a/src/lookups/whoson.h b/src/lookups/whoson.h
deleted file mode 100644
index 3490383..0000000
--- a/src/lookups/whoson.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* $Cambridge: exim/exim-src/src/lookups/whoson.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */
-
-/*************************************************
-* Exim - an Internet mail transport agent *
-*************************************************/
-
-/* Copyright (c) University of Cambridge 1995 - 2007 */
-/* See the file NOTICE for conditions of use and distribution. */
-
-/* Header for the whoson lookup */
-
-extern void *whoson_open(uschar *, uschar **);
-extern int whoson_find(void *, uschar *, uschar *, int, uschar **, uschar **,
- BOOL *);
-
-/* End of lookups/whoson.h */
diff --git a/src/macros.h b/src/macros.h
index 4ca353c..a70aa85 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -96,7 +96,7 @@ don't make the file descriptors two-way. */
/* A macro to simplify testing bits in lookup types */
-#define mac_islookup(a,b) ((lookup_list[a].type & (b)) != 0)
+#define mac_islookup(a,b) ((lookup_list[a]->type & (b)) != 0)
/* Debugging control */
diff --git a/src/search.c b/src/search.c
index 8181285..3510d33 100644
--- a/src/search.c
+++ b/src/search.c
@@ -71,7 +71,7 @@ int top = lookup_list_count;
while (top > bot)
{
int mid = (top + bot)/2;
- int c = Ustrncmp(name, lookup_list[mid].name, len);
+ int c = Ustrncmp(name, lookup_list[mid]->name, len);
/* If c == 0 we have matched the incoming name with the start of the search
type name. However, some search types are substrings of others (e.g. nis and
@@ -81,9 +81,9 @@ while (top > bot)
are testing. By leaving c == 0 when the lengths are different, and doing a
> 0 test below, this all falls out correctly. */
- if (c == 0 && Ustrlen(lookup_list[mid].name) == len)
+ if (c == 0 && Ustrlen(lookup_list[mid]->name) == len)
{
- if (lookup_list[mid].find != NULL) return mid;
+ if (lookup_list[mid]->find != NULL) return mid;
search_error_message = string_sprintf("lookup type \"%.*s\" is not "
"available (not in the binary - check buildtime LOOKUP configuration)",
len, name);
@@ -237,8 +237,8 @@ if (t->left != NULL) tidyup_subtree(t->left);
if (t->right != NULL) tidyup_subtree(t->right);
if (c != NULL &&
c->handle != NULL &&
- lookup_list[c->search_type].close != NULL)
- lookup_list[c->search_type].close(c->handle);
+ lookup_list[c->search_type]->close != NULL)
+ lookup_list[c->search_type]->close(c->handle);
}
@@ -270,7 +270,7 @@ open_filecount = 0;
/* Call the general tidyup entry for any drivers that have one. */
for (i = 0; i < lookup_list_count; i++)
- if (lookup_list[i].tidy != NULL) (lookup_list[i].tidy)();
+ if (lookup_list[i]->tidy != NULL) (lookup_list[i]->tidy)();
if (search_reset_point != NULL) store_reset(search_reset_point);
search_reset_point = NULL;
@@ -335,7 +335,7 @@ search_open(uschar *filename, int search_type, int modemask, uid_t *owners,
void *handle;
tree_node *t;
search_cache *c;
-lookup_info *lk = lookup_list + search_type;
+lookup_info *lk = lookup_list[search_type];
uschar keybuffer[256];
int old_pool = store_pool;
@@ -388,7 +388,7 @@ if (lk->type == lookup_absfile && open_filecount >= lookup_open_max)
((search_cache *)(open_bot->data.ptr))->down = NULL;
else
open_top = NULL;
- ((lookup_list + c->search_type)->close)(c->handle);
+ ((lookup_list[c->search_type])->close)(c->handle);
c->handle = NULL;
open_filecount--;
}
@@ -480,7 +480,7 @@ search_find_defer = FALSE;
DEBUG(D_lookup) debug_printf("internal_search_find: file=\"%s\"\n "
"type=%s key=\"%s\"\n", filename,
- lookup_list[search_type].name, keystring);
+ lookup_list[search_type]->name, keystring);
/* Insurance. If the keystring is empty, just fail. */
@@ -511,7 +511,7 @@ if ((t = tree_search(c->item_cache, keystring)) == NULL)
like FAIL, except that search_find_defer is set so the caller can
distinguish if necessary. */
- if (lookup_list[search_type].find(c->handle, filename, keystring, keylength,
+ if (lookup_list[search_type]->find(c->handle, filename, keystring, keylength,
&data, &search_error_message, &do_cache) == DEFER)
{
search_find_defer = TRUE;
@@ -622,7 +622,7 @@ DEBUG(D_lookup)
that opens real files. */
if (open_top != (tree_node *)handle &&
- lookup_list[t->name[0]-'0'].type == lookup_absfile)
+ lookup_list[t->name[0]-'0']->type == lookup_absfile)
{
search_cache *c = (search_cache *)(t->data.ptr);
tree_node *up = c->up;
diff --git a/src/structs.h b/src/structs.h
index 2000e04..915e100 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -322,34 +322,7 @@ typedef struct router_info {
/* Structure for holding information about a lookup type. */
-typedef struct lookup_info {
- uschar *name; /* e.g. "lsearch" */
- int type; /* query/singlekey/abs-file */
- void *(*open)( /* open function */
- uschar *, /* file name for those that have one */
- uschar **); /* for error message */
- BOOL (*check)( /* file checking function */
- void *, /* handle */
- uschar *, /* file name */
- int, /* modemask for file checking */
- uid_t *, /* owners for file checking */
- gid_t *, /* owngroups for file checking */
- uschar **); /* for error messages */
- int (*find)( /* find function */
- void *, /* handle */
- uschar *, /* file name or NULL */
- uschar *, /* key or query */
- int, /* length of key or query */
- uschar **, /* for returning answer */
- uschar **, /* for error message */
- BOOL *); /* to request cache cleanup */
- void (*close)( /* close function */
- void *); /* handle */
- void (*tidy)(void); /* tidy function */
- uschar *(*quote)( /* quoting function */
- uschar *, /* string to quote */
- uschar *); /* additional data from quote name */
-} lookup_info;
+#include "lookupapi.h"
/* Structure for holding information about the configured authentication
diff --git a/src/verify.c b/src/verify.c
index fcbcd04..95bcc73 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -2219,7 +2219,7 @@ if (iplookup)
}
else /* Single-key style */
{
- int sep = (Ustrcmp(lookup_list[search_type].name, "iplsearch") == 0)?
+ int sep = (Ustrcmp(lookup_list[search_type]->name, "iplsearch") == 0)?
':' : '.';
insize = host_aton(cb->host_address, incoming);
host_mask(insize, incoming, mlen);
exim-4.50-config.patch:
Index: exim-4.50-config.patch
===================================================================
RCS file: /cvs/pkgs/rpms/exim/devel/exim-4.50-config.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- exim-4.50-config.patch 6 Feb 2007 18:08:56 -0000 1.6
+++ exim-4.50-config.patch 22 Apr 2008 17:30:01 -0000 1.7
@@ -1,5 +1,5 @@
---- exim-4.50/Local/Makefile.conf 2005-02-22 19:12:14.000000000 +0000
-+++ exim-4.50/Local/Makefile 2005-02-22 19:15:10.000000000 +0000
+--- exim-4.50/src/EDITME 2005-02-22 19:12:14.000000000 +0000
++++ exim-4.50/src/EDITME 2005-02-22 19:15:10.000000000 +0000
@@ -100,7 +100,7 @@
# /usr/local/sbin. The installation script will try to create this directory,
# and any superior directories, if they do not exist.
exim-4.62-dlopen-localscan.patch:
Index: exim-4.62-dlopen-localscan.patch
===================================================================
RCS file: /cvs/pkgs/rpms/exim/devel/exim-4.62-dlopen-localscan.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- exim-4.62-dlopen-localscan.patch 6 Feb 2007 18:08:56 -0000 1.2
+++ exim-4.62-dlopen-localscan.patch 22 Apr 2008 17:30:01 -0000 1.3
@@ -10,8 +10,8 @@
Marc MERLIN <marc_soft at merlins.org>
diff -urN exim-4.14-0/src/EDITME exim-4.14-1/src/EDITME
---- exim-4.14-0/Local/Makefile Tue Mar 11 04:20:18 2003
-+++ exim-4.14-1/Local/Makefile Sun Mar 23 15:34:15 2003
+--- exim-4.14-0/src/EDITME Tue Mar 11 04:20:18 2003
++++ exim-4.14-1/src/EDITME Sun Mar 23 15:34:15 2003
@@ -388,6 +388,20 @@
Index: exim.spec
===================================================================
RCS file: /cvs/pkgs/rpms/exim/devel/exim.spec,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- exim.spec 18 Mar 2008 15:45:12 -0000 1.50
+++ exim.spec 22 Apr 2008 17:30:01 -0000 1.51
@@ -12,7 +12,7 @@
Summary: The exim mail transfer agent
Name: exim
Version: 4.69
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Url: http://www.exim.org/
Group: System Environment/Daemons
@@ -51,6 +51,8 @@
Patch21: exim-4.63-localhost-is-local.patch
Patch22: exim-4.66-greylist-conf.patch
Patch23: exim-4.67-smarthost-config.patch
+Patch24: exim-4.69-dynlookup.patch
+Patch25: exim-4.69-dynlookup-config.patch
Requires: /etc/aliases
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@@ -70,10 +72,23 @@
mail. Exim can be installed in place of sendmail, although the
configuration of exim is quite different to that of sendmail.
+%package mysql
+Summary: MySQL lookup support for Exim
+Group: System Environment/Daemons
+
+%description mysql
+This package contains the MySQL lookup module for Exim
+
+%package pgsql
+Summary: PostgreSQL lookup support for Exim
+Group: System Environment/Daemons
+
+%description pgsql
+This package contains the PostgreSQL lookup module for Exim
+
%package mon
-Summary: X11 monitor application for exim
+Summary: X11 monitor application for Exim
Group: Applications/System
-License: GPL
%description mon
The Exim Monitor is an optional supplement to the Exim package. It
@@ -146,8 +161,6 @@
%if 0%{?buildsa}
%setup -q -T -D -a 13
%endif
-cp src/EDITME Local/Makefile
-cp exim_monitor/EDITME Local/eximon.conf
%patch4 -p1 -b .rhl
%patch6 -p1 -b .config
@@ -163,13 +176,21 @@
%patch21 -p1 -b .localhost
%patch22 -p1 -b .grey
%patch23 -p1 -b .smarthost
+%patch24 -p1 -b .dynlookup
+%patch25 -p1 -b .dynconfig
+
+cp src/EDITME Local/Makefile
+sed -i 's@^# LOOKUP_MODULE_DIR=.*@LOOKUP_MODULE_DIR=%{_libdir}/exim/%{version}-%{release}/lookups@' Local/Makefile
+cp exim_monitor/EDITME Local/eximon.conf
+
%build
%ifnarch s390 s390x sparc sparcv9 sparcv9v sparc64 sparc64v
- make CFLAGS="$RPM_OPT_FLAGS -fpie" LFLAGS=-pie _lib=%{_lib}
+ PIE=-fpie
%else
- make CFLAGS="$RPM_OPT_FLAGS -fPIE" LFLAGS=-pie _lib=%{_lib}
+ PIE=-fPIE
%endif
+make CFLAGS="$RPM_OPT_FLAGS $PIE" LFLAGS=-pie _lib=%{_lib} FULLECHO=
%if 0%{?buildsa}
# build sa-exim
@@ -198,6 +219,13 @@
install -m 0755 $i $RPM_BUILD_ROOT%{_sbindir}
done
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/exim/%{version}-%{release}/lookups
+for i in mysql.so pgsql.so
+do
+ install -m755 lookups/$i \
+ $RPM_BUILD_ROOT%{_libdir}/exim/%{version}-%{release}/lookups
+done
+
cd ..
install -m 0644 src/configure.default $RPM_BUILD_ROOT%{_sysconfdir}/exim/exim.conf
@@ -382,6 +410,7 @@
%{_bindir}/newaliases.exim
/usr/lib/sendmail.exim
%{_mandir}/*/*
+%dir %{_libdir}/exim/%{version}-%{release}/lookups
%defattr(-,exim,exim)
%dir %{_var}/spool/exim
@@ -406,6 +435,12 @@
%attr(0600,root,root) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) /etc/pki/tls/certs/exim.pem
%attr(0600,root,root) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) /etc/pki/tls/private/exim.pem
+%files mysql
+%{_libdir}/exim/%{version}-%{release}/lookups/mysql.so
+
+%files pgsql
+%{_libdir}/exim/%{version}-%{release}/lookups/pgsql.so
+
%files mon
%defattr(-,root,root)
%{_sbindir}/eximon
@@ -448,10 +483,13 @@
%{_sysconfdir}/cron.daily/greylist-tidy.sh
%changelog
-* Tue Mar 18 2008 Tom "spot" Callaway <tcallawa at redhat.com> 4.59-4
+* Sat Apr 19 2008 David Woodhouse <dwmw2 at infradead.org> 4.69-5
+- Add dynamic lookup patch, split into subpackages (#199256)
+
+* Tue Mar 18 2008 Tom "spot" Callaway <tcallawa at redhat.com> 4.69-4
- add Requires for versioned perl (libperl.so)
-* Mon Mar 17 2008 David Woodhouse <dwmw2 at infradead.org> 4.59-3
+* Mon Mar 17 2008 David Woodhouse <dwmw2 at infradead.org> 4.69-3
- Rebuild for new perl
* Mon Feb 04 2008 Dennis Gilmore <dennis at ausil.us> 4.69-2
More information about the fedora-extras-commits
mailing list