debian/rules: Use `git' potty wrapper.
[qmail] / debian / rules
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