summaryrefslogtreecommitdiff
path: root/debian/rules
blob: ea2ceacfdc991d11a1a9a740d740cacc3aab7e5f (plain)
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
#!/usr/bin/make -f

# dgit
# Integration between git and Debian-style archives
#
# Copyright (C)2013-2016 Ian Jackson
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

export prefix=/usr

%:
	dh $@

override_dh_gencontrol:
	dh_gencontrol
	set -e; \
	 cd debian/dgit; \
	 v=$$(perl -ne 'print if s/^version:\s+//i' DEBIAN/control); \
	 perl -i -pe "s/UNRELEASED/$$v/g if m/###substituted###/" usr/bin/dgit

override_dh_auto_clean:
	dh_auto_clean
	make -C po clean

globalperl=/usr/share/perl5

override_dh_auto_install: specpkg_install_gdp \
 specpkg_install_gdr \
 specpkg_install_infra
	make install prefix=/usr DESTDIR=debian/dgit
	make -C po install prefix=/usr DESTDIR=../debian/tmp \
		SUPPRESS_PO_UPDATE=1 S=''
	make -C po4a install DESTDIR=../debian/tmp S=''

override_dh_missing:
	dh_missing --fail-missing

specpkg_install_gdp: p=git-debpush

specpkg_install_gdr: p=git-debrebase
specpkg_install_gdr: pm=GDR

specpkg_install_infra: p=dgit-infrastructure
specpkg_install_infra: pm=Infra

define specpkg_install_common
	make install-$(tok) prefix=/usr DESTDIR=debian/$(p) perldir=$(specperl)
endef

specpkg_install_gdp: tok=gdp
specpkg_install_gdp: specperl=/usr/share/dgit/gdp/perl5
specpkg_install_gdp:
	$(specpkg_install_common)

specpkg_install_%: tok=$*
specpkg_install_%: specperl=/usr/share/dgit/$(tok)/perl5
specpkg_install_%:
	$(specpkg_install_common)
#	# Most of the Perl modules in this package live in
#	# $(specperl).  The exception is Debian::Dgit::Infra, which
#	# lives in $(globalperl) and adds $(specperl) to @INC.
	set -ex; \
	 base=debian/$(p); \
	 mod=Debian/Dgit/$(pm).pm; \
	 src=$${base}$(specperl)/$${mod}; \
	 dst=$${base}$(globalperl)/$${mod}; \
	 mkdir -p $${dst%/*}; \
	 mv -f $$src $$dst; \
	 perl -i -p -e 'next unless m/###substituted###/;' \
		-e 'next unless s/^# (?=unshift \@INC,)//;' \
		-e 'die unless s{q\{\S+\}}{q{$(specperl)}};' \
		 $$dst

debian/tests/control: tests/enumerate-tests debian/tests/control.in
	$< gencontrol >$@.new && mv -f $@.new $@

debian/tests/control: tests/lib-core tests/lib-restricts
debian/tests/control: tests/tests $(wildcard tests/tests/*[^~#])