summaryrefslogtreecommitdiff
path: root/t/dh_install
diff options
context:
space:
mode:
authorJoey Hess <joeyh@debian.org>2013-11-10 15:23:29 -0400
committerJoey Hess <joeyh@debian.org>2013-11-10 15:23:29 -0400
commit868ba759bb6eec429139205e01f59f494cdaf98b (patch)
tree36d25c13f7c002867e6b5cb0acd70398d79c00e3 /t/dh_install
debhelper (9.20131110) unstable; urgency=low
* dh_installinit: Revert changes that added versioned dependency on sysv-rc to support upstart, which later grew to a versioned dependency on sysv-rc | file-rc, and which seems to want to continue growing to list other init systems, which there currently seem to be far too many of, for far too little benefit. The sysv-rc dependency is already met in stable. The file-rc dependency is not, so if someone cares about that, they need to find a properly designed solution, which this was not. Closes: #729248 # imported from the archive
Diffstat (limited to 't/dh_install')
-rwxr-xr-xt/dh_install88
1 files changed, 88 insertions, 0 deletions
diff --git a/t/dh_install b/t/dh_install
new file mode 100755
index 00000000..447a40a8
--- /dev/null
+++ b/t/dh_install
@@ -0,0 +1,88 @@
+#!/usr/bin/perl
+use Test;
+plan(tests => 23);
+
+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");
+
+# debian/tmp explicitly specified in filenames in older compat level
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("DH_COMPAT=6 ./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");
+
+# --sourcedir=debian/tmp in older compat level
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("DH_COMPAT=6 ./dh_install --sourcedir=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");
+
+# redundant --sourcedir=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 --sourcedir=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");
+
+# no fallback to debian/tmp before v7
+system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar");
+system("DH_COMPAT=6 ./dh_install usr/bin 2>/dev/null");
+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");
+
+# specification of file in source directory not in debian/tmp
+system("mkdir -p bar/usr/bin; touch bar/usr/bin/foo");
+system("./dh_install", "--sourcedir=bar", "usr/bin/foo");
+ok(-e "debian/debhelper/usr/bin/foo");
+system("rm -rf debian/debhelper bar");
+
+# specification of file in subdir, not in debian/tmp
+system("mkdir -p bar/usr/bin; touch bar/usr/bin/foo");
+system("./dh_install", "bar/usr/bin/foo");
+ok(-e "debian/debhelper/bar/usr/bin/foo");
+system("rm -rf debian/debhelper bar");