Hi! On Sun, 2016-12-18 at 13:45:07 +0100, Sven Joachim wrote: > On 2016-12-18 11:40 +0000, Guillem Jover wrote: > > commit f27865fad257cfc29511b01ba810466b40c994a1 > > Author: Guillem Jover <[email protected]> > > Date: Fri Dec 16 22:39:25 2016 +0100 > > > > debian: Do not insert a perl:Depends for libdpkg-perl > > > > Because tying the modules to a specific interpreter is wrong.
> But now reverse dependencies of libdpkg-perl will have to add the perl > dependency themselves, even if they only use modules included in > perl-base. This also seems wrong to me. Hmm, right, and that was actually one of my arguments when we discussed this some weeks ago in #debian-dpkg with Helmut and Niels! A summary of the discussion follows so that it does not get lost: The initial chain of events was that the Multi-Arch hinter pointed out that those perl deps needed to be perl:any which made sense to me, I added the perl:Depends to dpkg-dev (as the one missing it) and then obviously dpkg-gencontrol complained that the substvar was not being used in libdpkg-perl, but adding the substvar there too meant that the dependency ended up being just perl, which makes the hinter still complain. So these three elements (M-A hinter, debhelper and dpkg-gencontrol) makes one get into an annoying situation where no component is really happy out of the box. Helmut suggested that making lib*-perl packages depend on perl felt probably wrong as the interpreter implementation could be an embedded one, which I do agree with in theory. But to which I replied that the practical problem is what you mentioned above, and that the situation in perl's case is made worse as it has this added issue with part of it being essential. Supposedly a "clean" solution to this would be to make it possible for lib*-perl packages to depend only on a package that shipped all perl standard modules (kind of like a language standard library package). The problem with that is that it might require either getting rid of the perl-base Essential package, or splitting its modules into yet another package and readding the versionless perl-modules. But even then that has never been allowed by the perl policy. Niels commented that this was what had been done for Java. (This is from my logs, and I don't think I've misrepresented anything, but both are CCed just in case I have. :) Then I mentioned that I'd note this down to discuss with the perl maintainers which… > Pretty much all of the lib*-perl packages seem to depend on perl, and I > think you should talk to the Debian Perl maintainers if you want to > change that. … seems I completely failed to do, because I didn't check my notes, and went only by flaky memory! O:) And yes, the current situation with the lib*-perl packages is probably also because the perl policy mandates that. In any case, thanks for the notice! I think I'll just hardcode a perl:any on libdpkg-perl for now, and queue a discussion with the perl maintainers for later. Thanks, Guillem

