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
|
#!/usr/bin/make -f
# -*- makefile -*- made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.
package=mailman
python=/usr/lib/python1.5
binaries=digest_arch mmsitepass newlist rmlist add_members list_members remove_members arch clone_member sync_members check_db check_perms
manpages=digest_arch.8 mmsitepass.8 newlist.8 rmlist.8 add_members.8 list_members.8 remove_members.8 mmarch.8 clone_member.8 sync_members.8 check_db.8 check_perms.8
SHELL=/bin/bash
build: Makefile
$(MAKE)
touch build
Makefile:
MAILMAN_UID=`id -u list` MAILMAN_GID=`id -g list` ./configure --prefix=/var/lib/$(package) \
--with-mail-gid=daemon --with-cgi-gid=www-data
clean:
$(checkdir)
-$(MAKE) distclean
rm -f build Makefile
dh_clean
rm -rf $$(find . -name "*~") $$(find debian/* -type d)
find .. -name $(package)*dsc.asc -size 0 -maxdepth 1 -exec rm {} ";"
chmod +x debian/{prerm,postinst,cron.*}
binary-indep: checkroot build
$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package. If there were any they would be
# made here.
binary-arch: checkroot build
$(checkdir)
dh_testversion 2.0.40
rm -rf debian/tmp && install -d debian/tmp
dh_installdirs
dh_installdocs ACKNOWLEDGMENTS README* TODO BUGS UPGRADING NEWS FAQ INSTALL
dh_installchangelogs
$(MAKE) install prefix=$$(pwd)/debian/tmp/var/lib/$(package)
# move the nonchanging directories to /usr/lib/mailman
cd debian/tmp/var/lib/$(package) ; \
for i in Mailman bin cgi-bin cron filters mail scripts; do \
mv $$i ../../../usr/lib/$(package); \
done
# link them back to /var/lib/mailman
for i in debian/tmp/usr/lib/$(package)/*; do \
dh_link /usr/lib/$(package)/`basename $$i` /var/lib/$(package); \
done
# move the templates to /etc/mailman
mv debian/tmp/var/lib/$(package)/templates debian/tmp/etc/mailman
# link it back to /var/lib/mailman/templates
dh_link /etc/mailman /var/lib/$(package)/templates
# remove the log directory and link it to /var/log/mailman
rmdir debian/tmp/var/lib/$(package)/logs
dh_link /var/log/mailman /var/lib/$(package)/logs
# move the pending subscriptions database so it doesnt overwrite the
# old one when installing
mv debian/tmp/var/lib/mailman/data/pending_subscriptions.db debian/tmp/var/lib/mailman/data/pending_subscriptions.db.new
# install logrotate config file
install -m 0644 debian/logrotate debian/tmp/etc/logrotate.d/mailman
dh_link /etc/$(package)/mm_cfg.py \
/usr/lib/$(package)/Mailman/mm_cfg.py
dh_link /usr/lib/mailman/cgi-bin /usr/lib/cgi-bin/mailman
cp -a src/*.c src/*.h debian/tmp/usr/share/doc/$(package)/src
cp -a misc/mailman*jpg debian/tmp/usr/share/doc/$(package)/images
cp -a admin/www debian/tmp/usr/share/doc/$(package)/html
for bin in $(binaries); \
do dh_link /usr/lib/$(package)/bin/$$bin /usr/sbin/$$bin; done
mv debian/tmp/usr/sbin/arch debian/tmp/usr/sbin/mmarch
dh_undocumented $(manpages)
dh_installexamples templates/* debian/mm_cfg.py \
debian/tmp/usr/lib/$(package)/Mailman/Defaults.py
dh_installcron
dh_strip
dh_compress
dh_fixperms
chown -R root.root debian/tmp
chown -R root.list \
debian/tmp/{etc/$(package),var/lib/$(package)}
chown root.list debian/tmp/usr/lib/$(package)/{cgi-bin/*,mail/wrapper}
chmod 2755 debian/tmp/usr/lib/$(package)/{cgi-bin/*,mail/wrapper}
find debian/tmp/var/lib/$(package) -type f | xargs chmod 0664
find debian/tmp/var/lib/$(package) -type d | xargs chmod 2775
# make lintian happy
chmod +x debian/tmp/usr/lib/$(package)/Mailman/Cgi/*
chmod +x debian/tmp/usr/lib/$(package)/scripts/*
chmod +x debian/tmp/usr/lib/$(package)/Mailman/Archiver/pipermail.py \
debian/tmp/usr/lib/$(package)/Mailman/pythonlib/cgi.py \
debian/tmp/usr/lib/$(package)/Mailman/pythonlib/smtplib.py \
debian/tmp/usr/lib/$(package)/Mailman/Cookie.py \
debian/tmp/usr/lib/$(package)/filters/bowa-strip
chmod -x debian/tmp/usr/lib/$(package)/bin/withlist \
debian/tmp/usr/lib/$(package)/scripts/paths.py \
debian/tmp/usr/lib/$(package)/Mailman/Cgi/__init__.py
chmod o-r debian/tmp/var/lib/$(package)/archives/private
chmod 0755 debian/tmp/usr/lib/$(package)/cron/*
chmod 0644 debian/tmp/usr/lib/$(package)/cron/{crontab.in,paths.py}
chown root.list debian/tmp/var/log/mailman
chmod 2775 debian/tmp/var/log/mailman
dh_suidregister
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dpkg --build debian/tmp ..
define checkdir
test -f debian/rules
endef
# Below here is fairly generic really
binary: binary-indep binary-arch
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot
|