chiark / gitweb /
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