summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Debian/Debhelper/Dh_Lib.pm2
-rw-r--r--debhelper.pod20
-rw-r--r--debian/changelog8
-rw-r--r--debian/compat2
-rwxr-xr-xdh_install21
5 files changed, 46 insertions, 7 deletions
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 3b696027..b46af58e 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -16,7 +16,7 @@ use vars qw(@ISA @EXPORT %dh);
&compat &addsubstvar &delsubstvar &excludefile &package_arch
&is_udeb &udeb_filename &debhelper_script_subst &escape_shell);
-my $max_compat=6;
+my $max_compat=7;
sub init {
# If DH_OPTIONS is set, prepend it @ARGV.
diff --git a/debhelper.pod b/debhelper.pod
index 55089338..b67ec950 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -364,8 +364,7 @@ dh_install errors out if wildcards expand to nothing.
=item V6
-This is the recommended mode of operation. It does everything V5 does,
-plus:
+Changes from V5 are:
=over 8
@@ -393,6 +392,23 @@ directory. In previous compatability levels it silently refuses to do this.
=back
+=item V7
+
+This is the recommended mode of operation.
+
+Changes from V6 are:
+
+=over 8
+
+=item -
+
+dh_install, if --sourcedir is not specified, will first look for files in
+debian/tmp, and then will look in the current directory. This allows
+dh_install to interoperate with dh_auto_install without needing any special
+parameters.
+
+=back
+
=back
=head2 Doc directory symlinks
diff --git a/debian/changelog b/debian/changelog
index f33c57b7..e033527c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-debhelper (6.0.13) UNRELEASED; urgency=low
+debhelper (7.0.0) UNRELEASED; urgency=low
* dh_clean: Don't delete core dumps. (Too DWIM, and "core" is not
necessarily a core dump.) Closes: #477391
@@ -18,6 +18,12 @@ debhelper (6.0.13) UNRELEASED; urgency=low
setup.py to install. Supports the PREFIX=/usr special case needed by
MakeMaker Makefiles. (Support for cmake and other build systems planned
but not yet implemented.)
+ * New v7 mode, which only has one change from v6, and is the new
+ recommended default.
+ * dh_install: if --sourcedir is not specified, first look for files in
+ debian/tmp, and then will look in the current directory. This allows
+ dh_install to interoperate with dh_auto_install without needing any
+ special parameters.
-- Joey Hess <joeyh@debian.org> Tue, 22 Apr 2008 17:54:20 -0400
diff --git a/debian/compat b/debian/compat
index 1e8b3149..7f8f011e 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-6
+7
diff --git a/dh_install b/dh_install
index eda38962..17ca1255 100755
--- a/dh_install
+++ b/dh_install
@@ -40,6 +40,10 @@ package that builds multiple binary packages. You can use the upstream
Makefile to install it all into debian/tmp, and then use dh_install to copy
directories and files from there into the proper package build directories.
+From debhelper compatability level 7 on, if --sourcedir is not specified,
+dh_install will install files from debian/tmp if the directory contains the
+files. Otherwise, it will install files from the current directory.
+
=head1 OPTIONS
=over 4
@@ -138,13 +142,26 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if (! defined $dh{AUTODEST} && @$set > 1) {
$dest=pop @$set;
}
+
+ my @filelist;
+ foreach my $glob (@$set) {
+ my @found = glob "$srcdir/$glob";
+ if (! compat(6)) {
+ # Fall back to looking in debian/tmp.
+ if (! @found || ! -e $found[0]) {
+ @found = glob "debian/tmp/$glob";
+ }
+ }
+ push @filelist, @found;
+ }
+
if (! compat(4)) { # check added in v5
# glob now, relative to srcdir
- if (! map { glob "$srcdir/$_" } @$set) {
+ if (! @filelist) {
error("$package missing files (@$set), aborting");
}
}
- foreach my $src (map { glob "$srcdir/$_" } @$set) {
+ foreach my $src (@filelist) {
next if excludefile($src);
if (! defined $dest) {