Bug#648894: perl: tool to check for file conflicts with dual-lived module packages

Niko Tyni ntyni at debian.org
Sat Nov 19 21:28:26 UTC 2011


On Tue, Nov 15, 2011 at 10:24:31PM +0000, Dominic Hargreaves wrote:
> Source: perl
> Severity: wishlist
> 
> Some dual-lived module packages include files which conflict with perl.
> They should be fixed with diverts.
> 
> Fixed examples: libdevel-dprof-perl, libjson-pp-perl.
> 
> We could do with a tool which detects this situation, perhaps as part
> of the perl build process.

Good idea.

The general case that detects all conflicting files would have to be
run on the binary packages. That would probably mean a pbuilder hook or
something like that as such a cross package test would be inappropriate
for the buildds.

In contrast, an easier case of looking at a set of fixed paths would
fit well in as a new maintainer test in debian/t/ of the perl source
package. This would be enough to detect the common case of a shared
binary in /usr/bin.

A naïve implementation would go through all the Provides: fields, do
something like 'apt-file list $p | grep usr/bin' and then check the hits
against a list of known good (package,binary) tuples that are already
handled with dpkg-divert or are not (currently?) included in the perl
binary packages.

I suppose the list of known diversions could be updated programmatically
(download each source or binary package and grep for dpkg-divert in the
postinst), but that feels overkill to me. New candidates should be rare
and would need careful manual checking anyway.

I'll look implementing this, but any further ideas and comments are
naturally very welcome.
-- 
Niko Tyni   ntyni at debian.org






More information about the Perl-maintainers mailing list