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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to