debian/rules: Use `git' potty wrapper.
[qmail] / debian / rules
CommitLineData
9312c29d
MW
1#!/usr/bin/make -f
2#
3
853cc1fe 4mdw-setup:
1c6a530e 5 upstream=`git describe djb | sed 's:^djb/::'`; \
853cc1fe 6 dir=qmail_$$upstream.orig; \
1c6a530e 7 git tar-tree djb $$dir | gzip -9c >../$$dir.tar.gz
853cc1fe 8
9312c29d
MW
9build:
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
19clean:
20 $(checkdir)
21 -rm -f build
22 -$(MAKE) clean
23 -rm `find . -name "*~"`
24 -rm -rf debian/files
ed442cdc 25 -rm -rf `find debian/* ! \( -name CVS -prune \) -type d -prune`
9312c29d
MW
26
27binary-indep: checkroot build
28 $(checkdir)
29
30binary-arch: checkroot build
31 $(checkdir)
32 -rm -rf debian/files debian/substvars debian/tmp
ed442cdc 33 -rm -rf `find ! \( -name CVS -prune \) debian/* -type d -prune`
9312c29d
MW
34# Make the directory tree and copy qmail files.
35 install -d debian/tmp/etc/init.d \
bcb3f3eb 36 debian/tmp/usr/share/doc/qmail \
9312c29d
MW
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 \
bcb3f3eb 44 debian/qmail-src/usr/share/doc/qmail-src
ed442cdc 45 ./install `pwd`/debian/tmp/var/qmail
9312c29d
MW
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)
bcb3f3eb
MW
50 mv debian/tmp/var/qmail/man debian/tmp/usr/share/man && \
51 rm -r debian/tmp/usr/share/man/cat?
9312c29d
MW
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...)
7a9e083d
MW
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
9312c29d
MW
69# Install /etc/init.d/qmail
70 install -o root -g root -m 755 debian/qmail debian/tmp/etc/init.d/qmail
bcb3f3eb
MW
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
ed442cdc 73 rm -rf debian/tmp/var/qmail/doc
9312c29d 74# do the stuff for qmail-src
7a9e083d
MW
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
9312c29d 79 install -m 755 debian/build-qmail debian/qmail-src/usr/bin
bcb3f3eb
MW
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
9312c29d
MW
82# Correct permissions of binaries and manpages...
83 chmod go+rx debian/tmp/usr/*bin/*
bcb3f3eb 84 chown -R root.root debian/tmp/usr/share/man
7a9e083d
MW
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
9312c29d
MW
113 dpkg-gencontrol -pqmail
114# And finally, build the Debian package!
115 dpkg --build debian/tmp ..
7a9e083d 116 dpkg --build debian/mini-qmail ..
9312c29d
MW
117
118define checkdir
119 test -f qmail-send.c -a -f debian/rules
120endef
121
122binary: binary-indep binary-arch
123
853cc1fe
MW
124source: clean mdw-setup
125 dir=`pwd | sed 's:^.*/::'`; \
126 cd ..; \
127 dpkg-source -b -i'(?:^|/)\.git(?:$$|/)' $$dir
9312c29d
MW
128
129checkroot:
130 $(checkdir)
131 test "`whoami`" = root
132
853cc1fe 133.PHONY: binary binary-arch binary-indep clean checkroot source mdw-setup