diff options
-rw-r--r-- | debian/changelog | 20 | ||||
-rwxr-xr-x | dh_install | 4 | ||||
-rwxr-xr-x | t/dh_install | 48 |
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 @@ -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"); |