Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Re: [PATCH] _expand_new_virtuals: constrain output for dep_zapdeps (bug 597752)
Date: Thu, 03 Nov 2016 23:17:35
Message-Id: 2993ebc6-c4f4-b1b7-f45a-64064aa0f04d@gentoo.org
In Reply to: Re: [gentoo-portage-dev] Re: [PATCH] _expand_new_virtuals: constrain output for dep_zapdeps (bug 597752) by Brian Dolbec
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