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). > Consider it your priority to either replace the || () block with > a working solution (e.g. USE flags), or remove the := operator. What if package contains: || ( cat/foo:= cat/bar:= ) That is, it can work with either foo or bar, but needs to be rebuild on subslot changes. Are you suggesting to add USE flags for each alternative under each || () clause? This is ridiculous if foo and bar are drop-in replacements of one another. And dropping := will just break stuff if foo or bar contain more than single subslot. Best regards, Andrew Savchenko
pgpNkpWtRxQos.pgp
Description: PGP signature