This is an automated email from the git hooks/post-receive script. lamby pushed a commit to branch master in repository lintian.
commit cf15803c922406e85b5a4d21077aca9f198459f2 Author: Chris Lamb <[email protected]> Date: Fri Dec 29 14:25:50 2017 +0000 Refactor django-package-does-not-depend-on-django check to correctly check Django packages called python2-django-foo. --- checks/python.pm | 16 ++++++++++------ debian/changelog | 2 ++ .../debian/debian/control.in | 11 +++++++++++ .../python-django-package-does-not-depend-on-django/tags | 1 + 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/checks/python.pm b/checks/python.pm index cb7a3dd..a8e9c5f 100644 --- a/checks/python.pm +++ b/checks/python.pm @@ -32,6 +32,10 @@ my @FIELDS = qw(Depends Pre-Depends Recommends Suggests); my @IGNORE = qw(-dev$ -docs?$ -common$ -tools$); my @PYTHON2 = qw(python python2.7 python-dev); +my %DJANGO_PACKAGES = ( + '^python3-django-' => 'python3-django', + '^python2?-django-' => 'python-django', +); my %MISMATCHED_SUBSTVARS = ( '^python3-.+' => '${python:Depends}', '^python2?-.+' => '${python3:Depends}', @@ -109,12 +113,12 @@ sub _run_binary { } # Django modules - if ( $pkg =~ /^(python[23]?-django)-/ - and $pkg !~ /^python3?-django$/ - and none { $pkg =~ m/$_$/ } @IGNORE) { - my $version = $1; - tag 'django-package-does-not-depend-on-django', $version - if not $info->relation('strong')->implies($version); + foreach my $regex (keys %DJANGO_PACKAGES) { + my $basepkg = $DJANGO_PACKAGES{$regex}; + next if $pkg !~ /$regex/; + next if $pkg =~ /^python3?-django$/; + tag 'django-package-does-not-depend-on-django', $basepkg + if not $info->relation('strong')->implies($basepkg); } if ($pkg =~ /^python([23]?)-/ and none { $pkg =~ /$_/ } @IGNORE) { diff --git a/debian/changelog b/debian/changelog index ea18eda..24cb22b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,8 @@ lintian (2.5.67) UNRELEASED; urgency=medium intra-Python variant dependency checking, python-but-no-python3, etc. + [CL] Drop parens in depends-on-package-from-other-python-variant output. + + [CL] Refactor django-package-does-not-depend-on-django check to + correctly check Django packages called python2-django-foo. * checks/rules.{desc.pm}: + [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-django-package-does-not-depend-on-django/debian/debian/control.in b/t/tests/python-django-package-does-not-depend-on-django/debian/debian/control.in index ffd6462..3e3970e 100644 --- a/t/tests/python-django-package-does-not-depend-on-django/debian/debian/control.in +++ b/t/tests/python-django-package-does-not-depend-on-django/debian/debian/control.in @@ -15,6 +15,17 @@ Description: Python 2 package without corresponding python-django dependency things. It should not be installed like a regular package. It may be an empty package. +Package: python2-django-positive +Architecture: all +Depends: $\{misc:Depends\}, python2.7 +Description: Python 2 package without corresponding python-django dependency (explicit) + 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. + . + Explicit Python 2 variant. + Package: python3-django-positive Architecture: all Depends: $\{misc:Depends\}, python3 diff --git a/t/tests/python-django-package-does-not-depend-on-django/tags b/t/tests/python-django-package-does-not-depend-on-django/tags index 1871794..70e503b 100644 --- a/t/tests/python-django-package-does-not-depend-on-django/tags +++ b/t/tests/python-django-package-does-not-depend-on-django/tags @@ -1,2 +1,3 @@ W: python-django-positive: django-package-does-not-depend-on-django python-django +W: python2-django-positive: django-package-does-not-depend-on-django python-django W: python3-django-positive: django-package-does-not-depend-on-django python3-django -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git

