Debian Bug report logs - #629472
Handle deprecated modules in 5.12 and 5.14

Package: src:perl; Maintainer for src:perl is Niko Tyni <ntyni@debian.org>;

Reported by: Dominic Hargreaves <dom@earth.li>

Date: Mon, 6 Jun 2011 21:12:37 UTC

Severity: wishlist

Tags: confirmed

Done: Dominic Hargreaves <dom@earth.li>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Mon, 06 Jun 2011 21:12:40 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
New Bug report received and forwarded. Copy sent to Niko Tyni <ntyni@debian.org>. (Mon, 06 Jun 2011 21:13:37 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: perl@packages.debian.org
Cc: submit@bugs.debian.org
Subject: Handle deprecated modules in 5.12 and 5.14
Date: Mon, 6 Jun 2011 22:07:14 +0100
Source: perl
Severity: wishlist

I'm making this a bug to make sure it doesn't drop off the radar,
since it's going to take a bit of monitoring and occasional action.

On Mon, May 16, 2011 at 11:19:32PM +0100, Dominic Hargreaves wrote:
> On Mon, May 16, 2011 at 02:48:01PM +0300, Niko Tyni wrote:
> > That still leaves the modules deprecated in 5.12 (Class::ISA,
> > Pod::Plainer, and Switch.) 
> > 
> > Any packages in squeeze using those will break if perl is upgraded to
> > 5.14 first, unless we leave a dependency in place for one release cycle.
> > 
> > Reviewing #580034, there are probably about 30-40 such packages. They
> > would make a rather long Breaks: list.
> > 
> > Not sure if just Recommending the separate packages is enough to
> > remove the need for Breaks: entries.
> 
> I don't think it is. If we're going to care about partial upgrades
> at all, we may as well make them work robustly, and turn those 
> relationships into Depends. I'm happy to do that for wheezy.
> Thanks for the reminder about that bug; the list of affected packages
> there is bigger than the list I've filed bugs for based on my
> rebuild logs. I've added a task to the wiki to check these again and
> file bugs where needed.

Done (mainly for Switch). Haven't done this for Shell since this won't
be removed until 5.16. They should all be tagged perl-5.14-transition.

Any objections to make raising the strength of the perl-modules
relationship to libswitch-perl and libclass-isa-perl to Depends for
5.14?

We'd need to make those packages Priority: standard before doing this.
Note that this would just be for the wheezy cycle, and could be dropped
afterwards.

> It may be that we can leave libpod-plainer-perl at Recommends of
> course (or for that matter drop it down to Suggests). 

Based on your analysis, there is no software in Debian using Pod::Plainer.
This suggests that the module is little-enough used that we could drop
the dependency on this one down to Suggests. Any objections?

> Yet to analyze: Devel::Dprof and Perl4::CoreLibs. Assuming that wheezy
> releases with 5.14 and not 5.16, if we catch all uses of these before
> wheezy releases, we won't need to add Depends in wheezy+1 (but this
> assumption may turn out to be invalid).

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Sun, 31 Jul 2011 21:39:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 31 Jul 2011 21:39:08 GMT) Full text and rfc822 format available.

Message #10 received at 629472@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472@bugs.debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Sun, 31 Jul 2011 22:13:54 +0100
On Mon, Jun 06, 2011 at 10:07:14PM +0100, Dominic Hargreaves wrote:
> On Mon, May 16, 2011 at 11:19:32PM +0100, Dominic Hargreaves wrote:

> > I don't think it is. If we're going to care about partial upgrades
> > at all, we may as well make them work robustly, and turn those 
> > relationships into Depends. I'm happy to do that for wheezy.
> > Thanks for the reminder about that bug; the list of affected packages
> > there is bigger than the list I've filed bugs for based on my
> > rebuild logs. I've added a task to the wiki to check these again and
> > file bugs where needed.
> 
> Done (mainly for Switch). Haven't done this for Shell since this won't
> be removed until 5.16. They should all be tagged perl-5.14-transition.
> 
> Any objections to make raising the strength of the perl-modules
> relationship to libswitch-perl and libclass-isa-perl to Depends for
> 5.14?
> 
> We'd need to make those packages Priority: standard before doing this.
> Note that this would just be for the wheezy cycle, and could be dropped
> afterwards.

