Bug#870829: Contradicting warnings/errors: useless-autoreconf-build-depends vs. missing-build-dependency-for-dh-addon

2017-08-05 Thread Michael Stapelberg
On Sat, Aug 5, 2017 at 6:25 PM, Mattia Rizzolo  wrote:

> On Sat, Aug 05, 2017 at 05:47:39PM +0200, Michael Stapelberg wrote:
> > build-dependency was unnecessary with debhelper ≥ 10 and should be
> removed:
> >
> > W: mdocml source: useless-autoreconf-build-depends autotools-dev
> >
> > After doing that, lintian noted that the autotools_dev addon was missing
> a
> > dependency on autotools-dev:
> >
> > E: mdocml source: missing-build-dependency-for-dh-addon autotools_dev
> => autotools-dev
> >
> > This error seems to directly contradict the earlier warning.
> >
> > Not only src:mdocml is affected: e.g. src:teg removed the build
> dependency in
> > https://anonscm.debian.org/viewvc/pkg-games/packages/
> trunk/teg/debian/control?r1=15952&r2=15990
> > and now shows up in
> > https://lintian.debian.org/tags/missing-build-dependency-
> for-dh-addon.html.
> >
> > What course of action is correct? Which warning should be removed from
> lintian?
>
>
> Neither of them.  The description might be a bit misleading, but it's an
> actual "problem" in your package: you need not use
> --with autotools_dev
> anymore, as starting with debhelper version 9.20160114 debhelper
> includes an dh_update_autotools_config helper that is run for all
> debhelper compat level.
>

Wow, I would have never guessed that. Can we add a more specific warning to
lintian for this case? I expect the maintainers of all 372 source packages
found by the search
https://codesearch.debian.net/search?q=path%3Adebian%2Frules+with.*autotools_dev&perpkg=1
to eventually face this problem.


>
> Also, dropping that `--with autotools_dev` switch will cast away all the
> lintian warnings.
>

Done with
https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=e655a7998c6e4b32c4cb55d48366f74e1bb1a194,
thanks!


>
> --
> regards,
> Mattia Rizzolo
>
> GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
> more about me:  https://mapreri.org : :'  :
> Launchpad user: https://launchpad.net/~mapreri  `. `'`
> Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
>



-- 
Best regards,
Michael


Bug#870829: Contradicting warnings/errors: useless-autoreconf-build-depends vs. missing-build-dependency-for-dh-addon

2017-08-05 Thread Mattia Rizzolo
On Sat, Aug 05, 2017 at 05:47:39PM +0200, Michael Stapelberg wrote:
> build-dependency was unnecessary with debhelper ≥ 10 and should be removed:
> 
> W: mdocml source: useless-autoreconf-build-depends autotools-dev
> 
> After doing that, lintian noted that the autotools_dev addon was missing a
> dependency on autotools-dev:
> 
> E: mdocml source: missing-build-dependency-for-dh-addon autotools_dev => 
> autotools-dev
> 
> This error seems to directly contradict the earlier warning.
> 
> Not only src:mdocml is affected: e.g. src:teg removed the build dependency in
> https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/teg/debian/control?r1=15952&r2=15990
> and now shows up in
> https://lintian.debian.org/tags/missing-build-dependency-for-dh-addon.html.
> 
> What course of action is correct? Which warning should be removed from 
> lintian?


Neither of them.  The description might be a bit misleading, but it's an
actual "problem" in your package: you need not use
--with autotools_dev
anymore, as starting with debhelper version 9.20160114 debhelper
includes an dh_update_autotools_config helper that is run for all
debhelper compat level.

Also, dropping that `--with autotools_dev` switch will cast away all the
lintian warnings.

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
more about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Bug#870829: Contradicting warnings/errors: useless-autoreconf-build-depends vs. missing-build-dependency-for-dh-addon

2017-08-05 Thread Michael Stapelberg
Package: lintian
Version: 2.5.52
Severity: normal

When packaging mdocml 1.14.3, lintian noted that the autotools-dev
build-dependency was unnecessary with debhelper ≥ 10 and should be removed:

W: mdocml source: useless-autoreconf-build-depends autotools-dev

After doing that, lintian noted that the autotools_dev addon was missing a
dependency on autotools-dev:

E: mdocml source: missing-build-dependency-for-dh-addon autotools_dev => 
autotools-dev

This error seems to directly contradict the earlier warning.

Not only src:mdocml is affected: e.g. src:teg removed the build dependency in
https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/teg/debian/control?r1=15952&r2=15990
and now shows up in
https://lintian.debian.org/tags/missing-build-dependency-for-dh-addon.html.

What course of action is correct? Which warning should be removed from lintian?


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel, mipsel, arm64

