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

Attachment: pgpNkpWtRxQos.pgp
Description: PGP signature

Reply via email to