Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] Re: [PATCH] _expand_new_virtuals: constrain output for dep_zapdeps (bug 597752)
Date: Thu, 03 Nov 2016 20:34:35
Message-Id: 3d6b5971-bb6f-d18d-875d-e106dc074417@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] _expand_new_virtuals: constrain output for dep_zapdeps (bug 597752) by Zac Medico
1 On 10/30/2016 11:15 PM, Zac Medico wrote:
2 > Constrain _expand_new_virtuals output in order to avoid incorrect
3 > re-ordering of || deps in the dep_zapdeps function, as reported in
4 > bug 597752.
5 >
6 > The incorrect dep_zapdeps behavior involved a problem in the
7 > construction of the _dep_choice.cp_map dictionary inside the
8 > dep_zapdeps function, with this input:
9 >
10 > || ( dev-java/icedtea-bin:8 =virtual/jdk-1.8.0-r3 >=virtual/jdk-1.5 )
11 > ( dev-java/icedtea-bin:7 =virtual/jdk-1.7.0-r2 >=virtual/jdk-1.5 )
12 >
13 > The cp_map for virtual/jdk-1.7.0-r2 erroneously contained
14 > virtual/jdk-1.8.0-r3 because that was the highest virtual/jdk matched
15 > by the >=virtual/jdk-1.5 atom. This patch removes the >=virtual/jdk-1.5
16 > atom from the _expand_new_virtuals output, in order to avoid triggering
17 > the erroneous dep_zapdeps behavior. The >=virtual/jdk-1.5 atom is not
18 > completely discarded, since the depgraph is able to access it via the
19 > virt_atom._orig_atom attribute.
20 >
21 > In order to demonstrate that this patch solves the problem, run the
22 > command `emerge ant-core` from inside a stage3 chroot, and see that
23 > virtual/jdk:1.8 is favored over virtual/jdk:1.7.
24 >
25 > X-Gentoo-Bug: 597752
26 > X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=597752
27
28 Any feedback?
29 --
30 Thanks,
31 Zac

Replies