summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
authorjoeyh <joeyh>2007-09-30 17:42:06 +0000
committerjoeyh <joeyh>2007-09-30 17:42:06 +0000
commit15397137b7f8bbb9ac31383ed1ceb5972c55b569 (patch)
tree8defa5a285f67a06e2f0eaf1c26f4e319ff254d6 /Debian
parentfcbef8201e59bc3cf5384590d54f0c0a3ee08c45 (diff)
r2033: * Add --ignore option. This is intended to ease dealing with upstream
tarballs that contain debian directories, by allowing debhelper config files in those directories to be ignored, since there's generally no good way to delete them out of the upstream tarball, and they can easily get in the way if upstream is using debian/ differently than the Debian maintainer.
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 b2b9224..d1e052a 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 80f5638..bd5e3ae 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