Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Wed, 27 Mar 2013 05:51:38
Message-Id: 1364363478.566347ec232f50b07c8ab219fee4fef0788c3560.zmedico@gentoo
1 commit: 566347ec232f50b07c8ab219fee4fef0788c3560
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 27 05:51:18 2013 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 27 05:51:18 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=566347ec
7
8 _autounmask_levels: respect keywords, bug #463394
9
10 This adds an additional autounmask level which tries to respect
11 keywords while discarding package.mask as discussed in bug #463394.
12
13 ---
14 pym/_emerge/depgraph.py | 20 +++++++++++++++++---
15 1 files changed, 17 insertions(+), 3 deletions(-)
16
17 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
18 index 2b36853..b6dd5ff 100644
19 --- a/pym/_emerge/depgraph.py
20 +++ b/pym/_emerge/depgraph.py
21 @@ -4330,8 +4330,9 @@ class depgraph(object):
22 1. USE + license
23 2. USE + ~arch + license
24 3. USE + ~arch + license + missing keywords
25 - 4. USE + ~arch + license + masks
26 - 5. USE + ~arch + license + missing keywords + masks
27 + 4. USE + license + masks
28 + 5. USE + ~arch + license + masks
29 + 6. USE + ~arch + license + missing keywords + masks
30
31 Some thoughts:
32 * Do least invasive changes first.
33 @@ -4356,7 +4357,20 @@ class depgraph(object):
34
35 if not autounmask_keep_masks:
36
37 - for missing_keyword, unmask in ((True, False), (False, True), (True, True)):
38 + autounmask_level.allow_missing_keywords = True
39 + yield autounmask_level
40 +
41 + # 4. USE + license + masks
42 + # Try to respect keywords while discarding
43 + # package.mask (see bug #463394).
44 + autounmask_level.allow_unstable_keywords = False
45 + autounmask_level.allow_missing_keywords = False
46 + autounmask_level.allow_unmasks = True
47 + yield autounmask_level
48 +
49 + autounmask_level.allow_unstable_keywords = True
50 +
51 + for missing_keyword, unmask in ((False, True), (True, True)):
52
53 autounmask_level.allow_missing_keywords = missing_keyword
54 autounmask_level.allow_unmasks = unmask