Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, Brian Dolbec <dolsen@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] depgraph: make _minimize_children deterministic (bug 631894)
Date: Mon, 25 Sep 2017 06:20:00
Message-Id: 53df8178-d8ae-c592-b06d-b891fe17e9c2@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] depgraph: make _minimize_children deterministic (bug 631894) by Brian Dolbec
1 On 09/24/2017 11:11 PM, Brian Dolbec wrote:
2 > On Sun, 24 Sep 2017 11:57:19 -0700
3 > Zac Medico <zmedico@g.o> wrote:
4 >
5 >> In order for the eliminate_pkg loop to produce deterministic results,
6 >> the order of the pkgs list must not be random. Prefer to eliminate
7 >> installed packages first, in case rebuilds are needed, and also sort
8 >> in ascending order so that older versions are eliminated first.
9 >>
10 >> X-Gentoo-bug: 631894
11 >> X-Gentoo-bug-url: https://bugs.gentoo.org/631894
12 >> ---
13 >> pym/_emerge/depgraph.py | 9 +++++++++
14 >> 1 file changed, 9 insertions(+)
15 >>
16 >> diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
17 >> index b4fc5f297..785c036b8 100644
18 >> --- a/pym/_emerge/depgraph.py
19 >> +++ b/pym/_emerge/depgraph.py
20 >> @@ -3584,6 +3584,15 @@ class depgraph(object):
21 >> if
22 >> atom_set.findAtomForPackage(pkg2,
23 >> modified_use=self._pkg_use_enabled(pkg2)): atom_pkg_graph.add(pkg2,
24 >> atom)
25 >> + # In order for the following eliminate_pkg
26 >> loop to produce
27 >> + # deterministic results, the order of the
28 >> pkgs list must
29 >> + # not be random (bug 631894). Prefer to
30 >> eliminate installed
31 >> + # packages first, in case rebuilds are
32 >> needed, and also sort
33 >> + # in ascending order so that older versions
34 >> are eliminated
35 >> + # first.
36 >> + pkgs = (sorted(pkg for pkg in pkgs if
37 >> pkg.installed) +
38 >> + sorted(pkg for pkg in pkgs if not
39 >> pkg.installed)) +
40 >> for pkg in pkgs:
41 >> eliminate_pkg = True
42 >> for atom in
43 >> atom_pkg_graph.parent_nodes(pkg):
44 >
45 >
46 > Looks good
47 >
48
49 Thanks, merged:
50
51 https://gitweb.gentoo.org/proj/portage.git/commit/?id=5b286b267cb5cc69cac1c99ec8704ff0e0463e11
52 --
53 Thanks,
54 Zac

Attachments

File name MIME type
signature.asc application/pgp-signature