chiark / gitweb /
d/copyright: Update copyright years
[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 override_dh_auto_clean:
34         dh_auto_clean
35         make -C po clean
36
37 globalperl=/usr/share/perl5
38
39 override_dh_auto_install: specpkg_install_gdr specpkg_install_infra
40         make install prefix=/usr DESTDIR=debian/dgit
41         make -C po install prefix=/usr DESTDIR=../debian/tmp \
42                 SUPPRESS_PO_UPDATE=1 S=''
43         make -C po4a install DESTDIR=../debian/tmp S=''
44
45 override_dh_missing:
46         dh_missing --fail-missing
47
48 specpkg_install_gdr: p=git-debrebase
49 specpkg_install_gdr: pm=GDR
50
51 specpkg_install_infra: p=dgit-infrastructure
52 specpkg_install_infra: pm=Infra
53
54 define specpkg_install_common
55         make install-$(tok) prefix=/usr DESTDIR=debian/$(p) perldir=$(specperl)
56 endef
57
58 specpkg_install_%: tok=$*
59 specpkg_install_%: specperl=/usr/share/dgit/$(tok)/perl5
60 specpkg_install_%:
61         $(specpkg_install_common)
62 #       # Most of the Perl modules in this package live in
63 #       # $(specperl).  The exception is Debian::Dgit::Infra, which
64 #       # lives in $(globalperl) and adds $(specperl) to @INC.
65         set -ex; \
66          base=debian/$(p); \
67          mod=Debian/Dgit/$(pm).pm; \
68          src=$${base}$(specperl)/$${mod}; \
69          dst=$${base}$(globalperl)/$${mod}; \
70          mkdir -p $${dst%/*}; \
71          mv -f $$src $$dst; \
72          perl -i -p -e 'next unless m/###substituted###/;' \
73                 -e 'next unless s/^# (?=unshift \@INC,)//;' \
74                 -e 'die unless s{q\{\S+\}}{q{$(specperl)}};' \
75                  $$dst
76
77 debian/tests/control: tests/enumerate-tests debian/tests/control.in
78         $< gencontrol >$@.new && mv -f $@.new $@
79
80 debian/tests/control: tests/lib-core tests/lib-restricts
81 debian/tests/control: tests/tests $(wildcard tests/tests/*[^~#])