summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Debhelper/Dh_Getopt.pm7
-rw-r--r--Debian/Debhelper/Dh_Lib.pm24
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