diff options
author | joey <joey> | 2002-11-15 18:14:59 +0000 |
---|---|---|
committer | joey <joey> | 2002-11-15 18:14:59 +0000 |
commit | 7bf320dd5c5f4995c4a03d3c14c8d70d5443480e (patch) | |
tree | 348d3072bcf28713c84041aba790e54db04d5b6b | |
parent | fb6b68f1a6c5165da08afa0185d0ce8f8c5156d1 (diff) | |
download | debhelper-7bf320dd5c5f4995c4a03d3c14c8d70d5443480e.tar.gz |
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/changelog | 11 | ||||
-rwxr-xr-x | dh_install | 17 | ||||
-rwxr-xr-x | dh_md5sums | 2 |
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 @@ -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"; } @@ -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"); |