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
|
#!/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
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)
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 \
ln -s /usr/lib/$(package)/`basename $$i` debian/tmp/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
ln -s /etc/mailman debian/tmp/var/lib/$(package)/templates
# remove the log directory and link it to /var/log/mailman
#rmdir debian/tmp/var/lib/$(package)/logs
#ln -s /var/log/mailman debian/tmp/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
ln -sf /etc/$(package)/mm_cfg.py \
debian/tmp/usr/lib/$(package)/Mailman/mm_cfg.py
ln -sf ../mailman/cgi-bin debian/tmp/usr/lib/cgi-bin/mailman
cp -a src/*.c src/*.h debian/tmp/usr/doc/$(package)/src
cp -a misc/mailman*gif debian/tmp/usr/doc/$(package)/images
cp -a admin/www debian/tmp/usr/doc/$(package)/html
cd debian/tmp/usr/sbin && for bin in $(binaries); \
do ln -vs ../lib/$(package)/bin/$$bin $$bin; done
cd debian/tmp/usr/man/man8 && for bin in $(binaries); \
do ln -vs ../man7/undocumented.7.gz $$bin.8.gz; done
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}
#chmod 775 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
|