]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_install
* dh_strip: Improve the idempotency fix put in for #380314.
[debhelper.git] / dh_install
index 45a1dfceb33987f675ab35bc4b892f0f6f9da91f..eda38962b774374edfbc7ac92c5b1e40511e3e96 100755 (executable)
@@ -138,7 +138,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                if (! defined $dh{AUTODEST} && @$set > 1) {
                        $dest=pop @$set;
                }
-               # glob now, relative to srcdir
+               if (! compat(4)) { # check added in v5
+                       # glob now, relative to srcdir
+                       if (! map { glob "$srcdir/$_" } @$set) {
+                               error("$package missing files (@$set), aborting");
+                       }
+               }
                foreach my $src (map { glob "$srcdir/$_" } @$set) { 
                        next if excludefile($src);
                
@@ -170,14 +175,14 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                        }
                        
                        if (-d $src && $exclude) {
-                               my ($dir_basename) = basename($src);
-                               # Pity there's no cp --exclude ..
+                               my $basename = basename($src);
+                               my $dir = ($basename eq '.') ? $src : "$src/..";
                                my $pwd=`pwd`;
                                chomp $pwd;
-                               complex_doit("cd $src/.. && find $dir_basename $exclude \\( -type f -or -type l \\) -exec cp --parents -dp {} $pwd/$tmp/$dest/ \\;");
+                               complex_doit("cd '$dir' && find '$basename' $exclude \\( -type f -or -type l \\) -exec cp --parents -dp {} $pwd/$tmp/$dest/ \\;");
                                # cp is annoying so I need a separate pass
                                # just for empty directories
-                               complex_doit("cd $src/.. && find $dir_basename $exclude \\( -type d -and -empty \\) -exec cp --parents -a {} $pwd/$tmp/$dest/ \\;");
+                               complex_doit("cd '$dir' && find '$basename' $exclude \\( -type d -and -empty \\) -exec cp --parents -a {} $pwd/$tmp/$dest/ \\;");
                        }
                        else {
                                doit("cp", "-a", $src, "$tmp/$dest/");
@@ -209,7 +214,7 @@ if ($dh{LIST_MISSING} || $dh{FAIL_MISSING}) {
                }
        }, $srcdir);
        if (@missing) {
-               warning "$_ exists in debian/tmp but is not installed to anywhere" foreach @missing;
+               warning "$_ exists in $srcdir but is not installed to anywhere" foreach @missing;
                if ($dh{FAIL_MISSING}) {
                        error("missing files, aborting");
                }
@@ -229,7 +234,7 @@ contain:
 
 While debian/libfoo.install contains:
 
-  usr/libfoo*.so.*
+  usr/lib/libfoo*.so.*
 
 If you want a libfoo-dev package too, debian/libfoo-dev.install might contain: