On Fri, 01 Jul 2011 10:54:59 +0200
Sebastian Luther <SebastianLuther@...> wrote:
> > Anyone not following the policy is already breaking things, and we
> > can't switch to the "use the tree ebuild" behaviour since it doesn't
> > work when ebuilds get removed. All we're doing is making an existing
> > bug more visible.
> The "make the bug more visible part" is what I'm up to.
A bug is a bug, even if people don't see it very frequently. Making
bugs visible is a *good* thing, since it means they're easier to
identify and fix.
> > It's not worth it. It's a huge amount of work to summarise every
> > incorrect argument and false lead. It's not done by official
> > standards bodies, who have far more resources than we do, so what
> > you're asking for is just obstructionism and red tape.
> I'm not asking for a summary of everything someone said about the
> topic. I'm asking for something between this and a PMS text, simply
> put, the stuff that is mandated by the glep rules.
Too much work. You're welcome to do it if you think it's necessary, but
Gentoo doesn't have the manpower to hold everything up for someone to
copy a bunch of largely irrelevant discussion into a document for every
little thing. The spec describes how it works; all the false starts are
no longer an issue.
> >> Or you do it like portage does it and assume the package works with
> >> any slot (the :* case) and if it doesn't, declare that a bug of the
> >> package. Now giving ebuild devs the := operator allows them to say
> >> "the package insist on the slot it was build against".
> > Can't. Right now there's no way for packages to specify those kinds
> > of dependencies correctly. Assuming :* just isn't safe, and doesn't
> > match the historical meaning of lack-of-slot dependencies.
> I don't know what you mean with historical meaning. As long as I use
> gentoo (since ~mid 2007) it has been that way. I agree that it isn't
> safe, but that's how portage does it.
Portage has never done full safety checking or purges, though -- partly
because doing so right now requires either being excessively paranoid
or not catching most unsafe operations.
> For EAPI5, there is the possibility to make this the default and leave
> := for the cases that don't behave this way (see below).
But then we won't know whether people really mean that (they usually
don't) or whether they just forgot. Given that developers aren't in the
habit of giving the least bit of thought to slots, we need a way for
repoman to know whether or not it needs to tell developers to pay
attention. Slot operator dependencies are most useful when they're
> The latter has the advantage that it's simpler in the sense that it
> introduces only one new thing (the := operator) to do one new thing,
> namely to turn the :* behavior most people (those that use portage)
> are used to into the := behavior. It also doesn't leave any
> uncertainty about what the "no-operator" case means.
There's no uncertainty with the "no operator" case with the
Council-approved version either -- it means the developer has forgotten
to specify a behaviour, so the package manager should be paranoid and
assume it matches *all* slots since it can't prove that it doesn't.
That's not what Portage does currently; Portage's current behaviour
isn't strong enough to provide useful protection.
In any case, this is all rehashing existing discussion.