summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey>2002-11-15 18:14:59 +0000
committerjoey <joey>2002-11-15 18:14:59 +0000
commit7bf320dd5c5f4995c4a03d3c14c8d70d5443480e (patch)
tree348d3072bcf28713c84041aba790e54db04d5b6b
parentfb6b68f1a6c5165da08afa0185d0ce8f8c5156d1 (diff)
r563: * dh_install: Support autodest with non-debian/tmp sourcedirs.
Closes: #169138 * dh_install: Support implicit "." sourcedir and --list-missing. (Also supports ./foo file specs and --list-missing.) Closes: #168751 * dh_md5sums: Don't glob. Closes: #169135
-rw-r--r--debian/changelog11
-rwxr-xr-xdh_install17
-rwxr-xr-xdh_md5sums2
3 files changed, 23 insertions, 7 deletions
diff --git a/debian/changelog b/debian/changelog
index b1be5fdf..fa04e3a7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+debhelper (4.1.22) unstable; urgency=low
+
+ * dh_install: Support autodest with non-debian/tmp sourcedirs.
+ Closes: #169138
+ * dh_install: Support implicit "." sourcedir and --list-missing.
+ (Also supports ./foo file specs and --list-missing.)
+ Closes: #168751
+ * dh_md5sums: Don't glob. Closes: #169135
+
+ -- Joey Hess <joeyh@debian.org> Fri, 15 Nov 2002 13:12:24 -0500
+
debhelper (4.1.21) unstable; urgency=low
* Make dh_install --list-missing honor -X excludes. Closes: #168739
diff --git a/dh_install b/dh_install
index afd5a264..d75e0253 100755
--- a/dh_install
+++ b/dh_install
@@ -56,11 +56,11 @@ specified, you should not list destination directories in
debian/package.install files or on the command line. Instead, dh_install
will guess as follows:
-Strip off debian/tmp from the front of the filename, if it is present, and
-install into the dirname of the filename. So if the filename is
-debian/tmp/usr/bin, then that directory will be copied to
-debian/package/usr/. If the filename is debian/tmp/etc/passwd, it will be
-copied to debian/package/etc/.
+Strip off debian/tmp (or the sourcedir if one is given) from the front of
+the filename, if it is present, and install into the dirname of the
+filename. So if the filename is debian/tmp/usr/bin, then that directory
+will be copied to debian/package/usr/. If the filename is
+debian/tmp/etc/passwd, it will be copied to debian/package/etc/.
Note that if you list only a filename on a line by itself in a
debian/package.install file, with no explicit destination, then dh_install
@@ -138,7 +138,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if (! defined $dest) {
# Guess at destination directory.
$dest=$src;
- $dest=~s/^(.*\/)?debian\/tmp//;
+ my $strip=$srcdir;
+ if ($strip eq '.') {
+ $strip = "debian/tmp";
+ }
+ $dest=~s/^(.*\/)?\Q$strip\E//;
$dest=dirname($dest);
}
@@ -153,6 +157,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
# @installed stuff more robust.
$src=~y:/:/:s;
$src=~s:/+$::;
+ $src=~s:^(\./)*::;
push @installed, "\Q$src\E\/.*|\Q$src\E";
}
diff --git a/dh_md5sums b/dh_md5sums
index 2fc6f4ab..616a8d89 100755
--- a/dh_md5sums
+++ b/dh_md5sums
@@ -70,7 +70,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
}
my $olddir=getcwd();
- complex_doit("cd $tmp >/dev/null ; find * -type f $exclude ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums ; cd '$olddir' >/dev/null");
+ complex_doit("cd $tmp >/dev/null ; find . -type f $exclude ! -regex '.*/DEBIAN/.*' -printf '%P\\0' | xargs -r0 md5sum > DEBIAN/md5sums ; cd '$olddir' >/dev/null");
# If the file's empty, no reason to waste inodes on it.
if (-z "$tmp/DEBIAN/md5sums") {
doit("rm","-f","$tmp/DEBIAN/md5sums");