diff options
author | joeyh <joeyh> | 2007-09-30 17:42:06 +0000 |
---|---|---|
committer | joeyh <joeyh> | 2007-09-30 17:42:06 +0000 |
commit | 15397137b7f8bbb9ac31383ed1ceb5972c55b569 (patch) | |
tree | 8defa5a285f67a06e2f0eaf1c26f4e319ff254d6 /Debian | |
parent | fcbef8201e59bc3cf5384590d54f0c0a3ee08c45 (diff) | |
download | debhelper-15397137b7f8bbb9ac31383ed1ceb5972c55b569.tar.gz |
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.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 |