[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: