On 06/17/2016 06:22 PM, Ian Stakenvicius wrote: > 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. > > >
No, the specific syntax that is banned is ":0/0=" (that is, both a subslot and a slot operator). It is perfectly legal to depend on ":0/0" or on ":0=", but not on ":0/0=". -- Jonathan Callen
signature.asc
Description: OpenPGP digital signature