1 |
On 11/03/2016 03:46 PM, Brian Dolbec wrote: |
2 |
> On Thu, 3 Nov 2016 13:34:22 -0700 |
3 |
> Zac Medico <zmedico@g.o> wrote: |
4 |
> |
5 |
>> On 10/30/2016 11:15 PM, Zac Medico wrote: |
6 |
>>> Constrain _expand_new_virtuals output in order to avoid incorrect |
7 |
>>> re-ordering of || deps in the dep_zapdeps function, as reported in |
8 |
>>> bug 597752. |
9 |
>>> |
10 |
>>> The incorrect dep_zapdeps behavior involved a problem in the |
11 |
>>> construction of the _dep_choice.cp_map dictionary inside the |
12 |
>>> dep_zapdeps function, with this input: |
13 |
>>> |
14 |
>>> || ( dev-java/icedtea-bin:8 =virtual/jdk-1.8.0-r3 >=virtual/jdk-1.5 |
15 |
>>> ) ( dev-java/icedtea-bin:7 =virtual/jdk-1.7.0-r2 >=virtual/jdk-1.5 ) |
16 |
>>> |
17 |
>>> The cp_map for virtual/jdk-1.7.0-r2 erroneously contained |
18 |
>>> virtual/jdk-1.8.0-r3 because that was the highest virtual/jdk |
19 |
>>> matched by the >=virtual/jdk-1.5 atom. This patch removes the |
20 |
>>>> =virtual/jdk-1.5 atom from the _expand_new_virtuals output, in |
21 |
>>>> order to avoid triggering |
22 |
>>> the erroneous dep_zapdeps behavior. The >=virtual/jdk-1.5 atom is |
23 |
>>> not completely discarded, since the depgraph is able to access it |
24 |
>>> via the virt_atom._orig_atom attribute. |
25 |
>>> |
26 |
>>> In order to demonstrate that this patch solves the problem, run the |
27 |
>>> command `emerge ant-core` from inside a stage3 chroot, and see that |
28 |
>>> virtual/jdk:1.8 is favored over virtual/jdk:1.7. |
29 |
>>> |
30 |
>>> X-Gentoo-Bug: 597752 |
31 |
>>> X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=597752 |
32 |
>> |
33 |
>> Any feedback? |
34 |
> |
35 |
> |
36 |
> Sorry, I was behind on emails from the weekend. |
37 |
> |
38 |
> This stuff is dabbling into the dep calc voodo ;) But I ddin't see any |
39 |
> typo's :) I trust you got it right. |
40 |
> |
41 |
|
42 |
Thanks, pushed: |
43 |
|
44 |
https://gitweb.gentoo.org/proj/portage.git/commit/?id=cd864267a463769cbd40e058611d2488cc15bf70 |
45 |
-- |
46 |
Thanks, |
47 |
Zac |