summaryrefslogtreecommitdiff
path: root/dh_install
diff options
context:
space:
mode:
authorNiels Thykier <niels@thykier.net>2017-06-26 13:04:52 +0000
committerNiels Thykier <niels@thykier.net>2017-06-26 13:16:51 +0000
commit3d8a18251a391e35eb674fa73b7fbe678c04dd9c (patch)
tree1c8cb4ed5f32798529145c14cb06b49f640228f5 /dh_install
parent62cf057d60b8156159342bead49a7df13f56030e (diff)
dh_install: Refactor handling of autodest
Signed-off-by: Niels Thykier <niels@thykier.net>
Diffstat (limited to 'dh_install')
-rwxr-xr-xdh_install27
1 files changed, 11 insertions, 16 deletions
diff --git a/dh_install b/dh_install
index 47712333..61a4ce3d 100755
--- a/dh_install
+++ b/dh_install
@@ -176,7 +176,6 @@ foreach my $package (getpackages()) {
foreach my $set (@install) {
my $dest;
- my $tmpdest=0;
if (! defined $dh{AUTODEST} && @$set > 1) {
$dest=pop @$set;
@@ -227,18 +226,18 @@ foreach my $package (getpackages()) {
next if $skip_install or $missing_files;
foreach my $src (@filelist) {
-
- if (! defined $dest) {
+
+ my $target_dest = $dest;
+ if (! defined $$target_dest) {
# Guess at destination directory.
- $dest=$src;
- $dest=~s/^(.*\/)?\Q$srcdir\E\///;
- $dest=~s/^(.*\/)?debian\/tmp\///;
- $dest=dirname("/".$dest);
- $tmpdest=1;
+ $target_dest = $src;
+ $target_dest =~ s/^(.*\/)?\Q$srcdir\E\///;
+ $target_dest =~ s/^(.*\/)?debian\/tmp\///;
+ $target_dest = dirname("/".$target_dest);
}
# Make sure the destination directory exists.
- install_dir("$tmp/$dest");
+ install_dir("$tmp/$target_dest");
if (-d $src && $exclude) {
my $basename = basename($src);
@@ -247,19 +246,15 @@ foreach my $package (getpackages()) {
chomp $pwd;
complex_doit("cd '$dir' && " .
"find '$basename' $exclude \\( -type f -or -type l \\) -print0 | LC_ALL=C sort -z | " .
- "xargs -0 -I {} cp --reflink=auto --parents -dp {} $pwd/$tmp/$dest/");
+ "xargs -0 -I {} cp --reflink=auto --parents -dp {} $pwd/$tmp/$target_dest/");
# cp is annoying so I need a separate pass
# just for empty directories
complex_doit("cd '$dir' && " .
"find '$basename' $exclude \\( -type d -and -empty \\) -print0 | LC_ALL=C sort -z | " .
- "xargs -0 -I {} cp --reflink=auto --parents -a {} $pwd/$tmp/$dest/");
+ "xargs -0 -I {} cp --reflink=auto --parents -a {} $pwd/$tmp/$target_dest/");
}
else {
- doit("cp", '--reflink=auto', "-a", $src, "$tmp/$dest/");
- }
-
- if ($tmpdest) {
- $dest=undef;
+ doit("cp", '--reflink=auto', "-a", $src, "$tmp/$target_dest/");
}
}
}