debian/rules: Use `git' potty wrapper.
[qmail] / debian / rules
index 1aa7998..8c51ce3 100755 (executable)
@@ -1,6 +1,11 @@
 #!/usr/bin/make -f 
 #
 
+mdw-setup:
+       upstream=`git describe djb | sed 's:^djb/::'`; \
+       dir=qmail_$$upstream.orig; \
+       git tar-tree djb $$dir | gzip -9c >../$$dir.tar.gz
+
 build:
        $(checkdir)
        if fgrep QMAIL/bin *.sh >/dev/null; then \
@@ -28,7 +33,7 @@ binary-arch: checkroot build
        -rm -rf `find ! \( -name CVS -prune \) debian/* -type d -prune`
 # Make the directory tree and copy qmail files.
        install -d debian/tmp/etc/init.d \
-               debian/tmp/usr/doc/qmail \
+               debian/tmp/usr/share/doc/qmail \
                debian/tmp/var/qmail \
                debian/tmp/var/spool \
                debian/tmp/usr/bin \
@@ -36,14 +41,14 @@ binary-arch: checkroot build
                debian/tmp/usr/lib \
                debian/qmail-src/usr/bin \
                debian/qmail-src/usr/src/qmail-src \
-               debian/qmail-src/usr/doc/qmail-src
+               debian/qmail-src/usr/share/doc/qmail-src
        ./install `pwd`/debian/tmp/var/qmail
        mv debian/tmp/var/qmail/queue debian/tmp/var/spool/qmail
        mv debian/tmp/var/qmail/control debian/tmp/etc/qmail
        (cd debian/tmp/var/qmail && ln -s /var/spool/qmail queue)
        (cd debian/tmp/var/qmail && ln -s /etc/qmail control)
-       mv debian/tmp/var/qmail/man debian/tmp/usr/man && \
-               rm -r debian/tmp/usr/man/cat?
+       mv debian/tmp/var/qmail/man debian/tmp/usr/share/man && \
+               rm -r debian/tmp/usr/share/man/cat?
 # Move /var/qmail/bin programs to either /usr/bin or /usr/sbin
        bash debian/debianize-binary-tree
 # Create /usr/lib/sendmail symlink for backward compatibility.
@@ -54,35 +59,61 @@ binary-arch: checkroot build
        install -o root -g root -m 755 ipmeprint debian/tmp/usr/sbin/qmailconfig-ipmeprint
        install -o root -g root -m 755 dnsptr debian/tmp/usr/sbin/qmailconfig-dnsptr
 # (This one is a bit of a kludge...)
-#   Appears to be defunct in 1.03
-#       sed -e 's|./hostname|hostname|g' \
-#           -e 's|\./dnsptr|/usr/sbin/qmailconfig-dnsptr|g' \
-#           -e 's|\./dnsip|/usr/sbin/qmailconfig-dnsip|g' \
-#           -e 's|\./dnsfq|/usr/sbin/qmailconfig-dnsfq|g' \
-#           -e 's|\./ipmeprint|/usr/sbin/qmailconfig-ipmeprint|g' \
-#               qmail-config >debian/tmp/usr/sbin/qmailconfig
-#       chmod 755 debian/tmp/usr/sbin/qmailconfig
+        sed -e 's|./hostname|hostname|g' \
+            -e 's|\./dnsptr|/usr/sbin/qmailconfig-dnsptr|g' \
+            -e 's|\./dnsip|/usr/sbin/qmailconfig-dnsip|g' \
+            -e 's|\./dnsfq|/usr/sbin/qmailconfig-dnsfq|g' \
+            -e 's|\./ipmeprint|/usr/sbin/qmailconfig-ipmeprint|g' \
+                config >debian/tmp/usr/sbin/qmailconfig
+        chmod 755 debian/tmp/usr/sbin/qmailconfig
 # Install /etc/init.d/qmail
        install -o root -g root -m 755 debian/qmail debian/tmp/etc/init.d/qmail
-# Copy /usr/doc/qmail files.
-       install -o root -g root -m 644 debian/changelog debian/tmp/usr/doc/qmail/changelog.Debian
+# Copy /usr/share/doc/qmail files.
+       install -o root -g root -m 644 debian/changelog debian/tmp/usr/share/doc/qmail/changelog.Debian
        rm -rf debian/tmp/var/qmail/doc
 # do the stuff for qmail-src
-       cp ../qmail_1.03.orig.tar.gz ../qmail_1.03-2.diff.gz \
-                ../qmail_1.03-2.dsc debian/qmail-src/usr/src/qmail-src
+       fullver=`dpkg-parsechangelog | sed -n 's/^Version: \(.*\)$$/\1/p'` && \
+       ver=`echo $$fullver | sed 's/-.*//'` && \
+       cp ../qmail_$$ver.orig.tar.gz ../qmail_$$fullver.diff.gz \
+                ../qmail_$$fullver.dsc debian/qmail-src/usr/src/qmail-src
        install -m 755 debian/build-qmail debian/qmail-src/usr/bin
