6362f12c |
1 | #!/usr/bin/make -f |
2 | |
ef974b1a |
3 | subdirs_build= ipif www-cgi git-daemon |
6362f12c |
4 | subdirs_nobuild=dyndns groupmanage misc |
5 | package= userv-utils |
ef974b1a |
6 | packages_indep= userv-dyndns userv-groupmanage userv-misc git-daemon |
6362f12c |
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 | varlib=$t/userv-$$s/var/lib; \ |
38 | done |
39 | # |
40 | mv debian/tmp/userv-www-cgi debian/tmp/userv-cgi |
41 | mv debian/tmp/userv-groupmanage/usr/share/doc/groupmanage \ |
42 | debian/tmp/userv-groupmanage/usr/share/doc/userv-groupmanage |
43 | # |
44 | set -e; for p in $(packages); do \ |
45 | install -d $t/$$p/DEBIAN $t/$$p/usr/share/doc/$$p; \ |
dea61a77 |
46 | cp debian/copyright debian/changelog \ |
6362f12c |
47 | $t/$$p/usr/share/doc/$$p/; \ |
48 | ln -s changelog.gz \ |
49 | $t/$$p/usr/share/doc/$$p/changelog.Debian.gz; \ |
50 | gzip -9v $t/$$p/usr/share/doc/$$p/changelog; \ |
51 | done |
52 | # |
53 | rename 's/\.example$$//' $t/userv-ipif/etc/userv/vpn/*.example \ |
54 | $t/userv-dyndns/etc/userv/dyndns-service-users.example \ |
55 | $t/userv-groupmanage/etc/groupmanage.conf.example |
56 | rename 's/\.distrib$$//' $t/*/etc/userv/services.d/*.distrib |
57 | rename 's/$$/\.disabled/' $t/userv-misc/etc/userv/services.d/mailq |
58 | set -e; for p in $(packages); do \ |
59 | cd $t/$$p; \ |
60 | test ! -d etc || \ |
61 | find etc -type f -exec printf '/%s\n' '{}' ';' \ |
62 | >>DEBIAN/conffiles; \ |
63 | done |
64 | # |
65 | mv $t/userv-misc/usr/bin/mailq $t/userv-misc/usr/bin/mailq.userv |
66 | # |
67 | # gzip -9f $t/*/usr/share/man/man*/* |
68 | |
69 | binary-hook-userv-misc: |
70 | binary-hook-userv-groupmanage: |
71 | binary-hook-userv-cgi: |
72 | binary-hook-userv-dyndns: |
73 | binary-hook-userv-ipif: |
ef974b1a |
74 | binary-hook-userv-git-daemon: |
6362f12c |
75 | |
76 | binary-one: |
77 | set -e; for f in preinst postinst prerm postrm conffiles; do \ |
78 | test -f debian/$p/$$f || continue; \ |
79 | cp debian/$p/$$f $t/$p/DEBIAN/$$f; \ |
80 | chmod u=rwX,go=rX $t/$p/DEBIAN/$$f; \ |
81 | done |
82 | dpkg-gencontrol -p$p -P$t/$p -Tdebian/sv-$p |
83 | chown -R root.root debian/tmp |
84 | chmod -R g-ws debian/tmp |
85 | debian/rules binary-hook-$p |
86 | dpkg --build $t/$p .. |
87 | |
88 | binary-indep: checkroot build binary-prep |
89 | set -e; for p in $(packages_indep); do \ |
90 | debian/rules binary-one p=$$p; done |
91 | |
92 | binary-arch: checkroot build binary-prep |
93 | $(checkdir) |
94 | dpkg-shlibdeps -Tdebian/sv-userv-ipif \ |
95 | $t/userv-ipif/usr/bin/udptunnel-forwarder \ |
96 | $t/userv-ipif/usr/lib/userv/ipif |
97 | dpkg-shlibdeps -Tdebian/sv-userv-cgi \ |
98 | $t/userv-cgi/usr/lib/userv/cgi/target \ |
99 | $t/userv-cgi/usr/lib/userv/cgi/cgi/ucgi |
100 | set -e; for p in $(packages_arch); \ |
101 | do debian/rules binary-one p=$$p; done |
102 | |
103 | define checkdir |
104 | test -f ipif/service.c |
105 | endef |
106 | |
107 | # Below here is fairly generic really |
108 | |
109 | binary: binary-indep binary-arch |
110 | |
111 | source diff: |
112 | @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false |
113 | |
114 | checkroot: |
115 | $(checkdir) |
116 | test root = "`whoami`" |
117 | |
118 | .PHONY: binary binary-arch binary-indep clean checkroot |