Bug#752989: libio-callback-perl: FTBFS with Perl 5.20: alternative dependencies
Niko Tyni
ntyni at debian.org
Wed Jul 2 19:02:32 UTC 2014
On Wed, Jul 02, 2014 at 07:49:12PM +0200, gregor herrmann wrote:
> On Wed, 02 Jul 2014 14:26:09 +0200, Jonas Smedegaard wrote:
> > Build-Depends: perl (>= 5.17.1~) | libmodule-build-perl (>= 0.400000), libmodule-build-perl
> >
> > That declaration relies on the assumption that any system with a new
> > enough perl will also have a new enough libmodule-build-perl - either
> > provided by perl(-modules) or standalone. Is that safe to assume?
> I think it is safe now [0], as we have:
> perl-module 5.20.0-1
> Breaks: libmodule-build-perl (<< 0.420500)
> and no Provides, so the single 'libmodule-build-perl' can only be the
> real package, and must be >= 0.420500.
Sure.
> For a future perl-modules 5.22, if the Breaks is kept, everything
> should be fine. If the Breaks is dropped there is indeed a loophole
> (for versions >= 0.420500), if I'm seeing this correctly.
I expect to drop the Breaks will be dropped when Module::Build is dropped.
Their purpose is to prevent an older separate package overriding a newer
one in the Perl core.
I don't understand the "(for versions >= 0.420500)" part above. Surely
any Module::Build version >= 0.420500 is fine? Did you mean
"(for versions <= 0.400000)"?
I suppose a direct partial upgrade from for instance Debian squeeze (with
libmodule-build-perl 0.360700-1) or Ubuntu 12.04 ( libmodule-build-perl
0.380000-2) to a future release could theoretically result in a system
with an old libmodule-build-perl but a new perl and erroneously satisfy
the dependency. I don't think we really need to worry about this, but
it is indeed a sort of loophole.
> > I believe this more strict declaration covers that cornercase:
> >
> > Build-Depends: perl (>= 5.17.1~) | libmodule-build-perl (>= 0.400000), libmodule-build-perl (>= 0.400000) | perl (<< 5.21~)
>
> (I guess I'd still go for a plain 'libmodule-build-perl (>= 0.400000)'.
> If only to save us all from further headaches :))
I agree a plain libmodule-build-perl (>= 0.400000) is a good way
forward. It's a bit suboptimal for backporting as it unnecessarily pulls
in the separate package on older systems, but should still work. And
it's simple and the right thing for >= 5.20.
Just beware that lintian will probably spit out some
'versioned-dependency-satisfied-by-perl' tags until somebody gets around
to fixing it.
--
Niko
More information about the pkg-perl-maintainers
mailing list