chiark / gitweb /
checkpass: installation arrangements
[userv-utils.git] / debian / rules
1 #!/usr/bin/make -f
2
3 subdirs_build=  ipif www-cgi git-daemon
4 subdirs_nobuild=dyndns groupmanage misc
5 package=        userv-utils
6 packages_indep= userv-dyndns userv-groupmanage userv-misc userv-git-daemon
7 packages_arch=  userv-ipif userv-cgi
8 packages=       $(packages_indep) $(packages_arch)
9
10 cwd=    $(shell pwd)
11 d=      $(cwd)/debian
12 t=      $d/tmp
13
14 build:
15         $(checkdir)
16         set -e; for s in $(subdirs_build); do $(MAKE) -C $$s all; done
17         touch build
18
19 clean:
20         $(checkdir)
21         rm -f build
22         set -e; for s in $(subdirs_build); do \
23                 $(MAKE) -C $$s -i distclean || \
24                 $(MAKE) -C $$s -f Makefile.in distclean; \
25         done
26         rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars*
27
28 binary-prep:
29         $(checkdir)
30         rm -rf debian/tmp*
31         #
32         #
33         set -e; for s in $(subdirs_build) $(subdirs_nobuild); do \
34                 $(MAKE) -C $$s install install-docs install-examples \
35                         prefix=$t/userv-$$s/usr \
36                         etcdir=$t/userv-$$s/etc \
37                         vardir=$t/userv-$$s/var \
38                         gituser=root; \
39         done
40         #
41         mv debian/tmp/userv-www-cgi debian/tmp/userv-cgi
42         mv debian/tmp/userv-groupmanage/usr/share/doc/groupmanage \
43            debian/tmp/userv-groupmanage/usr/share/doc/userv-groupmanage
44         #
45         set -e; for p in $(packages); do \
46                 install -d $t/$$p/DEBIAN $t/$$p/usr/share/doc/$$p; \
47                 cp debian/copyright debian/changelog \
48                         $t/$$p/usr/share/doc/$$p/; \
49                 ln -s changelog.gz \
50                         $t/$$p/usr/share/doc/$$p/changelog.Debian.gz; \
51                 gzip -9v $t/$$p/usr/share/doc/$$p/changelog; \
52                 done
53         #
54         rename 's/\.example$$//' $t/userv-ipif/etc/userv/vpn/*.example \
55                 $t/userv-dyndns/etc/userv/dyndns-service-users.example \
56                 $t/userv-groupmanage/etc/groupmanage.conf.example
57         rename 's/\.distrib$$//' $t/*/etc/userv/services.d/*.distrib
58         rename 's/$$/\.disabled/' $t/userv-misc/etc/userv/services.d/mailq
59         set -e; for p in $(packages); do \
60                 cd $t/$$p; \
61                 test ! -d etc || \
62                   find etc -type f -exec printf '/%s\n' '{}' ';' \
63                         >>DEBIAN/conffiles; \
64         done
65         #
66         mv $t/userv-misc/usr/bin/mailq $t/userv-misc/usr/bin/mailq.userv
67         #
68 #       gzip -9f $t/*/usr/share/man/man*/*
69
70 binary-hook-userv-misc:
71 binary-hook-userv-groupmanage:
72 binary-hook-userv-cgi:
73 binary-hook-userv-dyndns:
74 binary-hook-userv-ipif:
75 binary-hook-userv-git-daemon:
76
77 binary-one:
78         set -e; for f in preinst postinst prerm postrm conffiles; do \
79                 test -f debian/$p/$$f || continue; \
80                 cp debian/$p/$$f $t/$p/DEBIAN/$$f; \
81                 chmod u=rwX,go=rX $t/$p/DEBIAN/$$f; \
82         done
83         dpkg-gencontrol -p$p -P$t/$p -Tdebian/sv-$p
84         chown -R root.root debian/tmp
85         chmod -R g-ws debian/tmp
86         debian/rules binary-hook-$p
87         dpkg --build $t/$p ..
88
89 binary-indep:   checkroot build binary-prep
90         set -e; for p in $(packages_indep); do \
91                 debian/rules binary-one p=$$p; done
92
93 binary-arch:    checkroot build binary-prep
94         $(checkdir)
95         dpkg-shlibdeps -Tdebian/sv-userv-ipif \
96                 $t/userv-ipif/usr/bin/udptunnel-forwarder \
97                 $t/userv-ipif/usr/lib/userv/ipif
98         dpkg-shlibdeps -Tdebian/sv-userv-cgi \
99                 $t/userv-cgi/usr/lib/userv/cgi/target \
100                 $t/userv-cgi/usr/lib/userv/cgi/cgi/ucgi
101         set -e; for p in $(packages_arch); \
102                 do debian/rules binary-one p=$$p; done
103
104 define checkdir
105         test -f ipif/service.c
106 endef
107
108 # Below here is fairly generic really
109
110 binary:         binary-indep binary-arch
111
112 source diff:
113         @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
114
115 checkroot:
116         $(checkdir)
117         test root = "`whoami`"
118
119 .PHONY: binary binary-arch binary-indep clean checkroot