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 |