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

[lintian] 01/01: Also ignore -common and -tools packages for intra-Python variant dependency checking, python-foo-but-no-python3-foo, etc.



This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch master
in repository lintian.

commit f7d03c1faab43a448b9301e06231c8e419803bda
Author: Chris Lamb <lamby@debian.org>
Date:   Fri Dec 29 10:25:51 2017 +0000

    Also ignore -common and -tools packages for intra-Python variant dependency checking, python-foo-but-no-python3-foo, etc.
---
 checks/python.pm                                             |  7 ++++---
 debian/changelog                                             |  4 ++--
 .../debian/debian/control.in                                 | 12 ++++++++++++
 t/tests/python-mismatched-python-substvar/tags               |  2 +-
 .../python-python2-no-python3-unrel/debian/debian/control.in | 11 +++++++++++
 5 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/checks/python.pm b/checks/python.pm
index 0c7ac6e..3df0f9d 100644
--- a/checks/python.pm
+++ b/checks/python.pm
@@ -54,7 +54,7 @@ sub _run_source {
     my @package_names = $info->binaries;
     foreach my $bin (@package_names) {
         # Python 2 modules
-        if ($bin =~ /^python2?-(.*(?<!-doc)(?<!-common))$/) {
+        if ($bin =~ /^python2?-(.*(?<!-doc)(?<!-common)(?<!-tools))$/) {
             my $suffix = $1;
             tag 'python-foo-but-no-python3-foo', $bin
               unless any { $_ eq "python3-${suffix}" } @package_names;
@@ -74,6 +74,7 @@ sub _run_source {
     foreach my $regex (keys %MISMATCHED_SUBSTVARS) {
         my $substvar = $MISMATCHED_SUBSTVARS{$regex};
         for my $binpkg ($info->binaries) {
+            next if $binpkg =~ m/-(doc|common|tools)$/;
             next if $binpkg !~ qr/$regex/;
             tag 'mismatched-python-substvar', $binpkg, $substvar
               if $info->binary_relation($binpkg, 'all')->implies($substvar);
@@ -113,7 +114,7 @@ sub _run_binary {
           if not $info->relation('strong')->implies($version);
     }
 
-    if ($pkg =~ /^python([23]?)-.*(?<!-doc)(?<!-common)$/) {
+    if ($pkg =~ /^python([23]?)-.*(?<!-doc)(?<!-common)(?<!-tools)$/) {
         my $version = $1 || '2'; # Assume python-foo is a Python 2.x package
         my @prefixes = ($version eq '2') ? 'python3' : ('python', 'python2');
 
@@ -121,7 +122,7 @@ sub _run_binary {
             for my $prefix (@prefixes) {
                 my $visit = sub {
                     # Depending on python-module-doc, etc. is always fine
-                    return if m/-(doc|common)$/;
+                    return if m/-(doc|common|tools)$/;
                     #<<< No tidy (tag name too long)
                     tag 'python-package-depends-on-package-from-other-python-variant',
                         "($field: $_)" if m/^$prefix-/;
diff --git a/debian/changelog b/debian/changelog
index fc154bf..944d54e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,8 +13,8 @@ lintian (2.5.67) UNRELEASED; urgency=medium
       that depend on Python {3,2} packages when the package being depended
       on ends with -doc. We were previously only catching the case for
       dependencies *from* packages with such names.  (Closes: #885693)
-    + [CL] Also ignore -common packages for intra-Python variant dependency
-      checking.
+    + [CL] Also ignore -common and -tools packages for intra-Python variant
+      dependency checking, python-foo-but-no-python3-foo, etc.
   * checks/rules.desc:
     + [CL] Suggest using /usr/share/dpkg/architecture.mk as a solution to
       debian-rules-sets-dpkg-architecture-variable rather than simply
diff --git a/t/tests/python-mismatched-python-substvar/debian/debian/control.in b/t/tests/python-mismatched-python-substvar/debian/debian/control.in
index 5650697..6250b41 100644
--- a/t/tests/python-mismatched-python-substvar/debian/debian/control.in
+++ b/t/tests/python-mismatched-python-substvar/debian/debian/control.in
@@ -53,3 +53,15 @@ Description: False positive Python 3.X
  be an empty package.
  .
  False positive package for Python 3.X.
+
+Package: python-{$source}-tools
+Section: python
+Architecture: all
+Depends: $\{misc:Depends\}, $\{python3:Depends\}
+Description: Generic tools package
+ This is a test package designed to exercise some feature or tag of
+ Lintian.  It is part of the Lintian test suite and may do very odd
+ things.  It should not be installed like a regular package.  It may
+ be an empty package.
+ .
+ Generic -tools packages are allowed.
diff --git a/t/tests/python-mismatched-python-substvar/tags b/t/tests/python-mismatched-python-substvar/tags
index ade1108..37b3600 100644
--- a/t/tests/python-mismatched-python-substvar/tags
+++ b/t/tests/python-mismatched-python-substvar/tags
@@ -1,4 +1,4 @@
 E: python-mismatched-python-substvar source: python-depends-but-no-python-helper python-python-mismatched-python-substvar-nonrel python3-python-mismatched-python-substvar
-E: python-mismatched-python-substvar source: python3-depends-but-no-python3-helper python-python-mismatched-python-substvar python3-python-mismatched-python-substvar-nonrel
+E: python-mismatched-python-substvar source: python3-depends-but-no-python3-helper python-python-mismatched-python-substvar python-python-mismatched-python-substvar-tools python3-python-mismatched-python-substvar-nonrel
 W: python-mismatched-python-substvar source: mismatched-python-substvar python-python-mismatched-python-substvar ${python3:Depends}
 W: python-mismatched-python-substvar source: mismatched-python-substvar python3-python-mismatched-python-substvar ${python:Depends}
diff --git a/t/tests/python-python2-no-python3-unrel/debian/debian/control.in b/t/tests/python-python2-no-python3-unrel/debian/debian/control.in
index 5656618..c467f05 100644
--- a/t/tests/python-python2-no-python3-unrel/debian/debian/control.in
+++ b/t/tests/python-python2-no-python3-unrel/debian/debian/control.in
@@ -48,3 +48,14 @@ Description: Python 2 package with corresponding Python 3 package (common files)
  be an empty package.
  .
  This package contains files common to both packages.
+
+Package: python-{$source}-tools
+Architecture: all
+Depends: $\{misc:Depends\}
+Description: Python 2 package with corresponding Python 3 package (tools)
+ This is a test package designed to exercise some feature or tag of
+ Lintian.  It is part of the Lintian test suite and may do very odd
+ things.  It should not be installed like a regular package.  It may
+ be an empty package.
+ .
+ This package contains tools.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git


Reply to: