File: rules

package info (click to toggle)
mailman 1.0rc2-5
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,156 kB
  • ctags: 1,402
  • sloc: python: 11,720; makefile: 613; sh: 291; ansic: 254
file content (129 lines) | stat: -rwxr-xr-x 4,405 bytes parent folder | download
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