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=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=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=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=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
+ 

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