I've now bumped the priority of libswitch-perl and libclass-isa-perl,
and pushed out the change in dependencies for the next 5.14 release.
 
> > It may be that we can leave libpod-plainer-perl at Recommends of
> > course (or for that matter drop it down to Suggests). 
> 
> Based on your analysis, there is no software in Debian using Pod::Plainer.
> This suggests that the module is little-enough used that we could drop
> the dependency on this one down to Suggests. Any objections?

I've also done this.

> > Yet to analyze: Devel::Dprof and Perl4::CoreLibs. Assuming that wheezy
> > releases with 5.14 and not 5.16, if we catch all uses of these before
> > wheezy releases, we won't need to add Depends in wheezy+1 (but this
> > assumption may turn out to be invalid).

This is looking very likely now, which is even more reason to do this
analysis. I'll try and get this done soon.

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Sun, 07 Aug 2011 13:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 07 Aug 2011 13:36:04 GMT) Full text and rfc822 format available.

Message #15 received at 629472@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472@bugs.debian.org
Cc: lintian-maint@debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Sun, 7 Aug 2011 14:33:02 +0100
[CCing lintian maintainers in case they offer any relevant advice]

On Sun, Jul 31, 2011 at 10:13:54PM +0100, Dominic Hargreaves wrote:
> On Mon, Jun 06, 2011 at 10:07:14PM +0100, Dominic Hargreaves wrote:

> > > Yet to analyze: Devel::Dprof and Perl4::CoreLibs. Assuming that wheezy
> > > releases with 5.14 and not 5.16, if we catch all uses of these before
> > > wheezy releases, we won't need to add Depends in wheezy+1 (but this
> > > assumption may turn out to be invalid).
> 
> This is looking very likely now, which is even more reason to do this
> analysis. I'll try and get this done soon.

I've made a start on this. I only found one package which uses
Devel::DProf (libapache-db-perl) and filed a bug for that (#636952).

The perl 4 libraries are more interesting; there are 127 packages
which appear to have files which use one or more of them. In many cases
it's likely that the files which use them either aren't installed, or
aren't used if they are. It's also possible that there are a couple of
false positives there, where there are private copies of the files
which are being used directly.

I suppose that this is too many packages to be filing bugs on, so maybe
the best way forward will be to get a check added to lintian. However, I'm
somewhat concerned that it will prove difficult to track progress based
on lintian.debian.org (it's more work for a maintainer to add a lintian
override than close a bug saying "confirmed that we aren't really using
these libraries") so in a way I would like to go ahead with the mass
bugfiling.

I'm also concerned that it will be difficult to get an accurate
representation of the issue with lintian; I generated my list of packages
by grepping source packages for the names of the libraries, then manually
processed the list stripping out lots of noise. It's possible one could
come up with a definitive pattern of ways in which the libraries could
be loaded from a perl script (do/require/use, single or double quotation
marks, ..?), but possibly tricky.

Any comments or suggestions welcomed.

Cheers,
Dominic.

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Sun, 07 Aug 2011 14:42:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Niels Thykier <niels@thykier.net>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 07 Aug 2011 14:42:06 GMT) Full text and rfc822 format available.

Message #20 received at 629472@bugs.debian.org (full text, mbox):

From: Niels Thykier <niels@thykier.net>
To: Dominic Hargreaves <dom@earth.li>, 629472@bugs.debian.org, lintian-maint@debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Sun, 07 Aug 2011 16:35:59 +0200
On 2011-08-07 15:33, Dominic Hargreaves wrote:
> [CCing lintian maintainers in case they offer any relevant advice]
> 
> On Sun, Jul 31, 2011 at 10:13:54PM +0100, Dominic Hargreaves wrote:
>> On Mon, Jun 06, 2011 at 10:07:14PM +0100, Dominic Hargreaves wrote:
> 
>>>> Yet to analyze: Devel::Dprof and Perl4::CoreLibs. Assuming that wheezy
>>>> releases with 5.14 and not 5.16, if we catch all uses of these before
>>>> wheezy releases, we won't need to add Depends in wheezy+1 (but this
>>>> assumption may turn out to be invalid).
>>
>> This is looking very likely now, which is even more reason to do this
>> analysis. I'll try and get this done soon.
> 
> I've made a start on this. I only found one package which uses
> Devel::DProf (libapache-db-perl) and filed a bug for that (#636952).
> 
> The perl 4 libraries are more interesting; there are 127 packages
> which appear to have files which use one or more of them. In many cases
> it's likely that the files which use them either aren't installed, or
> aren't used if they are. It's also possible that there are a couple of
> false positives there, where there are private copies of the files
> which are being used directly.
> 
> [...]
> 
> I'm also concerned that it will be difficult to get an accurate
> representation of the issue with lintian; I generated my list of packages
> by grepping source packages for the names of the libraries, then manually
> processed the list stripping out lots of noise. It's possible one could
> come up with a definitive pattern of ways in which the libraries could
> be loaded from a perl script (do/require/use, single or double quotation
> marks, ..?), but possibly tricky.
> 
> Any comments or suggestions welcomed.
> 
> Cheers,
> Dominic.
> 

Hi

I see a couple of advantages of creating a lintian check for this.

First off, we could make this check work on binary packages, which would
solve the problem, where the offending scripts are not shipped.
  We would not catch the ones in the source package which is actually in
use during build (e.g. as a part of tests).  However, these can
"trivially" be caught by re-builds later.

Secondly, writing a lintian check for finding the "average" offending
scripts ("use Deprecated::Module;" or "require Deprecated::Module;")
will probably not take a lot of afford compared to the amount of
true-positives it finds.
  Particularly, if done correctly we can re-use the check for the next
round of deprecations with very little maintenance overhead.

As you mentioned, it can be tricky[1] to find all instances; but if
Lintian can find the easy 80% (or whatever) with some simple heuristics,
then you only have to worry about the last tricky 20%.
  We can always start with an experimental tag, that you check up on.
If it has a lot of false-positives, we can try to revise the checks.

~Niels

[1] tricky as in "solving the halting-problem"-tricky





Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Sun, 14 Aug 2011 17:09:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 14 Aug 2011 17:09:03 GMT) Full text and rfc822 format available.

