summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog4
-rw-r--r--debian/control6
-rwxr-xr-xdebian/rules20
3 files changed, 27 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index f36dbbd..4992dde 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -56,6 +56,10 @@ dgit (1.5~~) unstable; urgency=medium
* Better error handling in dgit-repos-policy-debian.
* dgit-repos-policy-debian.: fix git-cat-file-handling with multiple
taints in db (!).
+ * dgit-infrastructure has, and uses, its own copies of the perl modules.
+ This avoids introducing a versioned dependency between dgit and
+ dgit-infrastructure (and also makes it easier to test cross-version
+ compatibility).
Documentation:
* Document the dgit-distro.DISTRO.quilt-mode config setting.
diff --git a/debian/control b/debian/control
index 294b811..edf8c09 100644
--- a/debian/control
+++ b/debian/control
@@ -26,10 +26,12 @@ Description: git interoperability with the Debian archive
dgit clone and dgit fetch construct git commits from uploads.
Package: dgit-infrastructure
-Depends: ${misc:Depends}, perl, git-core, dgit, gpgv, chiark-utils-bin,
+Depends: ${misc:Depends}, perl, git-core, gpgv, chiark-utils-bin,
libjson-perl, libdigest-sha-perl, libdbd-sqlite3-perl, sqlite3
+Recommends: dgit
Architecture: all
Priority: extra
Description: dgit server backend infrastructure
This package contains tools which are useful for setting up a dgit
- git repository server. You probably want dgit, the client package.
+ git repository server. You probably want dgit, the client package,
+ instead of dgit-infrastructure.
diff --git a/debian/rules b/debian/rules
index 6580f96..9249f88 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,9 +30,27 @@ 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 $@