chiark / gitweb /
e51f893421ebb764dc82ecb201f58bc2e3acb605
[dgit.git] / debian / rules
1 #!/usr/bin/make -f
2
3 # dgit
4 # Integration between git and Debian-style archives
5 #
6 # Copyright (C)2013-2016 Ian Jackson
7 #
8 # This program is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
21 export prefix=/usr
22
23 %:
24         dh $@
25
26 override_dh_gencontrol:
27         dh_gencontrol
28         set -e; \
29          cd debian/dgit; \
30          v=$$(perl -ne 'print if s/^version:\s+//i' DEBIAN/control); \
31          perl -i -pe "s/UNRELEASED/$$v/g if m/###substituted###/" usr/bin/dgit
32
33 globalperl=/usr/share/perl5
34
35 override_dh_auto_install: specpkg_install_infra
36         make install prefix=/usr DESTDIR=debian/dgit
37
38 specpkg_install_infra: p=dgit-infrastructure
39 specpkg_install_infra: pm=Infra
40
41 specpkg_install_%: tok=$*
42 specpkg_install_%: specperl=/usr/share/dgit/$(tok)/perl5
43 specpkg_install_%:
44         make install-$(tok) prefix=/usr DESTDIR=debian/$(p) perldir=$(specperl)
45 #       # Most of the Perl modules in this package live in
46 #       # $(specperl).  The exception is Debian::Dgit::Infra, which
47 #       # lives in $(globalperl) and adds $(specperl) to @INC.
48         set -ex; \
49          base=debian/$(p); \
50          mod=Debian/Dgit/$(pm).pm; \
51          src=$${base}$(specperl)/$${mod}; \
52          dst=$${base}$(globalperl)/$${mod}; \
53          mkdir -p $${dst%/*}; \
54          mv -f $$src $$dst; \
55          perl -i -p -e 'next unless m/###substituted###/;' \
56                 -e 'next unless s/^# (?=unshift \@INC,)//;' \
57                 -e 'die unless s{q\{\S+\}}{q{$(specperl)}};' \
58                  $$dst
59
60 debian/tests/control: tests/enumerate-tests debian/tests/control.in
61         $< gencontrol >$@.new && mv -f $@.new $@
62
63 debian/tests/control: tests/lib-core tests/lib-restricts
64 debian/tests/control: tests/tests $(wildcard tests/tests/*[^~#])