File: rules

package info (click to toggle)
mailman 1.1-10
  • links: PTS
  • area: main
  • in suites: potato
  • size: 1,572 kB
  • ctags: 1,485
  • sloc: python: 12,562; makefile: 625; ansic: 336; sh: 312
file content (135 lines) | stat: -rwxr-xr-x 4,692 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
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