diff options
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Debhelper/Dh_Getopt.pm | 7 | ||||
-rw-r--r-- | Debian/Debhelper/Dh_Lib.pm | 24 |
2 files changed, 21 insertions, 10 deletions
diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm index b2b9224e..d1e052af 100644 --- a/Debian/Debhelper/Dh_Getopt.pm +++ b/Debian/Debhelper/Dh_Getopt.pm @@ -63,6 +63,11 @@ sub AddExclude { my($option,$value)=@_; push @{$options{EXCLUDE}},$value; } +# Add a file to the ignore list. +sub AddIgnore { my($option,$file)=@_; + $options{IGNORE}->{$file}=1; +} + # This collects non-options values. sub NonOption { push @{$options{ARGV}}, @_; @@ -103,6 +108,8 @@ sub parseopts { "X=s" => \&AddExclude, "exclude=s" => \&AddExclude, + + "ignore=s" => \&AddIgnore, "d" => \$options{D_FLAG}, "remove-d" => \$options{D_FLAG}, diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index 80f56387..bd5e3ae7 100644 --- a/Debian/Debhelper/Dh_Lib.pm +++ b/Debian/Debhelper/Dh_Lib.pm @@ -320,18 +320,22 @@ sub pkgfile { $filename="$dh{NAME}.$filename"; } - if (-f "debian/$package.$filename.".buildarch()) { - return "debian/$package.$filename.".buildarch(); + my @try=("debian/$package.$filename.".buildarch(), + "debian/$package.$filename"); + if ($package eq $dh{MAINPACKAGE}) { + push @try, "debian/$filename"; } - elsif (-f "debian/$package.$filename") { - return "debian/$package.$filename"; - } - elsif ($package eq $dh{MAINPACKAGE} && -f "debian/$filename") { - return "debian/$filename"; - } - else { - return ""; + + foreach my $file (@try) { + if (-f $file && + (! $dh{IGNORE} || ! exists $dh{IGNORE}->{$file})) { + return $file; + } + } + + return ""; + } # Pass it a name of a binary package, it returns the name to prefix to files |