[SCM] Debian package checker branch, master, updated. 2.5.14-88-g7057c0e
The following commit has been merged in the master branch:
commit 7057c0eb798bc641985d3dd23b2344aa1471a541
Author: Niels Thykier <niels@thykier.net>
Date: Mon Jul 22 19:49:34 2013 +0200
L::C::Source: Support B-D-Arch fields in relation(_noarch)
Also, use L::Relation->and instead of L::Relation->new for the merged
fields.
Signed-off-by: Niels Thykier <niels@thykier.net>
diff --git a/debian/changelog b/debian/changelog
index b2c8973..3032eb3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -112,6 +112,8 @@ lintian (2.5.15) UNRELEASED; urgency=low
+ [NT] "binaries" and "binary_field" now only exposes data
about entries in d/control with a valid package name.
+ [NT] Document that "binaries" return an unorderd list.
+ + [NT] relation and relation_noarch now recognises
+ "Build-Depends-Arch".
* lib/Lintian/Path.pm:
+ [NT] Fix bug in the overloaded qr// operator.
* lib/Lintian/ProcessablePool.pm:
diff --git a/lib/Lintian/Collect/Source.pm b/lib/Lintian/Collect/Source.pm
index e44942f..08e14bf 100644
--- a/lib/Lintian/Collect/Source.pm
+++ b/lib/Lintian/Collect/Source.pm
@@ -470,11 +470,13 @@ following special field names are supported:
=item build-depends-all
-The concatenation of Build-Depends and Build-Depends-Indep.
+The concatenation of Build-Depends, Build-Depends-Arch and
+Build-Depends-Indep.
=item build-conflicts-all
-The concatenation of Build-Conflicts and Build-Conflicts-Indep.
+The concatenation of Build-Conflicts, Build-Conflicts-Arch and
+Build-Conflicts-Indep.
=back
@@ -493,21 +495,17 @@ sub relation {
my $result;
if ($field =~ /^build-(depends|conflicts)-all$/) {
my $type = $1;
- my $merged;
- for my $f ("build-$type", "build-$type-indep") {
- my $value = $self->field($f);
- $merged .= ', ' if (defined($merged) and defined($value));
- $merged .= $value if defined($value);
- }
- $result = $merged;
- } elsif ($field =~ /^build-(depends|conflicts)(-indep)?$/) {
+ my @fields = ("build-$type", "build-$type-indep" , "build-$type-arch");
+ $result = Lintian::Relation->and(
+ map { $self->relation($_) } @fields);
+ } elsif ($field =~ /^build-(depends|conflicts)(?:-(?:arch|indep))?$/) {
my $value = $self->field($field);
- $result = $value if defined($value);
+ $result = Lintian::Relation->new($value);
} else {
croak("unknown relation field $field");
}
- $self->{relation}->{$field} = Lintian::Relation->new($result);
- return $self->{relation}->{$field};
+ $self->{relation}{$field} = $result;
+ return $result;
}
=item relation_noarch (FIELD)
@@ -528,22 +526,17 @@ sub relation_noarch {
my $result;
if ($field =~ /^build-(depends|conflicts)-all$/) {
my $type = $1;
- my $merged;
- for my $f ("build-$type", "build-$type-indep") {
- my $value = $self->field($f);
- $merged .= ', ' if (defined($merged) and defined($value));
- $merged .= $value if defined($value);
- }
- $result = $merged;
- } elsif ($field =~ /^build-(depends|conflicts)(-indep)?$/) {
+ my @fields = ("build-$type", "build-$type-indep" , "build-$type-arch");
+ $result = Lintian::Relation->and(
+ map { $self->relation_noarch($_) } @fields);
+ } elsif ($field =~ /^build-(depends|conflicts)(?:-(?:arch|indep))?$/) {
my $value = $self->field($field);
- $result = $value if defined($value);
+ $result = Lintian::Relation->new_noarch($value);
} else {
croak("unknown relation field $field");
}
- $self->{relation_noarch}->{$field}
- = Lintian::Relation->new_noarch($result);
- return $self->{relation_noarch}->{$field};
+ $self->{relation_noarch}{$field} = $result;
+ return $result;
}
=item debfiles ([FILE])
--
Debian package checker
Reply to: