On 17/06/16 06:17 PM, Ian Stakenvicius wrote: > On 17/06/16 05:22 PM, Michał Górny wrote: >> On Sat, 18 Jun 2016 00:06:10 +0300 >> Andrew Savchenko <birc...@gentoo.org> wrote: >> >>> On Fri, 17 Jun 2016 19:42:18 +0200 Michał Górny wrote: >>>> Hello, >>>> >>>> Since this is a major issue involving a lot of packages, and it needs >>>> to be fixed *quickly*, I'm forwarding the new check results to >>>> gentoo-dev. >>>> >>>> If the below list contains your package, please fix it ASAP. I will >>>> file bugs for the remaining packages then. >>>> >>>> Long story short, using := operator inside || () conditional blocks is >>>> completely forbidden and triggers random misbehavior inside package >>>> managers (Portage doesn't do exactly what you think it does). >>> >>> Please explain in more details why this is forbidden. man 5 ebuild >>> contains nothing about this, I can't find anything in PMS also. If >>> package manager misbehaves this doesn't automatically imply that >>> ebuilds are broken (and not PM). >> >> It was explained already. PMS doesn't permit it. It doesn't make *any* >> sense, so the author didn't even bother explicitly saying it's >> forbidden. Package manager can't not misbehave if something can't be >> implemented. >> > > Where does PMS not permit it?? > > 8.2: [...] > An any-of group, which consists of the string ||, followed by > whitespace, followed by an open parenthesis, followed by whitespace, > followed by zero or more of (a dependency item of any kind followed by > whitespace), followed by a close parenthesis. > > > "dependency item of any kind" would certainly include atoms with slot > operators. > > > There is also no caveat at all in 8.2.3 that excludes slot operators, > and 8.2.6.3 also contains no caveat or exclusion of slot operators > from any-of groups. > > > Using slot operators within OR deps was intended when EAPI5 was > introduced. If Portage and other PMs don't handle it well or properly > then they should be fixed, and perhaps the spec should be refined in > EAPI7, but that doesn't mean banning it now. > > >
Now, one thing that *is* banned is the use of :[SLOT]/[Sub-Slot] values in ebuilds, as per PMS s.8.2.6.3 -- I know there's plenty of ebuilds that are doing that, including in virtuals.
signature.asc
Description: OpenPGP digital signature