Kernel: Linux 4.11.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages lintian depends on:
ii  binutils  2.28-6
ii  bzip2 1.0.6-8.1
ii  diffstat  1.61-1+b1
ii  dpkg  1.18.24
ii  file  1:5.30-1
ii  gettext   0.19.8.1-2+b1
ii  intltool-debian   0.35.0+20060710.4
ii  libapt-pkg-perl   0.1.32+b2
ii  libarchive-zip-perl   1.59-1
ii  libclass-accessor-perl0.34-1
ii  libclone-perl 0.38-2+b2
ii  libdpkg-perl  1.18.24
ii  libemail-valid-perl   1.202-1
ii  libfile-basedir-perl  0.07-1
ii  libipc-run-perl   0.94-1
ii  liblist-moreutils-perl0.416-1+b3
ii  libparse-debianchangelog-perl 1.2.0-12
ii  libperl5.22 [libdigest-sha-perl]  5.22.2-5
ii  libperl5.26 [libdigest-sha-perl]  5.26.0-4
ii  libtext-levenshtein-perl  0.13-1
ii  libtimedate-perl  2.3000-2
ii  liburi-perl   1.71-1
ii  libxml-simple-perl2.22-1
ii  libyaml-libyaml-perl  0.63-2+b2
ii  man-db2.7.6.1-2
ii  patchutils0.3.4-2
ii  perl  5.26.0-4
ii  t1utils   1.39-2
ii  xz-utils  5.2.2-1.3

Versions of packages lintian recommends:
pn  libperlio-gzip-perl  

Versions of packages lintian suggests:
pn  binutils-multiarch 
ii  dpkg-dev   1.18.24
ii  libhtml-parser-perl3.72-3+b2
ii  libtext-template-perl  1.46-1

-- no debconf information


Jenkins build is back to normal : lintian-tests_sid #1827

2017-08-05 Thread jenkins
See 




Bug#870822: lintian: [checks/python] Check for applications using Python 2.x

2017-08-05 Thread Chris Lamb
tags 870822 + pending
thanks

Fixed in Git:

  
https://anonscm.debian.org/git/lintian/lintian.git/commit/?id=dcfcc9caccfce40e14e8cb38eb09408dd4a03332


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb, Debian Project Leader
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Processed: Re: lintian: [checks/python] Check for applications using Python 2.x

2017-08-05 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> tags 870822 + pending
Bug #870822 [lintian] lintian: [checks/python] Check for applications using 
Python 2.x
Added tag(s) pending.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
870822: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870822
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