Message #25 received at 629472@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472@bugs.debian.org
Subject: Re: Bug#636994: lintian: add check for deprecated perl libraries (was: #629472)
Date: Sun, 14 Aug 2011 18:07:15 +0100
On Sun, Aug 07, 2011 at 05:11:51PM +0100, Dominic Hargreaves wrote:

> Thanks for the response; I think you've convinced me that this would
> be the best approach, at least to start with.
> 
> You're correct that build-time deps will be caught by rebuilds, once
> the modules get removed. Ideally in this case we'd have all the
> packages fixed well in advance of that; we'd like to be able to drop
> them from wheezy+1 without worrying about partial upgrades breaking
> things. However, this isn't actually a concern for situations where
> the build fails.
> 
> I take your point about starting off with the check marked as
> experimental, although I would like this check to have the maximum
> input before wheezy freezes, so your planned released schedule for 
> lintian may affect whether I'd like to have that included or not.
> 
> I'm filing this as a wishlist bug without patch initially; I had a look
> at the lintian git repository and couldn't initially see where the best
> place to put such a check would be. If you can give me any hints about
> where to start, I'll do so :)
> 
> To make this bug report complete, here's a specification for the check:
> 
> check in all perl source files in binary packages not depending on
> libperl4-corelibs-perl for strings satisfying the following regexp:
> 
> /(?:do|require)\s+(?:'|")(?:abbrev|assert|bigfloat|bigint|bigrat|cacheout|complete|ctime|dotsh|exceptions|fastcwd|find|finddepth|flush|getcwd|getopt|getopts|hostname|importenv|look|newgetopt|open2|open3|pwd|shellwords|stat|syslog|tainted|termcap|timelocal|validate)\.pl(?:'|")/
> 
> Tag: uses-perl4-libs
> Severity: important
> Certainty: possible
> Experimental: yes
> Info: This package includes perl programs using obsoleted perl 4-era
>  libraries. These libraries have been deprecated in perl in 5.14, and
>  are likely to be removed from the core in perl 5.16. Please either
>  remove references to these libraries, or add a dependency on
>  "libperl4-corelibs-perl | perl (<< 5.12.3-7)" to this package.

I've now sent a possible patch to lintian to the BTS (but
forgot to CC perl@packages.debian.org):

