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

[SCM] Debian package checker branch, master, updated. 2.5.6-129-g1d64fd8



The following commit has been merged in the master branch:
commit 1d64fd8a88d18511d45af4e8fd64f4d4f38b43d3
Author: Niels Thykier <niels@thykier.net>
Date:   Sat May 12 23:03:44 2012 +0200

    group-check: Include Provides in the Conflicts check
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/checks/group-checks b/checks/group-checks
index 1375db5..018ef55 100644
--- a/checks/group-checks
+++ b/checks/group-checks
@@ -22,8 +22,10 @@ package Lintian::group_checks;
 use strict;
 use warnings;
 
-use Lintian::Tags qw(tag);
 use Lintian::Data;
+use Lintian::Relation;
+use Lintian::Tags qw(tag);
+
 
 my $KNOWN_PRIOS = Lintian::Data->new ('common/priorities', qr/\s*=\s*/o);
 
@@ -107,18 +109,22 @@ sub _check_file_overlap {
     for (my $i = 0 ; $i < scalar @sorted ; $i++) {
         my $proc = $sorted[$i];
         my $pinfo = $proc->info;
+        my @p = grep { $_ } split /,/o, $pinfo->field ('provides')//'';
+        my $prov = Lintian::Relation->new (join (' |̈́ ', $proc->pkg_name, @p));
         for (my $j = $i ; $j < scalar @sorted ; $j++) {
             my $other = $sorted[$j];
             my $oinfo = $other->info;
+            my @op = grep { $_ } split /,/o, $oinfo->field ('provides')//'';
+            my $oprov = Lintian::Relation->new (join (' | ', $other->pkg_name, @op));
             # poor man's "Multi-arch: same" work-around.
             next if $proc->pkg_name eq $other->pkg_name;
 
             # $other conflicts/replaces with $proc
-            next if $oinfo->relation ('conflicts')->implies ($proc->pkg_name);
+            next if $oinfo->relation ('conflicts')->implies ($prov);
             next if $oinfo->relation ('replaces')->implies ($proc->pkg_name);
 
             # $proc conflicts/replaces with $other
-            next if $pinfo->relation ('conflicts')->implies ($other->pkg_name);
+            next if $pinfo->relation ('conflicts')->implies ($oprov);
             next if $pinfo->relation ('replaces')->implies ($other->pkg_name);
 
             _overlap_check ($proc, $pinfo, $other, $oinfo);
diff --git a/debian/changelog b/debian/changelog
index d3e0f2f..50f6caf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -101,6 +101,9 @@ lintian (2.5.7) UNRELEASED; urgency=low
       raster images in "scalable" icon directories.  Thanks to
       Paul Wise for the report and Felix Geyer for the patches.
       (Closes: #628189)
+  * checks/group-checks:
+    + [NT] Include Provides when checking for conflict relations.
+      Thanks to Damyan Ivanov for the report.  (Closes: #672615)
   * checks/lintian.desc:
     + [NT] Updated the description of the override tags.
   * checks/manpages{,.desc}:

-- 
Debian package checker


Reply to: