Bug#752989: libio-callback-perl: FTBFS with Perl 5.20: alternative dependencies
Niko Tyni
ntyni at debian.org
Sat Jun 28 11:44:57 UTC 2014
On Sat, Jun 28, 2014 at 09:41:46AM +0200, Jonas Smedegaard wrote:
> Quoting Niko Tyni (2014-06-28 09:03:08)
> > The problem is this dependency:
> >
> > Build-Depends: perl (<< 5.19) | libmodule-build-perl (>= 0.40),
> >
> > Perhaps something like this (untested) could work?
> >
> > Build-Depends: perl (>= 5.17.1~) | libmodule-build-perl (>= 0.40), libmodule-build-perl
> >
> > (The unversioned dependency would guarantee either a perl version with
> > the bundled M::B, or a separate package. The versioned alternative
> > would guarantee that the M::B version is new enough.)
> Relying on a (build-)dependency being resolved by a virtual package is
> not allowed by Policy, with the reasoning that it causes
> non-deterministic behaviour.
Which policy clause is that?
As a counter example, I see 350 or so source packages in the archive
build depending on libpng-dev, which is a virtual package.
ISTR a recommendation for virtual-package | real-package too, but I can't
easily find it in the policy and it doesn't seem to be used in practice.
The best I can find is this passage in Policy 7.5:
To specify which of a set of real packages should be the default to
satisfy a particular dependency on a virtual package, list the real
package as an alternative before the virtual one.
> libmodule-build-perl exists as a package, so simply favoring that over
> the perl-provided version should work _and_ be deterministic _and_ work
> on more relaxed environments permitting undetermnistic fallbacks (read:
> backporting with pbuilder or variants like cowbuilder):
>
> Build-Depends: libmodule-build-perl (>= 0.40) | perl (<< 5.19)
Fine by me, but that allows for perl 5.16 and lower, which have
M::B < 0.40. If that's not a concern, just drop the versioned
part and use plain libmodule-build-perl?
--
Niko Tyni ntyni at debian.org
More information about the pkg-perl-maintainers
mailing list