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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org