1 |
On Fri, 17 Jun 2016 19:42:18 +0200 Michał Górny wrote: |
2 |
> Hello, |
3 |
> |
4 |
> Since this is a major issue involving a lot of packages, and it needs |
5 |
> to be fixed *quickly*, I'm forwarding the new check results to |
6 |
> gentoo-dev. |
7 |
> |
8 |
> If the below list contains your package, please fix it ASAP. I will |
9 |
> file bugs for the remaining packages then. |
10 |
> |
11 |
> Long story short, using := operator inside || () conditional blocks is |
12 |
> completely forbidden and triggers random misbehavior inside package |
13 |
> managers (Portage doesn't do exactly what you think it does). |
14 |
|
15 |
Please explain in more details why this is forbidden. man 5 ebuild |
16 |
contains nothing about this, I can't find anything in PMS also. If |
17 |
package manager misbehaves this doesn't automatically imply that |
18 |
ebuilds are broken (and not PM). |
19 |
|
20 |
> Consider it your priority to either replace the || () block with |
21 |
> a working solution (e.g. USE flags), or remove the := operator. |
22 |
|
23 |
What if package contains: |
24 |
|| ( cat/foo:= cat/bar:= ) |
25 |
That is, it can work with either foo or bar, but needs to be |
26 |
rebuild on subslot changes. Are you suggesting to add USE flags |
27 |
for each alternative under each || () clause? This is ridiculous |
28 |
if foo and bar are drop-in replacements of one another. And |
29 |
dropping := will just break stuff if foo or bar contain more than |
30 |
single subslot. |
31 |
|
32 |
Best regards, |
33 |
Andrew Savchenko |