chiark / gitweb /
git-debrebase: capture breakwater tip
[dgit.git] / debian / rules
index e02ea9066f39cb81dac090c504e3b7630dd639d7..9249f8889e26bda0159b9217ed7a1f5db728265d 100755 (executable)
@@ -3,7 +3,7 @@
 # dgit
 # Integration between git and Debian-style archives
 #
-# Copyright (C)2013 Ian Jackson
+# 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
@@ -30,6 +30,30 @@ override_dh_gencontrol:
         v=$$(perl -ne 'print if s/^version:\s+//i' DEBIAN/control); \
         perl -i -pe "s/UNRELEASED/$$v/g if m/###substituted###/" usr/bin/dgit
 
+globalperl=/usr/share/perl5
+infraperl=/usr/share/dgit/infra/perl5
+
 override_dh_auto_install:
        make install prefix=/usr DESTDIR=debian/dgit
-       make install-infra prefix=/usr DESTDIR=debian/dgit-infrastructure
+       make install-infra prefix=/usr DESTDIR=debian/dgit-infrastructure \
+               perldir=$(infraperl)
+#      # Most of the Perl modules in dgit-infrastructure live in
+#      # $(infraperl).  The exception is Debian::Dgit::Infra, which
+#      # lives in $(globalperl) and adds $(infraperl) to @INC.
+       set -ex; \
+        base=debian/dgit-infrastructure; \
+        mod=Debian/Dgit/Infra.pm; \
+        src=$${base}$(infraperl)/$${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{$(infraperl)}};' \
+                $$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/*[^~#])