summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog20
-rwxr-xr-xdh_install4
-rwxr-xr-xt/dh_install48
3 files changed, 70 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index cfa66725..ac78030d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+debhelper (7.3.4) experimental; urgency=low
+
+ * Merged debhelper 7.2.24.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 15 Jul 2009 09:50:37 -0400
+
debhelper (7.3.3) experimental; urgency=low
* Add ant buildsystem support. Closes: #537021
@@ -48,6 +54,20 @@ debhelper (7.3.0) experimental; urgency=low
-- Joey Hess <joeyh@debian.org> Wed, 01 Jul 2009 15:31:20 -0400
+debhelper (7.2.24) unstable; urgency=low
+
+ * dh_install: Add test suite covering the last 5 bugs.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 15 Jul 2009 09:42:18 -0400
+
+debhelper (7.2.23) unstable; urgency=low
+
+ * dh_install: Fix support for the case where debian/tmp is
+ explicitly specified in filename paths despite being searched by
+ default. Closes: #537140
+
+ -- Joey Hess <joeyh@debian.org> Wed, 15 Jul 2009 09:24:19 -0400
+
debhelper (7.2.22) unstable; urgency=low
* dh_install: Fix support for the case where --sourcedir=debian/tmp/foo
diff --git a/dh_install b/dh_install
index a8e08c2a..eb485025 100755
--- a/dh_install
+++ b/dh_install
@@ -170,8 +170,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if (! defined $dest) {
# Guess at destination directory.
$dest=$src;
- $dest=~s/^(.*\/)?\Q$srcdir\E\/// ||
- $dest=~s/^(.*\/)?debian\/tmp\///;
+ $dest=~s/^(.*\/)?\Q$srcdir\E\///;
+ $dest=~s/^(.*\/)?debian\/tmp\///;
$dest=dirname("/".$dest);
$tmpdest=1;
}
diff --git a/t/dh_install b/t/dh_install
new file mode 100755
index 00000000..37aff7b2
--- /dev/null
+++ b/t/dh_install
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+use Test;
+plan(tests => 13);
+
+system("rm -rf debian/debhelper debian/tmp");
+
+# #537140: debian/tmp is explcitly specified despite being searched by
+# default in v7+
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("./dh_install", "debian/tmp/usr/bin/foo");
+ok(-e "debian/debhelper/usr/bin/foo");
+ok(! -e "debian/debhelper/usr/bin/bar");
+system("rm -rf debian/debhelper debian/tmp");
+
+# #537017: --sourcedir=debian/tmp/foo is used
+system("mkdir -p debian/tmp/foo/usr/bin; touch debian/tmp/foo/usr/bin/foo; touch debian/tmp/foo/usr/bin/bar");
+system("./dh_install", "--sourcedir=debian/tmp/foo", "usr/bin/bar");
+ok(-e "debian/debhelper/usr/bin/bar");
+ok(! -e "debian/debhelper/usr/bin/foo");
+system("rm -rf debian/debhelper debian/tmp");
+
+# #535367: installation of entire top-level directory from debian/tmp
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("./dh_install", "usr");
+ok(-e "debian/debhelper/usr/bin/foo");
+ok(-e "debian/debhelper/usr/bin/bar");
+system("rm -rf debian/debhelper debian/tmp");
+
+# #534565: fallback use of debian/tmp in v7+
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("./dh_install", "usr/bin");
+ok(-e "debian/debhelper/usr/bin/foo");
+ok(-e "debian/debhelper/usr/bin/bar");
+system("rm -rf debian/debhelper debian/tmp");
+
+# #534565: glob expands to dangling symlink -> should install the dangling link
+system("mkdir -p debian/tmp/usr/bin; ln -s broken debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("./dh_install", "usr/bin/*");
+ok(-l "debian/debhelper/usr/bin/foo");
+ok(! -e "debian/debhelper/usr/bin/foo");
+ok(-e "debian/debhelper/usr/bin/bar");
+ok(! -l "debian/debhelper/usr/bin/bar");
+system("rm -rf debian/debhelper debian/tmp");
+
+# regular specification of file not in debian/tmp
+system("./dh_install", "dh_install", "usr/bin");
+ok(-e "debian/debhelper/usr/bin/dh_install");
+system("rm -rf debian/debhelper debian/tmp");