Hi Josip, This patch adds maildrop-mysql and maildrop-ldap packages to maildrop. It could probably use more love (I haven't extensively tested it yet; maildrop-mysql at least installs and runs). For example, instead of each target package blindly conflicting w/ others, they could play nice w/ update-alternatives. Also, instead of duplicating files, a maildrop-common package would be nicer. But, no point in doing any of this until I get your opinion.
This patch keeps the old debian/rules shell script way of doing things. -- Andres Salomon <[EMAIL PROTECTED]>
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/changelog maildrop--debian-mysql--0--patch-4/changelog
--- maildrop--debian-mysql--0--base-0/changelog 2005-01-20 23:17:16.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/changelog 2005-01-20 23:17:13.000000000 -0500
@@ -1,3 +1,11 @@
+maildrop (1.5.3-1.2) unstable; urgency=low
+
+ * NMU
+ * Create maildrop-mysql package (closes: #212701).
+ * Create maildrop-ldap package (closes: #222421).
+
+ -- Andres Salomon <[EMAIL PROTECTED]> Thu, 20 Jan 2005 18:04:14 -0500
+
maildrop (1.5.3-1.1) unstable; urgency=low
* NMU during Darmstadt BSP
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/control maildrop--debian-mysql--0--patch-4/control
--- maildrop--debian-mysql--0--base-0/control 2005-01-20 23:17:16.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/control 2005-01-20 23:17:13.000000000 -0500
@@ -3,12 +3,12 @@
Priority: optional
Maintainer: Josip Rodin <[EMAIL PROTECTED]>
Standards-Version: 3.6.0
-Build-Depends: debhelper (>= 2), libgdbm-dev
+Build-Depends: debhelper (>= 2), libgdbm-dev, libmysqlclient10-dev, libldap2-dev
Package: maildrop
Architecture: any
Depends: exim | mail-transport-agent, ${shlibs:Depends}
-Conflicts: suidmanager (<< 0.50)
+Conflicts: suidmanager (<< 0.50), maildrop-mysql, maildrop-ldap
Description: mail delivery agent with filtering abilities
maildrop is a replacement for your local mail delivery agent.
maildrop reads a mail message from standard input, then delivers the
@@ -20,3 +20,41 @@
mailboxes, or forward it to somewhere else, like procmail. Unlike procmail,
maildrop uses a structured filtering language that's a bit easier on the
eyes.
+
+Package: maildrop-mysql
+Architecture: any
+Depends: exim | mail-transport-agent, ${shlibs:Depends}
+Conflicts: suidmanager (<< 0.50), maildrop, maildrop-ldap
+Description: mail delivery agent with filtering abilities
+ maildrop is a replacement for your local mail delivery agent.
+ maildrop reads a mail message from standard input, then delivers the
+ message to your mailbox. maildrop knows how to deliver mail to mbox-style
+ mailboxes, and maildirs (a mail storing format introduced by Qmail).
+ .
+ maildrop can optionally read instructions from a file on how to filter
+ incoming mail, and, based upon the instructions, deliver mail to alternate
+ mailboxes, or forward it to somewhere else, like procmail. Unlike procmail,
+ maildrop uses a structured filtering language that's a bit easier on the
+ eyes.
+ .
+ This package includes support for querying a MySQL database for mail
+ delivery information.
+
+Package: maildrop-ldap
+Architecture: any
+Depends: exim | mail-transport-agent, ${shlibs:Depends}
+Conflicts: suidmanager (<< 0.50), maildrop, maildrop-mysql
+Description: mail delivery agent with filtering abilities
+ maildrop is a replacement for your local mail delivery agent.
+ maildrop reads a mail message from standard input, then delivers the
+ message to your mailbox. maildrop knows how to deliver mail to mbox-style
+ mailboxes, and maildirs (a mail storing format introduced by Qmail).
+ .
+ maildrop can optionally read instructions from a file on how to filter
+ incoming mail, and, based upon the instructions, deliver mail to alternate
+ mailboxes, or forward it to somewhere else, like procmail. Unlike procmail,
+ maildrop uses a structured filtering language that's a bit easier on the
+ eyes.
+ .
+ This package includes support for querying a MySQL database for mail
+ delivery information.
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop-ldap.postinst maildrop--debian-mysql--0--patch-4/maildrop-ldap.postinst
--- maildrop--debian-mysql--0--base-0/maildrop-ldap.postinst 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop-ldap.postinst 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+# first remove some ancient crap
+ update-alternatives --remove maildirmake /usr/lib/maildrop/bin/maildirmake
+ update-alternatives --remove deliverquota /usr/lib/maildrop/bin/deliverquota
+ update-alternatives --remove deliverquota /usr/lib/maildrop/deliverquota
+ update-alternatives --remove dotlock /usr/lib/maildrop/bin/dotlock
+
+# install new stuff
+ update-alternatives --install /usr/bin/maildirmake maildirmake /usr/bin/maildirmake.maildrop-ldap 5 \
+ --slave /usr/share/man/man1/maildirmake.1.gz maildirmake.1.gz /usr/share/man/man1/maildirmake.maildrop-ldap.1.gz
+
+ update-alternatives --install /usr/sbin/deliverquota deliverquota /usr/sbin/deliverquota.maildrop-ldap 10 \
+ --slave /usr/share/man/man8/deliverquota.8.gz deliverquota.8.gz /usr/share/man/man8/deliverquota.maildrop-ldap.8.gz
+
+ update-alternatives --install /usr/bin/lockmail lockmail /usr/bin/lockmail.maildrop-ldap 5 \
+ --slave /usr/share/man/man1/lockmail.1.gz lockmail.1.gz /usr/share/man/man1/lockmail.maildrop-ldap.1.gz
+
+ update-alternatives --install /usr/share/man/man5/maildir.5.gz maildir.5.gz /usr/share/man/man5/maildir.maildrop-ldap.5.gz 5
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop-ldap.prerm maildrop--debian-mysql--0--patch-4/maildrop-ldap.prerm
--- maildrop--debian-mysql--0--base-0/maildrop-ldap.prerm 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop-ldap.prerm 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "upgrade" -o "$1" = "remove" ]; then
+ update-alternatives --remove lockmail /usr/bin/lockmail.maildrop-ldap
+ update-alternatives --remove maildirmake /usr/bin/maildirmake.maildrop-ldap
+ update-alternatives --remove deliverquota /usr/sbin/deliverquota.maildrop-ldap
+ update-alternatives --remove maildir.5.gz /usr/share/man/man5/maildir.maildrop-ldap.5.gz
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop-mysql.postinst maildrop--debian-mysql--0--patch-4/maildrop-mysql.postinst
--- maildrop--debian-mysql--0--base-0/maildrop-mysql.postinst 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop-mysql.postinst 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+# first remove some ancient crap
+ update-alternatives --remove maildirmake /usr/lib/maildrop/bin/maildirmake
+ update-alternatives --remove deliverquota /usr/lib/maildrop/bin/deliverquota
+ update-alternatives --remove deliverquota /usr/lib/maildrop/deliverquota
+ update-alternatives --remove dotlock /usr/lib/maildrop/bin/dotlock
+
+# install new stuff
+ update-alternatives --install /usr/bin/maildirmake maildirmake /usr/bin/maildirmake.maildrop-mysql 5 \
+ --slave /usr/share/man/man1/maildirmake.1.gz maildirmake.1.gz /usr/share/man/man1/maildirmake.maildrop-mysql.1.gz
+
+ update-alternatives --install /usr/sbin/deliverquota deliverquota /usr/sbin/deliverquota.maildrop-mysql 10 \
+ --slave /usr/share/man/man8/deliverquota.8.gz deliverquota.8.gz /usr/share/man/man8/deliverquota.maildrop-mysql.8.gz
+
+ update-alternatives --install /usr/bin/lockmail lockmail /usr/bin/lockmail.maildrop-mysql 5 \
+ --slave /usr/share/man/man1/lockmail.1.gz lockmail.1.gz /usr/share/man/man1/lockmail.maildrop-mysql.1.gz
+
+ update-alternatives --install /usr/share/man/man5/maildir.5.gz maildir.5.gz /usr/share/man/man5/maildir.maildrop-mysql.5.gz 5
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop-mysql.prerm maildrop--debian-mysql--0--patch-4/maildrop-mysql.prerm
--- maildrop--debian-mysql--0--base-0/maildrop-mysql.prerm 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop-mysql.prerm 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "upgrade" -o "$1" = "remove" ]; then
+ update-alternatives --remove lockmail /usr/bin/lockmail.maildrop-mysql
+ update-alternatives --remove maildirmake /usr/bin/maildirmake.maildrop-mysql
+ update-alternatives --remove deliverquota /usr/sbin/deliverquota.maildrop-mysql
+ update-alternatives --remove maildir.5.gz /usr/share/man/man5/maildir.maildrop-mysql.5.gz
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop.postinst maildrop--debian-mysql--0--patch-4/maildrop.postinst
--- maildrop--debian-mysql--0--base-0/maildrop.postinst 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop.postinst 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+# first remove some ancient crap
+ update-alternatives --remove maildirmake /usr/lib/maildrop/bin/maildirmake
+ update-alternatives --remove deliverquota /usr/lib/maildrop/bin/deliverquota
+ update-alternatives --remove deliverquota /usr/lib/maildrop/deliverquota
+ update-alternatives --remove dotlock /usr/lib/maildrop/bin/dotlock
+
+# install new stuff
+ update-alternatives --install /usr/bin/maildirmake maildirmake /usr/bin/maildirmake.maildrop 5 \
+ --slave /usr/share/man/man1/maildirmake.1.gz maildirmake.1.gz /usr/share/man/man1/maildirmake.maildrop.1.gz
+
+ update-alternatives --install /usr/sbin/deliverquota deliverquota /usr/sbin/deliverquota.maildrop 10 \
+ --slave /usr/share/man/man8/deliverquota.8.gz deliverquota.8.gz /usr/share/man/man8/deliverquota.maildrop.8.gz
+
+ update-alternatives --install /usr/bin/lockmail lockmail /usr/bin/lockmail.maildrop 5 \
+ --slave /usr/share/man/man1/lockmail.1.gz lockmail.1.gz /usr/share/man/man1/lockmail.maildrop.1.gz
+
+ update-alternatives --install /usr/share/man/man5/maildir.5.gz maildir.5.gz /usr/share/man/man5/maildir.maildrop.5.gz 5
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/maildrop.prerm maildrop--debian-mysql--0--patch-4/maildrop.prerm
--- maildrop--debian-mysql--0--base-0/maildrop.prerm 1969-12-31 19:00:00.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/maildrop.prerm 2005-01-20 23:17:13.000000000 -0500
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "upgrade" -o "$1" = "remove" ]; then
+ update-alternatives --remove lockmail /usr/bin/lockmail.maildrop
+ update-alternatives --remove maildirmake /usr/bin/maildirmake.maildrop
+ update-alternatives --remove deliverquota /usr/sbin/deliverquota.maildrop
+ update-alternatives --remove maildir.5.gz /usr/share/man/man5/maildir.maildrop.5.gz
+fi
+
+#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/postinst maildrop--debian-mysql--0--patch-4/postinst
--- maildrop--debian-mysql--0--base-0/postinst 2005-01-20 23:17:16.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/postinst 1969-12-31 19:00:00.000000000 -0500
@@ -1,23 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" = "configure" ]; then
-# first remove some ancient crap
- update-alternatives --remove maildirmake /usr/lib/maildrop/bin/maildirmake
- update-alternatives --remove deliverquota /usr/lib/maildrop/bin/deliverquota
- update-alternatives --remove deliverquota /usr/lib/maildrop/deliverquota
- update-alternatives --remove dotlock /usr/lib/maildrop/bin/dotlock
-
-# install new stuff
- update-alternatives --install /usr/bin/maildirmake maildirmake /usr/bin/maildirmake.maildrop 5 \
- --slave /usr/share/man/man1/maildirmake.1.gz maildirmake.1.gz /usr/share/man/man1/maildirmake.maildrop.1.gz
-
- update-alternatives --install /usr/sbin/deliverquota deliverquota /usr/sbin/deliverquota.maildrop 10 \
- --slave /usr/share/man/man8/deliverquota.8.gz deliverquota.8.gz /usr/share/man/man8/deliverquota.maildrop.8.gz
-
- update-alternatives --install /usr/bin/lockmail lockmail /usr/bin/lockmail.maildrop 5 \
- --slave /usr/share/man/man1/lockmail.1.gz lockmail.1.gz /usr/share/man/man1/lockmail.maildrop.1.gz
-
- update-alternatives --install /usr/share/man/man5/maildir.5.gz maildir.5.gz /usr/share/man/man5/maildir.maildrop.5.gz 5
-fi
-
-#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/prerm maildrop--debian-mysql--0--patch-4/prerm
--- maildrop--debian-mysql--0--base-0/prerm 2005-01-20 23:17:16.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/prerm 1969-12-31 19:00:00.000000000 -0500
@@ -1,10 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" = "upgrade" -o "$1" = "remove" ]; then
- update-alternatives --remove lockmail /usr/bin/lockmail.maildrop
- update-alternatives --remove maildirmake /usr/bin/maildirmake.maildrop
- update-alternatives --remove deliverquota /usr/sbin/deliverquota.maildrop
- update-alternatives --remove maildir.5.gz /usr/share/man/man5/maildir.maildrop.5.gz
-fi
-
-#DEBHELPER#
diff -x {arch} -x .arch-ids -urN maildrop--debian-mysql--0--base-0/rules maildrop--debian-mysql--0--patch-4/rules
--- maildrop--debian-mysql--0--base-0/rules 2005-01-20 23:17:16.000000000 -0500
+++ maildrop--debian-mysql--0--patch-4/rules 2005-01-20 23:17:13.000000000 -0500
@@ -1,67 +1,101 @@
#!/bin/sh -ex
export DH_COMPAT=2
-tmp=`pwd`/debian/maildrop
CFLAGS="-g -D_GNU_SOURCE"
if echo $DEB_BUILD_OPTIONS | grep -vq noopt; then
CFLAGS="$CFLAGS -O2"
fi
+# trust on the auto-detect of qmail failing (for sendmail compability)
+COMMON_ARGS="--prefix=/usr --mandir=\${prefix}/share/man
+ --libexecdir=\${prefix}/lib/maildrop --sysconfdir=/etc
+ --enable-use-dotlock=1 --enable-use-flock=1
+ --enable-sendmail=/usr/sbin/sendmail --enable-maildirquota"
+
case "$1" in
- build)
+ build-core)
dh_testdir
-# trust on the auto-detect of qmail failing (for sendmail compability)
- [ -f config.status ] || CPPFLAGS="$CFLAGS" ./configure --prefix=/usr \
- --mandir='${prefix}/share/man' --libexecdir='${prefix}/lib/maildrop' \
- --sysconfdir=/etc \
- --enable-use-dotlock=1 --enable-use-flock=1 \
- --enable-sendmail=/usr/sbin/sendmail --enable-maildirquota
+ [ -f Makefile ] && make distclean
+ [ -f maildrop-core.stamp ] || CPPFLAGS="$CFLAGS" ./configure $COMMON_ARGS
+ touch maildrop-core.stamp
+ [ -f maildrop/maildrop ] || make
+ ;;
+ build-mysql)
+ dh_testdir
+ [ -f Makefile ] && make distclean
+ [ -f maildrop-mysql.stamp ] || CPPFLAGS="$CFLAGS" ./configure $COMMON_ARGS \
+ --enable-maildropmysql --with-mysqlconfig=/etc/maildrop/mysql.conf
+ touch maildrop-mysql.stamp
+ [ -f maildrop/maildrop ] || make
+ ;;
+ build-ldap)
+ dh_testdir
+ [ -f Makefile ] && make distclean
+ [ -f maildrop-ldap.stamp ] || CPPFLAGS="$CFLAGS" ./configure $COMMON_ARGS \
+ --enable-maildropldap --with-ldapconfig=/etc/maildrop/ldap.conf
+ touch maildrop-ldap.stamp
[ -f maildrop/maildrop ] || make
;;
clean)
dh_testdir
dh_testroot
[ ! -f Makefile ] || make distclean
- rm -rf .deps
+ rm -rf .deps *.stamp
dh_clean stamp-build
;;
binary-arch|binary)
- [ -f config.status -a -f maildrop/maildrop ] || $0 build
dh_testdir
dh_testroot
dh_clean -k
- dh_installdirs usr/bin usr/sbin usr/share/doc/maildrop etc
- make DESTDIR=$tmp install
+
+ for t in maildrop maildrop-mysql maildrop-ldap; do
+ tmp=`pwd`/debian/$t
+ case "$t" in
+ maildrop)
+ [ -f maildrop-core.stamp -a -f maildrop/maildrop ] || $0 build-core
+ ;;
+ maildrop-mysql)
+ [ -f maildrop-mysql.stamp -a -f maildrop/maildrop ] || $0 build-mysql
+ ;;
+ maildrop-ldap)
+ [ -f maildrop-ldap.stamp -a -f maildrop/maildrop ] || $0 build-ldap
+ ;;
+ esac
+
+ dh_installdirs -p$t usr/bin usr/sbin usr/share/doc/maildrop etc/maildrop
+ make DESTDIR=$tmp install
# we use update-alternatives to manage these, because they're shared
# by other packages, notably qmail, courier-imap, mutt, mush
- (cd $tmp/usr/bin && mv maildirmake maildirmake.maildrop)
- (cd $tmp/usr/bin && mv lockmail lockmail.maildrop)
- (cd $tmp/usr/bin && mv deliverquota ../sbin/deliverquota.maildrop)
- (cd $tmp/usr/share/man/man1 && mv maildirmake.1 maildirmake.maildrop.1)
- (cd $tmp/usr/share/man/man8 && mv deliverquota.8 deliverquota.maildrop.8)
- (cd $tmp/usr/share/man/man1 && mv lockmail.1 lockmail.maildrop.1)
- (cd $tmp/usr/share/man/man5 && mv maildir.5 maildir.maildrop.5)
- ln -s maildropfilter.5.gz $tmp/usr/share/man/man5/maildroprc.5.gz
- ln -s maildropfilter.5.gz $tmp/usr/share/man/man5/mailfilter.5.gz
- install -m 644 -p debian/maildroprc $tmp/etc
- find $tmp/usr -type d -empty | xargs -r rmdir -p --ignore-fail-on-non-empty
- dh_installdocs README README.html AUTHORS INSTALL INSTALL.html maildroptips.txt
- dh_installchangelogs ChangeLog
+ (cd $tmp/usr/bin && mv maildirmake maildirmake.$t)
+ (cd $tmp/usr/bin && mv lockmail lockmail.$t)
+ (cd $tmp/usr/bin && mv deliverquota ../sbin/deliverquota.$t)
+ (cd $tmp/usr/share/man/man1 && mv maildirmake.1 maildirmake.$t.1)
+ (cd $tmp/usr/share/man/man8 && mv deliverquota.8 deliverquota.$t.8)
+ (cd $tmp/usr/share/man/man1 && mv lockmail.1 lockmail.$t.1)
+ (cd $tmp/usr/share/man/man5 && mv maildir.5 maildir.$t.5)
+ ln -s maildropfilter.5.gz $tmp/usr/share/man/man5/maildroprc.5.gz
+ ln -s maildropfilter.5.gz $tmp/usr/share/man/man5/mailfilter.5.gz
+ install -m 644 -p debian/maildroprc $tmp/etc
+# TODO: install default ldap and mysql config files?
+ find $tmp/usr -type d -empty | xargs -r rmdir -p --ignore-fail-on-non-empty
+ dh_installdocs -p$t README README.html AUTHORS INSTALL INSTALL.html maildroptips.txt
+ dh_installchangelogs -p$t ChangeLog
# NB PAM config installed manually
# dh_installpam
- if echo $DEB_BUILD_OPTIONS | grep -vq nostrip; then
- dh_strip
- fi
- dh_compress
- dh_fixperms
- (cd $tmp/usr/bin && chgrp mail maildrop lockmail.maildrop)
- (cd $tmp/usr/bin && chmod g+s maildrop lockmail.maildrop)
- dh_installdeb
- dh_perl
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ if echo $DEB_BUILD_OPTIONS | grep -vq nostrip; then
+ dh_strip -p$t
+ fi
+ dh_compress -p$t
+ dh_fixperms -p$t
+ (cd $tmp/usr/bin && chgrp mail maildrop lockmail.$t)
+ (cd $tmp/usr/bin && chmod g+s maildrop lockmail.$t)
+ dh_installdeb -p$t
+ dh_perl -p$t
+ dh_shlibdeps -p$t
+ dh_gencontrol -p$t
+ dh_md5sums -p$t
+ dh_builddeb -p$t
+ done
;;
esac
signature.asc
Description: This is a digitally signed message part

