summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Thykier <niels@thykier.net>2017-06-25 16:21:45 +0000
committerNiels Thykier <niels@thykier.net>2017-06-25 16:21:48 +0000
commit4cdb230c8b125056684e78924782710bf944653b (patch)
tree2f6c5224668de5ea26e5173246a19bf695bf6731
parent8179504ea3485be335b15372179f96d1c8d09f6e (diff)
downloaddebhelper-4cdb230c8b125056684e78924782710bf944653b.tar.gz
dh_auto_install: In c11, skip creating unrelated directories
Signed-off-by: Niels Thykier <niels@thykier.net>
-rw-r--r--debhelper.pod8
-rw-r--r--debian/changelog3
-rwxr-xr-xdh_auto_install8
3 files changed, 17 insertions, 2 deletions
diff --git a/debhelper.pod b/debhelper.pod
index e19a6c8b..a940ab8c 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -663,6 +663,14 @@ F<./configure>.
The B<dh_installman> helper will now prefer detecting the language from the
path name rather than the extension.
+=item -
+
+The B<dh_auto_install> helper will now only create the destination
+directory it needs. Previously, it would create the package build
+directory for all packages. This will not affect packages that only
+build with debhelper commands, but it may expose bugs in commands not
+included in debhelper.
+
=back
=back
diff --git a/debian/changelog b/debian/changelog
index b583a27f..229b21f6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -60,6 +60,9 @@ debhelper (10.5) UNRELEASED; urgency=medium
* Dh_Lib.pm: Emulate "install -d" with File::Path to avoid a fork+exec
for creating directories. For simplicity, the verbose output still
claim debhelper uses "install -d" for this.
+ * dh_auto_install: In compat 11, do noot create package build
+ directories (except if one of them happens to be the default
+ "destdir" for dh_auto_install).
[ Iain Lane ]
* Dh_Lib: Re-add warning + exit 0 for the -i/-a shortcut that was
diff --git a/dh_auto_install b/dh_auto_install
index 3463d534..fa0c6692 100755
--- a/dh_auto_install
+++ b/dh_auto_install
@@ -81,8 +81,12 @@ if (!$destdir) {
}
$destdir = File::Spec->rel2abs($destdir, cwd());
-# Ensure that all debian/<pkg> directories exist
-install_dir(map { tmpdir($_) } @{$dh{DOPACKAGES}});
+if (compat(10)) {
+ # Ensure that all debian/<pkg> directories exist
+ install_dir(map { tmpdir($_) } @{$dh{DOPACKAGES}});
+} else {
+ install_dir($destdir);
+}
buildsystems_do("install", $destdir);