Bug#931730: libfile-stripnondeterminism-perl: build dependency cycle with libsub-identify-perl

Niko Tyni ntyni at debian.org
Thu Jul 11 18:06:23 BST 2019


On Tue, Jul 09, 2019 at 04:08:18PM -0300, Chris Lamb wrote:
 
> > the recently added libmonkey-patch-perl dependency in
> > libfile-stripnondeterminism-perl has unfortunately resulted in a build
> > dependency cycle
> […]
> > I see this new dependency was introduced for normalizing zip archives
> > (#858431) by changing the Archive::Zip behaviour on the fly. Is this
> > fixable on the Archive::Zip side?
> 
> I guess in theory but if I recall the details correctly, I don't
> /think/ this was going to be a trivial patch to Archive::Zip and my
> Perl-fu is/was a bit weak. Would pkg-perl apply and upload a patch
> anyway?

I'm sorry I haven't had time to look at this properly (and still don't).

Obviously features would be best developed upstream. Archive-Zip seems
to be alive if quiet. But a bug against libarchive-zip-perl would be a
good start (with or without a patch). We can then take it upstream
if you'd prefer that.

> > Alternatively, would it be possible to weaken the cycle somehow, for
> > instance by making this dependency optional and having the packages that
> > actually need it declare an explicit build dependency ?
> 
> Would adding a <!nocheck> restriction be of use to you?

No, I'm afraid not. I was thinking of having
libfile-stripnondeterminism-perl recommend libmonkey-patch-perl rather
than depend on it, or something like that.

The only Build-Depends that is relevant here is libsub-identify-perl ->
debhelper. The problem is with runtime dependencies: debhelper needs to
stay installable even when libsub-identify-perl has become uninstallable
and needs a rebuild.

One more alternative might be to make a derived class like
Archive::Zip::Normalizing or Archive::Zip::DebianReproducible or whatever
and package that separately, avoiding the "monkey patching" part.
Not sure how feasible that is to implement though.

Hope this clarifies,
-- 
Niko



More information about the Reproducible-builds mailing list