Re: Bug#867104: wanna-build issue with src:perl versioned Provides
On Tue, 2017-07-04 at 23:30:37 +0300, Niko Tyni wrote:
> On Tue, Jul 04, 2017 at 10:18:08PM +0200, Ralf Treinen wrote:
> > On Tue, Jul 04, 2017 at 10:29:35PM +0300, Niko Tyni wrote:
> > > On Tue, Jul 04, 2017 at 09:09:37PM +0200, Ralf Treinen wrote:
> > >
> > > > thanks for having figured that out. I tend to believe that dose is right
> > > > in this case. Since it is not possible to install at the same
> > > > time two different versions of the same real package, the same should
> > > > IMHO hold when one is real and the other virtual. Why should this be
> > > > possible?
Because it follows the same principle that you can have installed both
the real package and various virtual packages providing that one. This
just takes this further and gives it version(s) too.
> > > Well, dpkg and apt allow it for starters.
> > > The idea with the perl packages is that the src:perl binary packages
> > > offer an older "stable" version of some modules while a newer version is
> > > packaged separately and gets installed earlier on the Perl search path
> > > (so it overrides the src:perl version when installed.)
> > >
> > > This has been the case for ages with the src:perl packages Providing
> > > an unversioned virtual package. The change here is that the virtual
> > > package is now versioned, which would simplify lots of dependencies
> > > that currently read like (for instance)
> > So, that means that something like
> > Depends: p (=1), p (=2)
> > suddenly becomes satisfiable (when there is one real package p and
> > one virtual package)? Would you also allow to have the packages p
> > and q installed at the same time, in the following situation:
> > Package: p
> > Version: 1
> > Provides: v (=1)
> > Package: q
> > Version: 1
> > Provides: v (=2)
Yes, this is correct.
If this is not desirable, one could always Conflicts/Breaks on the
virtual package from within each provider for example.
> > If yes this seems to me a quite drastic change of the meaning of
> > package relations. Has this been discussed somewhere?
Not in recent times, no, the bug requesting versioned provides was a
bit aged. But the semantics are IMO the obvious ones, and I'm actually
a bit surprised they are surprising! :)
The fact that you can concoct strange or invalid relationships does not
mean one has to do it. You could also for example Depends and Conflicts
on the same package and similar.
> Not that I know of. I've been just going by what works with dpkg and
> apt. If this is something that has only been made possible accidentally,
> I'll of course back up the src:perl changes.
This was pretty much intentional. And the usage in perl seems completely
as this was implemented for.