The following commit has been merged in the sourcev3 branch:
commit ddf788627634080a39931061af354d8d8e15c433
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date: Sun Mar 16 15:29:13 2008 +0100
Use default ignore rules for source package with format >> 1.0
* scripts/dpkg-source.pl: Remove default ignore patterns
and move them...
* scripts/Dpkg/Source/Package.pm: ...here. The init_options()
method now will give default values to the corresponding
options.
* scripts/Dpkg/Source/Package/V2_0.pm (init_options): Call
the parent init_options() to get the default ignore rules.
* scripts/Dpkg/Source/Package/V1_0.pm: Don't call the
parent init_options() as we don't want default values
for format 1.0.
diff --git a/scripts/Dpkg/Source/Package.pm b/scripts/Dpkg/Source/Package.pm
index 68c3a45..f43bd70 100644
--- a/scripts/Dpkg/Source/Package.pm
+++ b/scripts/Dpkg/Source/Package.pm
@@ -33,6 +33,57 @@ use Dpkg::Path qw(check_files_are_the_same);
use POSIX;
use File::Basename;
+# Public variables
+our $diff_ignore_default_regexp = '
+# Ignore general backup files
+(?:^|/).*~$|
+# Ignore emacs recovery files
+(?:^|/)\.#.*$|
+# Ignore vi swap files
+(?:^|/)\..*\.swp$|
+# Ignore baz-style junk files or directories
+(?:^|/),,.*(?:$|/.*$)|
+# File-names that should be ignored (never directories)
+(?:^|/)(?:DEADJOE|\.cvsignore|\.arch-inventory|\.bzrignore|\.gitignore)$|
+# File or directory names that should be ignored
+(?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
+\.shelf|_MTN|\.bzr(?:\.backup|tags)?)(?:$|/.*$)
+';
+# Take out comments and newlines
+$diff_ignore_default_regexp =~ s/^#.*$//mg;
+$diff_ignore_default_regexp =~ s/\n//sg;
+no warnings 'qw';
+our @tar_ignore_default_pattern = qw(
+*.a
+*.la
+*.o
+*.so
+*.swp
+*~
+,,*
+.[#~]*
+.arch-ids
+.arch-inventory
+.bzr
+.bzr.backup
+.bzr.tags
+.bzrignore
+.cvsignore
+.deps
+.git
+.gitignore
+.hg
+.shelf
+.svn
+CVS
+DEADJOE
+RCS
+_MTN
+_darcs
+{arch}
+);
+
+# Private stuff
my @dsc_fields = (qw(Format Source Binary Architecture Version Origin
Maintainer Uploaders Dm-Upload-Allowed Homepage
Standards-Version Vcs-Browser Vcs-Arch Vcs-Bzr
@@ -61,6 +112,10 @@ sub new {
sub init_options {
my ($self) = @_;
+ # Use full ignore list by default
+ $self->{'options'}{'diff_ignore_regexp'} ||= $diff_ignore_default_regexp;
+ $self->{'options'}{'tar_ignore'} = [ @tar_ignore_default_pattern ]
+ unless @{$self->{'options'}{'tar_ignore'}};
}
sub initialize {
diff --git a/scripts/Dpkg/Source/Package/V1_0.pm
b/scripts/Dpkg/Source/Package/V1_0.pm
index 9c31687..3a4706c 100644
--- a/scripts/Dpkg/Source/Package/V1_0.pm
+++ b/scripts/Dpkg/Source/Package/V1_0.pm
@@ -40,6 +40,8 @@ use File::Spec;
sub init_options {
my ($self) = @_;
+ # Don't call $self->SUPER::init_options() on purpose, V1.0 has no
+ # ignore by default
$self->{'options'}{'sourcestyle'} ||= 'X';
}
diff --git a/scripts/Dpkg/Source/Package/V2_0.pm
b/scripts/Dpkg/Source/Package/V2_0.pm
index cc4ced5..8a3d1e3 100644
--- a/scripts/Dpkg/Source/Package/V2_0.pm
+++ b/scripts/Dpkg/Source/Package/V2_0.pm
@@ -39,6 +39,7 @@ use File::Spec;
sub init_options {
my ($self) = @_;
+ $self->SUPER::init_options();
$self->{'options'}{'include_removal'} = 0
unless exists $self->{'options'}{'include_removal'};
$self->{'options'}{'include_timestamp'} = 0
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index 78030b3..eba1fbe 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -30,56 +30,6 @@ my $controlfile;
my $changelogfile;
my $changelogformat;
-my $diff_ignore_default_regexp = '
-# Ignore general backup files
-(?:^|/).*~$|
-# Ignore emacs recovery files
-(?:^|/)\.#.*$|
-# Ignore vi swap files
-(?:^|/)\..*\.swp$|
-# Ignore baz-style junk files or directories
-(?:^|/),,.*(?:$|/.*$)|
-# File-names that should be ignored (never directories)
-(?:^|/)(?:DEADJOE|\.cvsignore|\.arch-inventory|\.bzrignore|\.gitignore)$|
-# File or directory names that should be ignored
-(?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
-\.shelf|_MTN|\.bzr(?:\.backup|tags)?)(?:$|/.*$)
-';
-# Take out comments and newlines
-$diff_ignore_default_regexp =~ s/^#.*$//mg;
-$diff_ignore_default_regexp =~ s/\n//sg;
-
-no warnings 'qw';
-my @tar_ignore_default_pattern = qw(
-*.a
-*.la
-*.o
-*.so
-*.swp
-*~
-,,*
-.[#~]*
-.arch-ids
-.arch-inventory
-.bzr
-.bzr.backup
-.bzr.tags
-.bzrignore
-.cvsignore
-.deps
-.git
-.gitignore
-.hg
-.shelf
-.svn
-CVS
-DEADJOE
-RCS
-_MTN
-_darcs
-{arch}
-);
-
my @build_formats = ("1.0", "3.0 (native)");
my %options = (
# Compression related
@@ -134,12 +84,12 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
} elsif (m/^-U([^\=:]+)$/) {
$remove{$1} = 1;
} elsif (m/^-i(.*)$/) {
- $options{'diff_ignore_regexp'} = $1 ? $1 : $diff_ignore_default_regexp;
+ $options{'diff_ignore_regexp'} = $1 ? $1 :
$Dpkg::Source::Package::diff_ignore_default_regexp;
} elsif (m/^-I(.+)$/) {
push @{$options{'tar_ignore'}}, $1;
} elsif (m/^-I$/) {
unless ($tar_ignore_default_pattern_done) {
- push @{$options{'tar_ignore'}}, @tar_ignore_default_pattern;
+ push @{$options{'tar_ignore'}},
@Dpkg::Source::Package::tar_ignore_default_pattern;
# Prevent adding multiple times
$tar_ignore_default_pattern_done = 1;
}
@@ -433,8 +383,8 @@ General options:
More options are available but they depend on the source package format.
See dpkg-source(1) for more info.
"), $progname,
- $diff_ignore_default_regexp,
- join('', map { " -I$_" } @tar_ignore_default_pattern),
+ $Dpkg::Source::Package::diff_ignore_default_regexp,
+ join(' ', map { "-I$_" }
@Dpkg::Source::Package::tar_ignore_default_pattern),
"@comp_supported";
}
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]