From 4dc71f1553bb996cce45589c22f8330d341ed4bc Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Tue, 14 Nov 2017 21:50:30 +0000 Subject: dh_install: Fix --exclude of patterns Signed-off-by: Niels Thykier --- debian/changelog | 2 ++ dh_install | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 58ae064a..bb4f9c87 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ debhelper (10.10.8) UNRELEASED; urgency=medium * Document that compat 11 is now in its open beta phase. * Dh_Getopt: Improve warning message when a package is excluded due to profiles or architecture restrictions. + * dh_install: Properly allow patterns to be excluded without + complaining about missing files. (Closes: #881658) -- Niels Thykier Sun, 12 Nov 2017 09:55:24 +0000 diff --git a/dh_install b/dh_install index 55eefe4d..05bcf761 100755 --- a/dh_install +++ b/dh_install @@ -207,7 +207,7 @@ foreach my $package (getpackages()) { }; foreach my $set (@install) { - my ($dest, @filelist); + my ($dest, @filelist, @patterns); if (@$set > 1) { $dest=pop @$set; @@ -217,7 +217,9 @@ foreach my $package (getpackages()) { # 2) exclude files matched by the pattern as people could have just # excluded a single file of a "dir/*"-pattern. # This line below filters entire patterns - foreach my $glob (grep { not excludefile($_) } @$set) { + @patterns = grep { not excludefile($_) } @{$set}; + next if not @patterns; + foreach my $glob (@patterns) { my @found = glob_expand(\@search_dirs, $glob_error_handler, $glob); push(@filelist, map { tr{/}{/}s; $_ } @found); } -- cgit v1.2.3