| 1 | #!/usr/bin/make -f |
| 2 | # |
| 3 | |
| 4 | mdw-setup: |
| 5 | upstream=`git-describe djb | sed 's:^djb/::'`; \ |
| 6 | dir=qmail_$$upstream.orig; \ |
| 7 | git-tar-tree djb $$dir | gzip -9c >../$$dir.tar.gz |
| 8 | |
| 9 | build: |
| 10 | $(checkdir) |
| 11 | if fgrep QMAIL/bin *.sh >/dev/null; then \ |
| 12 | echo >&2 "You must run debian/debianize-source-tree first!"; \ |
| 13 | exit 1; \ |
| 14 | fi |
| 15 | $(MAKE) man |
| 16 | $(MAKE) |
| 17 | touch build |
| 18 | |
| 19 | clean: |
| 20 | $(checkdir) |
| 21 | -rm -f build |
| 22 | -$(MAKE) clean |
| 23 | -rm `find . -name "*~"` |
| 24 | -rm -rf debian/files |
| 25 | -rm -rf `find debian/* ! \( -name CVS -prune \) -type d -prune` |
| 26 | |
| 27 | binary-indep: checkroot build |
| 28 | $(checkdir) |
| 29 | |
| 30 | binary-arch: checkroot build |
| 31 | $(checkdir) |
| 32 | -rm -rf debian/files debian/substvars debian/tmp |
| 33 | -rm -rf `find ! \( -name CVS -prune \) debian/* -type d -prune` |
| 34 | # Make the directory tree and copy qmail files. |
| 35 | install -d debian/tmp/etc/init.d \ |
| 36 | debian/tmp/usr/share/doc/qmail \ |
| 37 | debian/tmp/var/qmail \ |
| 38 | debian/tmp/var/spool \ |
| 39 | debian/tmp/usr/bin \ |
| 40 | debian/tmp/usr/sbin \ |
| 41 | debian/tmp/usr/lib \ |
| 42 | debian/qmail-src/usr/bin \ |
| 43 | debian/qmail-src/usr/src/qmail-src \ |
| 44 | debian/qmail-src/usr/share/doc/qmail-src |
| 45 | ./install `pwd`/debian/tmp/var/qmail |
| 46 | mv debian/tmp/var/qmail/queue debian/tmp/var/spool/qmail |
| 47 | mv debian/tmp/var/qmail/control debian/tmp/etc/qmail |
| 48 | (cd debian/tmp/var/qmail && ln -s /var/spool/qmail queue) |
| 49 | (cd debian/tmp/var/qmail && ln -s /etc/qmail control) |
| 50 | mv debian/tmp/var/qmail/man debian/tmp/usr/share/man && \ |
| 51 | rm -r debian/tmp/usr/share/man/cat? |
| 52 | # Move /var/qmail/bin programs to either /usr/bin or /usr/sbin |
| 53 | bash debian/debianize-binary-tree |
| 54 | # Create /usr/lib/sendmail symlink for backward compatibility. |
| 55 | (cd debian/tmp/usr/lib && ln -s ../sbin/sendmail) |
| 56 | # Copy qmailconfig and its helper programs... |
| 57 | install -o root -g root -m 755 dnsfq debian/tmp/usr/sbin/qmailconfig-dnsfq |
| 58 | install -o root -g root -m 755 dnsip debian/tmp/usr/sbin/qmailconfig-dnsip |
| 59 | install -o root -g root -m 755 ipmeprint debian/tmp/usr/sbin/qmailconfig-ipmeprint |
| 60 | install -o root -g root -m 755 dnsptr debian/tmp/usr/sbin/qmailconfig-dnsptr |
| 61 | # (This one is a bit of a kludge...) |
| 62 | sed -e 's|./hostname|hostname|g' \ |
| 63 | -e 's|\./dnsptr|/usr/sbin/qmailconfig-dnsptr|g' \ |
| 64 | -e 's|\./dnsip|/usr/sbin/qmailconfig-dnsip|g' \ |
| 65 | -e 's|\./dnsfq|/usr/sbin/qmailconfig-dnsfq|g' \ |
| 66 | -e 's|\./ipmeprint|/usr/sbin/qmailconfig-ipmeprint|g' \ |
| 67 | config >debian/tmp/usr/sbin/qmailconfig |
| 68 | chmod 755 debian/tmp/usr/sbin/qmailconfig |
| 69 | # Install /etc/init.d/qmail |
| 70 | install -o root -g root -m 755 debian/qmail debian/tmp/etc/init.d/qmail |
| 71 | # Copy /usr/share/doc/qmail files. |
| 72 | install -o root -g root -m 644 debian/changelog debian/tmp/usr/share/doc/qmail/changelog.Debian |
| 73 | rm -rf debian/tmp/var/qmail/doc |
| 74 | # do the stuff for qmail-src |
| 75 | fullver=`dpkg-parsechangelog | sed -n 's/^Version: \(.*\)$$/\1/p'` && \ |
| 76 | ver=`echo $$fullver | sed 's/-.*//'` && \ |
| 77 | cp ../qmail_$$ver.orig.tar.gz ../qmail_$$fullver.diff.gz \ |
| 78 | ../qmail_$$fullver.dsc debian/qmail-src/usr/src/qmail-src |
| 79 | install -m 755 debian/build-qmail debian/qmail-src/usr/bin |
| 80 | install debian/copyright debian/qmail-src/usr/share/doc/qmail-src |
| 81 | install debian/qmail-src.README debian/qmail-src/usr/share/doc/qmail-src/README |
| 82 | # Correct permissions of binaries and manpages... |
| 83 | chmod go+rx debian/tmp/usr/*bin/* |
| 84 | chown -R root.root debian/tmp/usr/share/man |
| 85 | # Do stuff for qmail-leaf |
| 86 | rm -rf debian/mini-qmail |
| 87 | cp -a debian/tmp debian/mini-qmail |
| 88 | rm -rf debian/mini-qmail/etc/init.d |
| 89 | for i in \ |
| 90 | bouncesaying except qreceipt qbiff tcp-env \ |
| 91 | condredirect preline log dot-qmail qmail-valid-addresses; do \ |
| 92 | rm -f debian/mini-qmail/usr/share/man?/$$i.*; \ |
| 93 | rm -f debian/mini-qmail/usr/*bin/$$i/*; \ |
| 94 | done |
| 95 | for i in \ |
| 96 | getpw remote rspawn clean send start splogger queue newu \ |
| 97 | pw2u qread qstat tcpok pop3d popup qmqpd qmtpd smtpd command \ |
| 98 | local lspawn newmrh users; do \ |
| 99 | rm -f debian/mini-qmail/usr/share/man?/qmail-$$i.*; \ |
| 100 | rm -f debian/mini-qmail/usr/*bin/qmail-$$i; \ |
| 101 | done |
| 102 | rm -rf debian/mini-qmail/var/spool |
| 103 | for i in alias boot queue users; do \ |
| 104 | rm -rf debian/mini-qmail/var/qmail/$$i; \ |
| 105 | done |
| 106 | ln -s qmail-qmqpc debian/mini-qmail/usr/sbin/qmail-queue |
| 107 | # Fix everything up |
| 108 | debstd -m CHANGES BLURB* FAQ INTERNALS README \ |
| 109 | SECURITY INSTALL.* PIC.* REMOVE.* SYSDEPS THANKS THOUGHTS \ |
| 110 | TODO SENDMAIL TEST.* UPGRADE |
| 111 | cp -r debian/tmp/usr/share/doc/qmail \ |
| 112 | debian/mini-qmail/usr/share/doc/mini-qmail |
| 113 | dpkg-gencontrol -pqmail |
| 114 | # And finally, build the Debian package! |
| 115 | dpkg --build debian/tmp .. |
| 116 | dpkg --build debian/mini-qmail .. |
| 117 | |
| 118 | define checkdir |
| 119 | test -f qmail-send.c -a -f debian/rules |
| 120 | endef |
| 121 | |
| 122 | binary: binary-indep binary-arch |
| 123 | |
| 124 | source: clean mdw-setup |
| 125 | dir=`pwd | sed 's:^.*/::'`; \ |
| 126 | cd ..; \ |
| 127 | dpkg-source -b -i'(?:^|/)\.git(?:$$|/)' $$dir |
| 128 | |
| 129 | checkroot: |
| 130 | $(checkdir) |
| 131 | test "`whoami`" = root |
| 132 | |
| 133 | .PHONY: binary binary-arch binary-indep clean checkroot source mdw-setup |