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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
#!/usr/bin/make -f
# dgit
# Integration between git and Debian-style archives
#
# Copyright (C)2013-2019 Ian Jackson
# Copyright (C)2019 Sean Whitton
#
# 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 <https://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=''
mv debian/dgit/usr/bin/git-playtree-setup debian/dgit/usr/share/dgit
make -C po4a install DESTDIR=../debian/tmp S=''
# At debhelper compat level 14, dh_installsystemduser will handle restarting
# tag2upload-oracled on package upgrade: see #1117735.
# We want this for the live service, but don't want to upgrade the whole
# package to compat 14 to preserve buildability on older releases of Debian.
# Debian::Debhelper::Dh_Lib::MAX_COMPAT_LEVEL has been available for a long
# time; if it isn't, that won't go by silently because intcmp will exit the
# build when it gets a non-numeric argument.
MAX_COMPAT_LEVEL=$(shell perl -MDebian::Debhelper::Dh_Lib \
-we'print Debian::Debhelper::Dh_Lib::MAX_COMPAT_LEVEL')
override_dh_installsystemduser:
$(intcmp $(MAX_COMPAT_LEVEL),14,,DH_COMPAT=14) \
dh_installsystemduser --name=tag2upload-oracled --no-enable
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)
# # 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.
# # We also abuse this for git-playtree-setup. In .debs, this
# # goes in the per-.deb @INC dir. See Dgit.pm::playtree_setup.
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; \
install -m 755 git-playtree-setup $${base}$(specperl); \
perl -i -p -e 'next unless m/###substituted###/;' \
-e 'next unless s/^# (?=unshift \@INC,)//;' \
-e 'die unless s{q\{\S+\}}{q{$(specperl)}};' \
$$dst
endef
specpkg_install_%: tok=$*
specpkg_install_%: specperl=/usr/share/dgit/$(tok)/perl5
specpkg_install_%:
$(specpkg_install_common)
specpkg_install_gdp: tok=gdp
specpkg_install_gdp: pm=GDP
specpkg_install_gdp: specperl=/usr/share/dgit/gdp/perl5
specpkg_install_gdp:
$(specpkg_install_common)
set -x; perl -i -pe 'next unless m/###substituted###/;' \
-e 's{^(git_playtree_setup)=.*}{$$1=$(specperl)/git-playtree-setup};' \
debian/$(p)/usr/bin/*
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/*[^~#])
|