<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636994#10>

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Sun, 18 Sep 2011 17:28:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 18 Sep 2011 17:28:05 GMT) Full text and rfc822 format available.

Message #30 received at 629472@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472@bugs.debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Sun, 18 Sep 2011 18:25:57 +0100
On Sun, Aug 07, 2011 at 02:33:02PM +0100, Dominic Hargreaves wrote:
> The perl 4 libraries are more interesting; there are 127 packages
> which appear to have files which use one or more of them. In many cases
> it's likely that the files which use them either aren't installed, or
> aren't used if they are. It's also possible that there are a couple of
> false positives there, where there are private copies of the files
> which are being used directly.

lintian in unstable adds the lintian tags (warnings):
http://lintian.debian.org/tags/script-uses-perl4-libs-without-dep.html
http://lintian.debian.org/tags/perl-module-uses-perl4-libs-without-dep.html

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Added tag(s) confirmed. Request was from Dominic Hargreaves <dom@earth.li> to control@bugs.debian.org. (Sun, 05 Feb 2012 23:18:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#629472; Package src:perl. (Wed, 06 Jun 2012 18:45:52 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Wed, 06 Jun 2012 18:45:58 GMT) Full text and rfc822 format available.

Message #37 received at 629472@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472@bugs.debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Wed, 6 Jun 2012 19:21:34 +0100
On Sun, Sep 18, 2011 at 06:25:57PM +0100, Dominic Hargreaves wrote:
> On Sun, Aug 07, 2011 at 02:33:02PM +0100, Dominic Hargreaves wrote:
> > The perl 4 libraries are more interesting; there are 127 packages
> > which appear to have files which use one or more of them. In many cases
> > it's likely that the files which use them either aren't installed, or
> > aren't used if they are. It's also possible that there are a couple of
> > false positives there, where there are private copies of the files
> > which are being used directly.
> 
> lintian in unstable adds the lintian tags (warnings):
> http://lintian.debian.org/tags/script-uses-perl4-libs-without-dep.html
> http://lintian.debian.org/tags/perl-module-uses-perl4-libs-without-dep.html

And we're now well on the way to completing this. All we now need to do
is add Breaks on any modules which get released with wheezy whilst
still appearing on this list.

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)




Reply sent to Dominic Hargreaves <dom@earth.li>:
You have taken responsibility. (Sat, 01 Sep 2012 11:15:03 GMT) Full text and rfc822 format available.

Notification sent to Dominic Hargreaves <dom@earth.li>:
Bug acknowledged by developer. (Sat, 01 Sep 2012 11:15:03 GMT) Full text and rfc822 format available.

Message #42 received at 629472-done@bugs.debian.org (full text, mbox):

From: Dominic Hargreaves <dom@earth.li>
To: 629472-done@bugs.debian.org
Subject: Re: Bug#629472: Handle deprecated modules in 5.12 and 5.14
Date: Sat, 1 Sep 2012 12:12:22 +0100
On Wed, Jun 06, 2012 at 07:21:34PM +0100, Dominic Hargreaves wrote:
> On Sun, Sep 18, 2011 at 06:25:57PM +0100, Dominic Hargreaves wrote:
> > On Sun, Aug 07, 2011 at 02:33:02PM +0100, Dominic Hargreaves wrote:
> > > The perl 4 libraries are more interesting; there are 127 packages
> > > which appear to have files which use one or more of them. In many cases
> > > it's likely that the files which use them either aren't installed, or
> > > aren't used if they are. It's also possible that there are a couple of
> > > false positives there, where there are private copies of the files
> > > which are being used directly.
> > 
> > lintian in unstable adds the lintian tags (warnings):
> > http://lintian.debian.org/tags/script-uses-perl4-libs-without-dep.html
> > http://lintian.debian.org/tags/perl-module-uses-perl4-libs-without-dep.html
> 
> And we're now well on the way to completing this. All we now need to do
> is add Breaks on any modules which get released with wheezy whilst
> still appearing on this list.

The only things still remaining on these lists are false positives,
so marking this as done now.

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 30 Sep 2012 07:30:56 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 13:45:15 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.