1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
#!/usr/bin/make -f
#
# Copyright (C) 1998 Software in the Public Interest <www.debian.org>
PACKAGE = $(shell perl -e 'print <> =~ /(\S*)\s/' debian/changelog)
PKG_VER = $(shell perl -e 'print <> =~ /\((.*)\)/' debian/changelog)
PKG_UPVER = $(shell perl -e 'print <> =~ /\((.*)-[^-]*\)/' debian/changelog)
build: checkdir
if fgrep QMAIL/bin *.sh >/dev/null; then \
echo >&2 "You must run debian/debianize-source-tree first!"; \
exit 1; \
fi
$(MAKE) man
$(MAKE)
# check that the local user ID's match the standard ones
@diff -u debian/debian-default_uids.c auto_uids.c || ( echo -e "\nError:\n Your system has user/group ids that differ from the debian default.\n Please rectify this. The easiest way to do this is normally to cut&paste\n the qmail sections from /etc/passwd.dpkg-dist and /etc/group.dpkg-dist,\n into /etc/passwd and /etc/group respectively (relpacing the old values).\n" ; exit 1 )
touch build
clean: checkdir
-rm -f build
-$(MAKE) clean
-rm `find . -name "*~"`
-rm -rf debian/files*
-rm -rf `find debian/* -type d -prune`
find . \( -name '#*#' -o -name '*~' -o -name DEADJOE -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' -o -name '.*.orig' -o -name '.*.rej' -o -name .SUMS -o -name TAGS -o -name core \) -exec rm -f {} \;
binary-indep: checkroot build
#nothing to be done
binary-arch: checkroot build
-rm -rf debian/substvars debian/tmp
# Make the directory tree and copy qmail files.
install -d debian/tmp/DEBIAN \
debian/tmp/etc/init.d \
debian/tmp/usr/doc/qmail \
debian/tmp/var/qmail \
debian/tmp/var/qmail/users \
debian/tmp/var/spool \
debian/tmp/usr/bin \
debian/tmp/usr/sbin \
debian/tmp/usr/lib \
debian/tmp/usr/lib/qmail
./qmail-hier | ./install 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?
# 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.
ln -s ../sbin/sendmail debian/tmp/usr/lib/sendmail
# Copy qmailconfig and its helper programs...
install -o root -g root -m 755 dnsfq debian/tmp/usr/lib/qmail/qmailconfig-dnsfq
install -o root -g root -m 755 dnsip debian/tmp/usr/lib/qmail/qmailconfig-dnsip
install -o root -g root -m 755 ipmeprint debian/tmp/usr/lib/qmail/qmailconfig-ipmeprint
install -o root -g root -m 755 dnsptr debian/tmp/usr/lib/qmail/qmailconfig-dnsptr
# install qmail-procmail script
install -o root -g root -m 755 debian/qmail-procmail debian/tmp/usr/sbin/qmail-procmail
# install newaliases script
install -o root -g root -m 755 debian/newaliases debian/tmp/usr/bin/newaliases
# install eliminate-dups script
install -o root -g root -m 755 debian/eliminate-dups debian/tmp/usr/lib/qmail/eliminate-dups
# install default users/assign
install -o root -g root -m 644 debian/users-assign debian/tmp/var/qmail/users/assign
# (This one is a bit of a kludge...)
sed -e 's|./hostname|hostname|g' \
-e 's|\./dnsptr|/usr/lib/qmail/qmailconfig-dnsptr|g' \
-e 's|\./dnsip|/usr/lib/qmail/qmailconfig-dnsip|g' \
-e 's|\./dnsfq|/usr/lib/qmail/qmailconfig-dnsfq|g' \
-e 's|\./ipmeprint|/usr/lib/qmail/qmailconfig-ipmeprint|g' \
config >debian/tmp/usr/lib/qmail/qmailconfig
chmod 755 debian/tmp/usr/lib/qmail/qmailconfig
# Install /etc/init.d/qmail
install -o root -g root -m 755 debian/init.d debian/tmp/etc/init.d/qmail
# install tcpserver conf file
install -o root -g root -m 644 debian/tcp.smtp debian/tmp/etc
# Copy /usr/doc/qmail files.
install -o root -g root -m 644 debian/changelog debian/tmp/usr/doc/qmail/changelog.Debian
install -m 644 -p BLURB* FAQ INSTALL* INTERNALS README PIC.* \
SECURITY SENDMAIL SYSDEPS THANKS THOUGHTS TODO UPGRADE \
debian/tmp/usr/doc/qmail/
install -m 644 -p debian/README.debian debian/tmp/usr/doc/qmail/README.Debian
install -m 644 -p debian/TODO debian/tmp/usr/doc/qmail/TODO.Debian
install -p -m644 debian/changelog debian/tmp/usr/doc/qmail/changelog.Debian
install -p -m644 CHANGES debian/tmp/usr/doc/qmail/changelog
-strip --remove-section=comment --remove-section=note \
debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
debian/tmp/usr/lib/* 2>/dev/null
-gzip -9fr debian/tmp/usr/doc/ debian/tmp/usr/man/
install -m 644 -p debian/copyright debian/tmp/usr/doc/qmail/copyright
# Correct permissions of binaries and manpages...
chmod go+rx debian/tmp/usr/*bin/*
chown -R root.root debian/tmp/usr/man
install -p -m755 debian/postinst debian/preinst \
debian/prerm debian/postrm debian/tmp/DEBIAN
install -o root -g root -m 644 -p debian/conffiles debian/tmp/DEBIAN/conffiles
dpkg-shlibdeps -Tdebian/substvars debian/tmp/usr/lib/qmail/* debian/tmp/usr/sbin/* debian/tmp/usr/bin/*
dpkg-gencontrol -pqmail -cdebian/control.real
# And finally, build the Debian package!
dpkg --build debian/tmp ..
# -- here are the bits for the -src package
TMPSRC = debian/tmp-src
binary-src: checkroot checkdir debian/control \
../$(PACKAGE)_$(PKG_UPVER).orig.tar.gz \
../$(PACKAGE)_$(PKG_VER).dsc ../$(PACKAGE)_$(PKG_VER).diff.gz
-rm -rf $(TMPSRC) debian/files
install -d $(TMPSRC)/DEBIAN \
$(TMPSRC)/usr/bin \
$(TMPSRC)/usr/src/$(PACKAGE)-src \
$(TMPSRC)/usr/doc/$(PACKAGE)-src
install -m 755 debian/build-PACKAGE $(TMPSRC)/usr/bin/build-$(PACKAGE)
install -m 0644 ../$(PACKAGE)_$(PKG_UPVER).orig.tar.gz \
../$(PACKAGE)_$(PKG_VER).dsc \
../$(PACKAGE)_$(PKG_VER).diff.gz \
$(TMPSRC)/usr/src/$(PACKAGE)-src/
sed -e "s/#PACKAGE#/$(PACKAGE)/" debian/src.postinst > $(TMPSRC)/DEBIAN/postinst
chmod 755 $(TMPSRC)/DEBIAN/postinst
sed -e "s/#PACKAGE#/$(PACKAGE)/" debian/README-src > $(TMPSRC)/usr/doc/$(PACKAGE)-src/README.Debian
install -m 0644 debian/changelog $(TMPSRC)/usr/doc/$(PACKAGE)-src/changelog.Debian
chmod 644 $(TMPSRC)/usr/doc/$(PACKAGE)-src/changelog.Debian
gzip -9fr $(TMPSRC)/usr/doc/
install -m 0644 debian/copyright $(TMPSRC)/usr/doc/$(PACKAGE)-src/
dpkg-gencontrol -p$(PACKAGE)-src -P$(TMPSRC)
chown -R root.root $(TMPSRC)
dpkg --build $(TMPSRC) ..
debian/control: debian/control.real
test -f debian/control.real && sed -e "/^Package: $(PACKAGE)-src$$/b" -e "/^Package: /,/^$$/d" debian/control.real > debian/control
../$(PACKAGE)_$(PKG_UPVER).orig.tar.gz:
@{ echo "Error: $@ missing"; exit 1; }
../$(PACKAGE)_$(PKG_VER).dsc ../$(PACKAGE)_$(PKG_VER).diff.gz: debian/rules
debian/rules clean
cd ..; dpkg-source -b $(PACKAGE)-$(PKG_UPVER)
binary: binary-indep binary-arch binary-src
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
checkdir:
@test -f qmail.c -a -f debian/rules
checkroot: checkdir
test "`whoami`" = root
.PHONY: binary binary-arch binary-indep clean checkroot
|