-       install debian/copyright debian/qmail-src/usr/doc/qmail-src
-       install debian/qmail-src.README debian/qmail-src/usr/doc/qmail-src/README
+       install debian/copyright debian/qmail-src/usr/share/doc/qmail-src
+       install debian/qmail-src.README debian/qmail-src/usr/share/doc/qmail-src/README
+# Correct permissions of binaries and manpages...
+       chmod go+rx debian/tmp/usr/*bin/*
+       chown -R root.root debian/tmp/usr/share/man
+# Do stuff for qmail-leaf
+       rm -rf debian/mini-qmail
+       cp -a debian/tmp debian/mini-qmail
+       rm -rf debian/mini-qmail/etc/init.d
+       for i in \
+           bouncesaying except qreceipt qbiff tcp-env \
+           condredirect preline log dot-qmail qmail-valid-addresses; do \
+         rm -f debian/mini-qmail/usr/share/man?/$$i.*; \
+         rm -f debian/mini-qmail/usr/*bin/$$i/*; \
+       done
+       for i in \
+           getpw remote rspawn clean send start splogger queue newu \
+           pw2u qread qstat tcpok pop3d popup qmqpd qmtpd smtpd command \
+           local lspawn newmrh users; do \
+         rm -f debian/mini-qmail/usr/share/man?/qmail-$$i.*; \
+         rm -f debian/mini-qmail/usr/*bin/qmail-$$i; \
+       done
+       rm -rf debian/mini-qmail/var/spool
+       for i in alias boot queue users; do \
+         rm -rf debian/mini-qmail/var/qmail/$$i; \
+       done
+       ln -s qmail-qmqpc debian/mini-qmail/usr/sbin/qmail-queue
+# Fix everything up
        debstd -m CHANGES BLURB* FAQ INTERNALS README \
                SECURITY INSTALL.* PIC.* REMOVE.* SYSDEPS THANKS THOUGHTS \
                TODO SENDMAIL TEST.* UPGRADE
-# Correct permissions of binaries and manpages...
-       chmod go+rx debian/tmp/usr/*bin/*
-       chown -R root.root debian/tmp/usr/man
-
+       cp -r debian/tmp/usr/share/doc/qmail \
+             debian/mini-qmail/usr/share/doc/mini-qmail
        dpkg-gencontrol -pqmail
 # And finally, build the Debian package!
        dpkg --build debian/tmp ..
+       dpkg --build debian/mini-qmail ..
 
 define checkdir
        test -f qmail-send.c -a -f debian/rules
@@ -90,11 +121,13 @@ endef
 
 binary:        binary-indep binary-arch
 
-source diff:
-       @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+source: clean mdw-setup
+       dir=`pwd | sed 's:^.*/::'`; \
+       cd ..; \
+       dpkg-source -b -i'(?:^|/)\.git(?:$$|/)' $$dir
 
 checkroot:
        $(checkdir)
        test "`whoami`" = root
 
-.PHONY: binary binary-arch binary-indep clean checkroot
+.PHONY: binary binary-arch binary-indep clean checkroot source mdw-setup