From 1b2c10f57b0257aac61a696378e9c8c05df8bf4f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 8 Nov 2014 22:21:27 +0000 Subject: [PATCH] New dgit-infrastructure binary package containing dgit-repos-server et al. Client users probably don't want this stuff. Also, it provides a convenient way to publish the dependencies. --- .gitignore | 1 + Makefile | 15 ++++++++++++++- debian/changelog | 4 ++++ debian/control | 10 ++++++++++ debian/rules | 4 ++++ debian/tests/control | 2 +- dgit-repos-server => infra/dgit-repos-server | 0 infra/dgit-ssh-dispatch | 2 +- tests/lib | 2 +- 9 files changed, 36 insertions(+), 4 deletions(-) rename dgit-repos-server => infra/dgit-repos-server (100%) diff --git a/.gitignore b/.gitignore index 737875fe..c25efea8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *~ tests/tmp debian/dgit +debian/dgit-infrastructure debian/files debian/*.substvars debian/*.log diff --git a/Makefile b/Makefile index f456d93e..caac3d98 100644 --- a/Makefile +++ b/Makefile @@ -26,10 +26,14 @@ prefix?=/usr/local bindir=$(prefix)/bin mandir=$(prefix)/share/man man1dir=$(mandir)/man1 +infraexamplesdir=$(prefix)/share/doc/dgit-infrastructure/examples -PROGRAMS=dgit dgit-repos-server +PROGRAMS=dgit MAN1PAGES=dgit.1 +INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch +INFRA_EXAMPLES=get-dm-txt ssh-wrap + all: install: installdirs @@ -39,6 +43,15 @@ install: installdirs installdirs: $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) +install-infra: installdirs-infra + $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_PROGRAMS)) \ + $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_EXAMPLES)) \ + $(DESTDIR)$(infraexamplesdir) + +installdirs-infra: + $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(infraexamplesdir) + check installcheck: clean distclean mostlyclean maintainer-clean: diff --git a/debian/changelog b/debian/changelog index 775be6c6..6629b0b5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -31,6 +31,10 @@ dgit (0.23~) unstable; urgency=low * Add missing `gpgv' to test dependencies in debian/tests/control. + * New dgit-infrastructure binary package containing dgit-repos-server et + al. Client users probably don't want this stuff. Also, it provides a + convenient way to publish the dependencies. + -- dgit (0.22.1) unstable; urgency=high diff --git a/debian/control b/debian/control index 798465bd..cc26c043 100644 --- a/debian/control +++ b/debian/control @@ -21,3 +21,13 @@ Description: git interoperability with the Debian archive dgit push constructs uploads from git commits . dgit clone and dgit fetch construct git commits from uploads. + +Package: dgit-infrastructure +Depends: ${misc:Depends} +Recommends: perl, git-core, gpgv, chiark-utils-bin, wget, + libdigest-sha-perl +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. diff --git a/debian/rules b/debian/rules index fece672a..e02ea906 100755 --- a/debian/rules +++ b/debian/rules @@ -29,3 +29,7 @@ override_dh_gencontrol: 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_install: + make install prefix=/usr DESTDIR=debian/dgit + make install-infra prefix=/usr DESTDIR=debian/dgit-infrastructure diff --git a/debian/tests/control b/debian/tests/control index aca24c4b..37124e64 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,3 +1,3 @@ Tests: clone-nogit fetch-localgitonly fetch-somegit-notlast push-newpackage push-nextdgit quilt push-buildproductsdir Tests-Directory: tests/tests -Depends: @, devscripts, gpgv +Depends: dgit, dgit-infrastructure, devscripts, gpgv diff --git a/dgit-repos-server b/infra/dgit-repos-server similarity index 100% rename from dgit-repos-server rename to infra/dgit-repos-server diff --git a/infra/dgit-ssh-dispatch b/infra/dgit-ssh-dispatch index bd8582aa..b515edad 100755 --- a/infra/dgit-ssh-dispatch +++ b/infra/dgit-ssh-dispatch @@ -120,7 +120,7 @@ sub dispatch () { my $cmd=$1; selectpackage $2,$3; if ($cmd eq 'receive-pack') { - my $s = "$dgitlive/dgit-repos-server"; + my $s = "$dgitlive/infra/dgit-repos-server"; exec $s, $suites, $authrune, $repos, qw(--ssh); die "exec $s: $!"; } elsif ($cmd eq 'upload-pack') { diff --git a/tests/lib b/tests/lib index 019a9984..adbd79ff 100644 --- a/tests/lib +++ b/tests/lib @@ -5,7 +5,7 @@ set -x if [ "x$DGIT_TEST_INTREE" != x ]; then : ${DGIT_TEST:=$DGIT_TEST_INTREE/dgit} - : ${DGIT_REPOS_SERVER_TEST:=$DGIT_TEST_INTREE/dgit-repos-server} + : ${DGIT_REPOS_SERVER_TEST:=$DGIT_TEST_INTREE/infra/dgit-repos-server} : ${DGIT_SSH_DISPATCH_TEST:=$DGIT_TEST_INTREE/infra/dgit-ssh-dispatch} export DGIT_TEST DGIT_REPOS_SERVER_TEST DGIT_SSH_DISPATCH_TEST fi -- 2.30.2