From: Joey Hess Date: Wed, 23 Apr 2008 19:29:22 +0000 (-0400) Subject: New v7 mode, which only has one change from v6, and is the new recommended default. X-Git-Tag: 7.0.0~21 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=cf04cbf2d5d3edf3d9e2ef7ef348b7bd7d5d5a15;p=debhelper.git New v7 mode, which only has one change from v6, and is the new recommended default. * 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. --- diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index 3b69602..b46af58 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 5508933..b67ec95 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 f33c57b..e033527 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 Tue, 22 Apr 2008 17:54:20 -0400 diff --git a/debian/compat b/debian/compat index 1e8b314..7f8f011 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -6 +7 diff --git a/dh_install b/dh_install index eda3896..17ca125 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) {