Dan Weber
Dan Weber wrote:
Over some free time I had, I made some patches to split dbmail in to libraries. This has some benefits, most notably with -fPIC it is going to reuse the library. This made the binaries smaller, and less memory consumptive. I started working at this because I plan to fork dbmail as soon as it hits a solid 2.0 release. I was going to split it more into a mail management system and take away the pop and imap. Then I would provide libraries and headers to write frontends to it. I also cleaned up the install. It now installs daemons/management tools to /usr/sbin and some other userland tools to /usr /bin. There was an ugly bug with AC_DEFINE(_GNU_SOURCE) in the configure.in which is fixed in the first patch.Dan Weber ------------------------------------------------------------------------ #! /bin/sh -e ## 09_libtool_dbmaillib.dpatch by <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: No description. if [ $# -lt 1 ]; then echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 exit 1 fi [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" case "$1" in -patch) patch -p1 ${patch_opts} < $0;; -unpatch) patch -R -p1 ${patch_opts} < $0;; *) echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 exit 1;; esac exit 0 @DPATCH@ diff -urNad /usr/src/dbmail/dbmail-2.0/acinclude.m4 dbmail-2.0/acinclude.m4 --- /usr/src/dbmail/dbmail-2.0/acinclude.m4 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/acinclude.m4 2004-05-24 17:34:49.000000000 -0400 @@ -203,7 +203,8 @@ AC_MSG_RESULT([$MYSQLINC]) AC_MSG_CHECKING([MySQL libraries]) SQLLIB=`${mysqlconfig} --libs` - SQLALIB="mysql/libmysqldbmail.a" + SQLALIB="mysql/.libs/libmysqldbmail.a" + SQLLTLIB="mysql/libmysqldbmail.la" AC_MSG_RESULT([$SQLLIB]) fi else @@ -221,7 +222,8 @@ AC_MSG_CHECKING([PostgreSQL libraries]) PGLIBDIR=`${pgsqlconfig} --libdir` SQLLIB="-L$PGLIBDIR -lpq" - SQLALIB="pgsql/libpgsqldbmail.a" + SQLALIB="pgsql/.libs/libpgsqldbmail.a" + SQLLTLIB="pgsql/libpgsqldbmail.la" AC_MSG_RESULT([$SQLLIB]) fi fi @@ -234,7 +236,8 @@ AC_ARG_WITH(sieve,[ --with-sieve=PATH full path to libSieve header directory], sieveheadername="$withval$") dnl This always needs to be defined -SORTALIB="sort/libsortdbmail.a" +SORTALIB="sort/.libs/libsortdbmail.a" +SORTLTLIB="sort/libsortdbmail.la" WARN=0 if test ! "${sieveheadername-x}" = "x" @@ -309,7 +312,8 @@ AC_ARG_WITH(auth-ldap,[ --with-auth-ldap=PATH full path to ldap header directory], authldapheadername="$withval$") dnl This always needs to be defined -AUTHALIB="auth/libauthdbmail.a" +AUTHALIB="auth/.libs/libauthdbmail.a" +AUTHLTLIB="auth/libauthdbmail.la" WARN=0 if test ! "${authldapheadername-x}" = "x" diff -urNad /usr/src/dbmail/dbmail-2.0/auth/Makefile.am dbmail-2.0/auth/Makefile.am --- /usr/src/dbmail/dbmail-2.0/auth/Makefile.am 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/auth/Makefile.am 2004-05-24 17:34:49.000000000 -0400 @@ -18,9 +18,9 @@ AM_CFLAGS = -fomit-frame-pointer -lib_LIBRARIES = libauthdbmail.a +lib_LTLIBRARIES = libauthdbmail.la if LDAP -libauthdbmail_a_SOURCES = authldap.c +libauthdbmail_la_SOURCES = authldap.c else -libauthdbmail_a_SOURCES = authsql.c +libauthdbmail_la_SOURCES = authsql.c endif diff -urNad /usr/src/dbmail/dbmail-2.0/configure.in dbmail-2.0/configure.in --- /usr/src/dbmail/dbmail-2.0/configure.in 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/configure.in 2004-05-24 17:34:49.000000000 -0400 @@ -56,11 +56,18 @@ AC_SUBST(SQLLIB) AC_SUBST(LDAPLIB) AC_SUBST(SQLALIB) +AC_SUBST(SQLLTLIB) AC_SUBST(SORTALIB) +AC_SUBST(SORTLTLIB) AC_SUBST(AUTHALIB) +AC_SUBST(AUTHLTLIB) AC_SUBST(SIEVELIB) AC_SUBST(MYSQLINC) AC_SUBST(PGSQLINC) AC_SUBST(SIEVEINC) AC_SUBST(LDAPINC) + +# libtool patch +AC_PROG_LIBTOOL + AC_OUTPUT(Makefile mysql/Makefile pgsql/Makefile auth/Makefile sort/Makefile) diff -urNad /usr/src/dbmail/dbmail-2.0/imap4.c dbmail-2.0/imap4.c --- /usr/src/dbmail/dbmail-2.0/imap4.c 2004-05-24 17:34:49.000000000 -0400 +++ dbmail-2.0/imap4.c 2004-05-24 17:34:49.000000000 -0400 @@ -45,6 +45,8 @@ #define null_free(p) { my_free(p); p = NULL; } +struct list mimelist,smtpItems; + /* cache */ cache_t cached_msg; diff -urNad /usr/src/dbmail/dbmail-2.0/maintenance.c dbmail-2.0/maintenance.c --- /usr/src/dbmail/dbmail-2.0/maintenance.c 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/maintenance.c 2004-05-24 17:34:49.000000000 -0400 @@ -42,6 +42,8 @@ #include <time.h> #include <string.h> + +struct list mimelist,smtpItems; char *configFile = DEFAULT_CONFIG_FILE; /* set up database login data */ diff -urNad /usr/src/dbmail/dbmail-2.0/Makefile.am dbmail-2.0/Makefile.am --- /usr/src/dbmail/dbmail-2.0/Makefile.am 2004-05-24 17:34:49.000000000 -0400 +++ dbmail-2.0/Makefile.am 2004-05-24 17:35:21.000000000 -0400 @@ -31,32 +31,36 @@ # CFLAGS AM_CFLAGS = -fomit-frame-pointer -dbmail_smtp_SOURCES = $(COMMON) $(DELIVER) main.c -dbmail_smtp_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_smtp_SOURCES = main.c +dbmail_smtp_LDADD = libdbmail.la -dbmail_pop3d_SOURCES = $(COMMON) $(SERVER) pop3.c pop3d.c -dbmail_pop3d_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_pop3d_SOURCES = pop3.c pop3d.c +dbmail_pop3d_LDADD = libdbmail.la -dbmail_imapd_SOURCES = $(COMMON) $(SERVER) quota.c imap4.c imaputil.c imapcommands.c memblock.c rfcmsg.c imapd.c dbsearch.c dbmsgbuf.c acl.c -dbmail_imapd_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_imapd_SOURCES = quota.c imap4.c imaputil.c imapcommands.c memblock.c rfcmsg.c imapd.c dbsearch.c dbmsgbuf.c acl.c +dbmail_imapd_LDADD = libdbmail.la -dbmail_maintenance_SOURCES = $(COMMON) maintenance.c -dbmail_maintenance_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_maintenance_SOURCES = maintenance.c +dbmail_maintenance_LDADD = libdbmail.la -dbmail_adduser_SOURCES = $(COMMON) user.c -dbmail_adduser_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_adduser_SOURCES = user.c +dbmail_adduser_LDADD = libdbmail.la -dbmail_readvut_SOURCES = $(COMMON) vut2dbmail.c -dbmail_readvut_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_readvut_SOURCES = vut2dbmail.c +dbmail_readvut_LDADD = libdbmail.la -dbmail_lmtpd_SOURCES = $(COMMON) $(SERVER) $(DELIVER) lmtp.c lmtpd.c -dbmail_lmtpd_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_lmtpd_SOURCES = lmtp.c lmtpd.c +dbmail_lmtpd_LDADD = libdbmail.laif SIEVE -dbmail_sievecmd_SOURCES = $(COMMON) sievecmd.c -dbmail_sievecmd_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_sievecmd_SOURCES = sievecmd.c +dbmail_sievecmd_LDADD = libdbmail.la-dbmail_timsieved_SOURCES = $(COMMON) $(SERVER) timsieve.c timsieved.c -dbmail_timsieved_LDADD = @SQLALIB@ @SORTALIB@ @AUTHALIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ +dbmail_timsieved_SOURCES = timsieve.c timsieved.c +dbmail_timsieved_LDADD = libdbmail.la endif + +lib_LTLIBRARIES = libdbmail.la +libdbmail_la_SOURCES = $(COMMON) $(SERVER) $(DELIVER) +libdbmail_la_LIBADD = @SQLLTLIB@ @SORTLTLIB@ @AUTHLTLIB@ @SQLLIB@ @LDAPLIB@ @SIEVELIB@ diff -urNad /usr/src/dbmail/dbmail-2.0/mysql/Makefile.am dbmail-2.0/mysql/Makefile.am --- /usr/src/dbmail/dbmail-2.0/mysql/Makefile.am 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/mysql/Makefile.am 2004-05-24 17:34:49.000000000 -0400 @@ -17,9 +17,9 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. if MYSQL -AM_CFLAGS = @MYSQLINC@ -fomit-frame-pointer+AM_CFLAGS = @MYSQLINC@ -fomit-frame-pointer-lib_LIBRARIES = libmysqldbmail.a +lib_LTLIBRARIES = libmysqldbmail.la -libmysqldbmail_a_SOURCES = dbmysql.c +libmysqldbmail_la_SOURCES = dbmysql.c endif diff -urNad /usr/src/dbmail/dbmail-2.0/pgsql/Makefile.am dbmail-2.0/pgsql/Makefile.am --- /usr/src/dbmail/dbmail-2.0/pgsql/Makefile.am 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/pgsql/Makefile.am 2004-05-24 17:34:49.000000000 -0400 @@ -19,7 +19,7 @@ AM_CFLAGS = @PGSQLINC@ -fomit-frame-pointer -lib_LIBRARIES = libpgsqldbmail.a +lib_LTLIBRARIES = libpgsqldbmail.la -libpgsqldbmail_a_SOURCES = dbpgsql.c +libpgsqldbmail_la_SOURCES = dbpgsql.c endif diff -urNad /usr/src/dbmail/dbmail-2.0/pop3.c dbmail-2.0/pop3.c --- /usr/src/dbmail/dbmail-2.0/pop3.c 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/pop3.c 2004-05-24 17:34:49.000000000 -0400 @@ -54,6 +54,8 @@ extern int pop_before_smtp; +struct list mimelist,smtpItems; + int pop3(void *stream, char *buffer, char *client_ip, PopSession_t * session); diff -urNad /usr/src/dbmail/dbmail-2.0/sort/Makefile.am dbmail-2.0/sort/Makefile.am --- /usr/src/dbmail/dbmail-2.0/sort/Makefile.am 2004-05-24 17:34:48.000000000 -0400 +++ dbmail-2.0/sort/Makefile.am 2004-05-24 17:34:49.000000000 -0400 @@ -16,11 +16,11 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -lib_LIBRARIES = libsortdbmail.a +lib_LTLIBRARIES = libsortdbmail.la if SIEVE -libsortdbmail_a_SOURCES = sort.c sortsieve.c +libsortdbmail_la_SOURCES = sort.c sortsieve.c CFLAGS += -DSIEVE else -libsortdbmail_a_SOURCES = sort.c +libsortdbmail_la_SOURCES = sort.c endif diff -urNad /usr/src/dbmail/dbmail-2.0/user.c dbmail-2.0/user.c --- /usr/src/dbmail/dbmail-2.0/user.c 2004-05-05 04:59:02.000000000 -0400 +++ dbmail-2.0/user.c 2004-05-24 17:35:37.000000000 -0400 @@ -43,6 +43,8 @@ #endif #include "dbmd5.h" +struct list mimelist,smtpItems; + char *configFile = DEFAULT_CONFIG_FILE; #define SHADOWFILE "/etc/shadow" diff -urNad /usr/src/dbmail/dbmail-2.0/vut2dbmail.c dbmail-2.0/vut2dbmail.c --- /usr/src/dbmail/dbmail-2.0/vut2dbmail.c 2004-03-19 13:36:59.000000000 -0500 +++ dbmail-2.0/vut2dbmail.c 2004-05-24 17:35:54.000000000 -0400 @@ -39,6 +39,7 @@ #define MAXLINESIZE 1024 #define DEF_MAXMAILSIZE 1024 +struct list mimelist,smtpItems; char *configFile = DEFAULT_CONFIG_FILE; char line[MAXLINESIZE];------------------------------------------------------------------------ #! /bin/sh -e ## 10_sbin_install.dpatch by <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: No description. if [ $# -lt 1 ]; then echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 exit 1 fi [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" case "$1" in -patch) patch -p1 ${patch_opts} < $0;; -unpatch) patch -R -p1 ${patch_opts} < $0;; *) echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 exit 1;; esac exit 0 @DPATCH@ diff -urNad /usr/src/dbmail/dbmail-2.0/Makefile.am dbmail-2.0/Makefile.am --- /usr/src/dbmail/dbmail-2.0/Makefile.am 2004-05-24 20:00:26.000000000 -0400 +++ dbmail-2.0/Makefile.am 2004-05-24 20:02:46.000000000 -0400 @@ -21,8 +21,9 @@ SIEVEPROGS = dbmail-sievecmd dbmail-timsieved endif -bin_PROGRAMS = dbmail-smtp dbmail-pop3d dbmail-imapd dbmail-maintenance dbmail-adduser dbmail-readvut dbmail-lmtpd $(SIEVEPROGS) -bin_SCRIPTS = install-dbmail.sh +bin_PROGRAMS = dbmail-readvut $(SIEVEPROGS) +sbin_SCRIPTS = install-dbmail.sh+sbin_PROGRAMS = dbmail-smtp dbmail-pop3d dbmail-imapd dbmail-maintenance dbmail-adduser dbmail-lmtpdCOMMON = config.c debug.c list.c dbmd5.c md5.c db.c misc.c mime.c SERVER = server.c serverchild.c pool.c------------------------------------------------------------------------ _______________________________________________ Dbmail-dev mailing list Dbmail-dev@dbmail.org http://twister.fastxs.net/mailman/listinfo/dbmail-dev
signature.asc
Description: OpenPGP digital signature