Gentoo Archives: gentoo-pms

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: gentoo-pms@l.g.o
Subject: Re: [gentoo-pms] Do we want an EAPI 5?
Date: Fri, 01 Jul 2011 09:12:21
Message-Id: 20110701100931.29650d1e@googlemail.com
In Reply to: Re: [gentoo-pms] Do we want an EAPI 5? by Sebastian Luther
On Fri, 01 Jul 2011 10:54:59 +0200
Sebastian Luther <SebastianLuther@×××.de> 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 widely used.
> 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. -- Ciaran McCreesh

Attachments

File name MIME type
signature.asc application/pgp-signature