[lintian] 01/01: Check for binary packages that depend on Python 2.x. (Closes: #870822)

2017-08-05 Thread Chris Lamb
This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch master
in repository lintian.

commit dcfcc9caccfce40e14e8cb38eb09408dd4a03332
Author: Chris Lamb 
Date:   Sat Aug 5 09:50:19 2017 -0400

Check for binary packages that depend on Python 2.x. (Closes: #870822)
---
 checks/python.desc |  9 +++
 checks/python.pm   | 18 +-
 debian/changelog   |  2 +
 .../python-python2-apps/debian/debian/control.in   | 75 ++
 t/tests/python-python2-apps/desc   |  6 ++
 t/tests/python-python2-apps/tags   |  5 ++
 t/tests/scripts-interpreters/tags  |  1 +
 7 files changed, 115 insertions(+), 1 deletion(-)

diff --git a/checks/python.desc b/checks/python.desc
index ebaefc1..4d418e2 100644
--- a/checks/python.desc
+++ b/checks/python.desc
@@ -51,3 +51,12 @@ Info: This package alternatively Build-Depends on the Python 
2 or Python 3
  .
  Please replace the alternative with a single build dependency on
  python3-sphinx.
+
+Tag: dependency-on-python-version-marked-for-end-of-life
+Severity: pedantic
+Certainty: certain
+Ref: https://wiki.debian.org/Python/Python3Port, 
https://www.python.org/dev/peps/pep-0373/
+Info: The package specifies a dependency on Python 2.x which is due for
+ deprecation and will not be maintained past 2020.
+ .
+ Please port the package to use Python 3 instead.
diff --git a/checks/python.pm b/checks/python.pm
index ad0a10b..cd41681 100644
--- a/checks/python.pm
+++ b/checks/python.pm
@@ -27,6 +27,8 @@ use List::MoreUtils qw(any);
 
 use Lintian::Tags qw(tag);
 
+my @PYTHON2 = qw(python python2.7 python-dev);
+
 sub run {
 my ($pkg, undef, $info) = @_;
 
@@ -34,7 +36,7 @@ sub run {
 my @package_names = $info->binaries;
 
 foreach my $bin (@package_names) {
-# Python 2 packages
+# Python 2 modules
 if ($bin =~ /^python-(.*(?binary_field($bin, lc($field));
+
+my $relation = $info->binary_relation($bin, $field);
+for my $dep (@PYTHON2) {
+tag 'dependency-on-python-version-marked-for-end-of-life',
+  "$bin ($field: $dep)"
+  if $relation->implies($dep);
+}
+}
+}
 }
 
 my $build_all = $info->relation('build-depends-all');
diff --git a/debian/changelog b/debian/changelog
index dc27062..855c69d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -41,6 +41,8 @@ lintian (2.5.53) UNRELEASED; urgency=medium
   (Closes: #870730)
 + [CL] Check for packages that alternatively Build-Depend on the
   Python 2 and Python 3 versions of Sphinx.  (Closes: #870758)
++ [CL] Check for binary packages that depend on Python 2.x.
+  (Closes: #870822)
   * checks/scripts.pm:
 + [CL] Correct false positives in
   unconditional-use-of-dpkg-statoverride by detecting "if !" as a
diff --git a/t/tests/python-python2-apps/debian/debian/control.in 
b/t/tests/python-python2-apps/debian/debian/control.in
new file mode 100644
index 000..5238337
--- /dev/null
+++ b/t/tests/python-python2-apps/debian/debian/control.in
@@ -0,0 +1,75 @@
+Source: {$source}
+Priority: extra
+Section: python
+Maintainer: {$author}
+Build-Depends: {$build_depends}
+Standards-Version: {$standards_version}
+
+Package: pkg-depends
+Architecture: all
+Depends: $\{misc:Depends\}, python
+Description: Test package with Python 2.x in Depends
+ 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.
+ .
+ Description: Test package with Python 2.x in Depends.
+
+Package: pkg-pre-depends
+Architecture: all
+Depends: $\{misc:Depends\}
+Pre-Depends: python2.7
+Description: Test package with Python 2.x in Pre-Suggests
+ 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.
+ .
+ Description: Test package with Python 2.x in Pre-Depends.
+
+Package: pkg-recommends
+Architecture: all
+Depends: $\{misc:Depends\}
+Recommends: python-dev
+Description: Test package with Python 2.x in Recommends
+ 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.
+ .
+ Description: Test package with Python 2.x in Recommends.
+
+Package: pkg-suggests
+Architecture: all
+Depends: $\{misc:Depends\}
+Suggests: python, python2.7
+Description: Test package with Python 2.x in Suggests
+ This is a test package designed to exercise some feature or tag of
+ Lintian.  It is part o

[lintian] branch master updated (c2ed0cc -> dcfcc9c)

2017-08-05 Thread Chris Lamb
This is an automated email from the git hooks/post-receive script.

lamby pushed a change to branch master
in repository lintian.

  from  c2ed0cc   Avoid "Use of uninitialized value in pattern match..." 
warning when no Build-Depends field defined.
   new  dcfcc9c   Check for binary packages that depend on Python 2.x. 
(Closes: #870822)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 checks/python.desc |  9 +++
 checks/python.pm   | 18 +-
 debian/changelog   |  2 +
 .../python-python2-apps/debian/debian/control.in   | 75 ++
 t/tests/python-python2-apps/desc   |  6 ++
 t/tests/python-python2-apps/tags   |  5 ++
 t/tests/scripts-interpreters/tags  |  1 +
 7 files changed, 115 insertions(+), 1 deletion(-)
 create mode 100644 t/tests/python-python2-apps/debian/debian/control.in
 create mode 100644 t/tests/python-python2-apps/desc
 create mode 100644 t/tests/python-python2-apps/tags

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



Bug#870822: lintian: [checks/python] Check for applications using Python 2.x

2017-08-05 Thread Chris Lamb
Package: lintian
Version: 2.5.52
Severity: wishlist

Hi,

The 2.x series of Python is due for deprecation and will not be
maintained past 2020.

Please emit a warning for applications (ie. regular packages, not Python
modules) that Depend etc. on Python 2.


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb, Debian Project Leader
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Re: Bug#870788: Extract recent uploaders from d/changelog

2017-08-05 Thread Niels Thykier
Adrian Bunk:
> On Fri, Aug 04, 2017 at 06:13:09PM -0700, Sean Whitton wrote:
>> Package: tracker.debian.org
>> Severity: wishlist
>>
>> On Thu, Aug 03 2017, Holger Levsen wrote:
>>
>>> Then, Tobias has a point, knowing which team members uploaded a package is
>>> useful. So I have a simple proposal to achieve that: make tracker.d.o
>>> show the last 10 uploaders for a given package (based on UDD), just like it
>>> parses the Uploaders: field from the packages now.
>>
>> Such a feature would move this discussion forward, so I'm submitting it
>> as a feature request.
>>
>> I think that the logic in who-uploads(1) is probably insufficient;
>> parsing d/changelog would catch people actually /contributing/ to the
>> package, not just those who signed the uploads.
> 
> I assume you are thinking of parsing the [ name ] syntax used by many teams.
> 
> Note that a prerequisite for such debian/changelog parsing would
> be that policy sets strict syntax and semantics requirements.
> 
> Examples:
> 
> Some teams use different syntax.
> I did already state in the policy bug that extracting this information 
> from the lintian changelog is my challenge to everyone who thinks that 
> that this could be extracted from current debian/changelog.
> 
> This can only work if policy states that that the established practice 
> of many people using this syntax also for patch submitters is no longer 
> permitted.
> 
> cu
> Adrian
> 

The syntax used in lintian's changelog is relatively unique to my
knowledge; if by changing it we can actually have this proposal work,
then let me know and I will raise that internally in the lintian team.

Thanks,
~Niels