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

Dominic Hargreaves dom at earth.li
Thu Nov 24 13:27:23 UTC 2011


On Sat, Nov 19, 2011 at 11:28:26PM +0200, Niko Tyni wrote:
> 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.

Yup, that's what I ended up doing manually, more or less.

> 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.

All agreed, this is the way to go.

Thanks,
Dominic.

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






More information about the Perl-maintainers mailing list