1 |
commit: 591df99455bd4f4f907e7d96bdca4aedef5e2258 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Mon Sep 2 16:18:29 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Mon Sep 2 16:18:29 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=591df994 |
7 |
|
8 |
roverlay/overlay: use new depres rule generator |
9 |
|
10 |
--- |
11 |
roverlay/overlay/category.py | 31 +++++++------------------------ |
12 |
roverlay/overlay/creator.py | 4 +++- |
13 |
roverlay/overlay/root.py | 13 +++++-------- |
14 |
3 files changed, 15 insertions(+), 33 deletions(-) |
15 |
|
16 |
diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py |
17 |
index d2b2028..4301734 100644 |
18 |
--- a/roverlay/overlay/category.py |
19 |
+++ b/roverlay/overlay/category.py |
20 |
@@ -198,15 +198,7 @@ class Category ( roverlay.overlay.base.OverlayObject ): |
21 |
yield p_info |
22 |
# --- end of iter_package_info (...) --- |
23 |
|
24 |
- def list_package_names ( self ): |
25 |
- for name, subdir in self._subdirs.items(): |
26 |
- if not subdir.empty(): |
27 |
- yield name |
28 |
- # --- end of list_package_names (...) --- |
29 |
- |
30 |
- def list_packages ( self, |
31 |
- for_deprules=False, is_default_category=False |
32 |
- ): |
33 |
+ def list_packages ( self, name_only=False ): |
34 |
"""Lists all packages in this category. |
35 |
Yields <category>/<package name> or a dict (see for_deprules below). |
36 |
|
37 |
@@ -216,29 +208,20 @@ class Category ( roverlay.overlay.base.OverlayObject ): |
38 |
* is_default_category -- bool indicating whether this category is the |
39 |
default one or not |
40 |
""" |
41 |
- if for_deprules: |
42 |
+ if name_only: |
43 |
for name, subdir in self._subdirs.items(): |
44 |
if not subdir.empty(): |
45 |
- yield dict ( |
46 |
- dep_str = name, |
47 |
- resolving_package = ( self.name + "/" + name ), |
48 |
- is_selfdep = 2 if is_default_category else 1, |
49 |
- # prefer packages from the default category (really?) |
50 |
- priority = 80 if is_default_category else 90, |
51 |
- finalize = True, |
52 |
- selfdep_package_names = filter ( |
53 |
- None, ( |
54 |
- p.get ( 'package_name', do_fallback=True ) |
55 |
- for p in subdir.iter_package_info() |
56 |
- ) |
57 |
- ), |
58 |
- ) |
59 |
+ yield name |
60 |
else: |
61 |
for name, subdir in self._subdirs.items(): |
62 |
if not subdir.empty(): |
63 |
yield self.name + os.sep + name |
64 |
# --- end of list_packages (...) --- |
65 |
|
66 |
+ def list_package_names ( self ): |
67 |
+ return self.list_packages ( name_only=True ) |
68 |
+ # --- end of list_package_names (...) --- |
69 |
+ |
70 |
def supports_threadsafe_manifest_writing ( self, unsafe=True ): |
71 |
"""Returns True if manifest writing is thread safe for this |
72 |
category, else False. Also returns True for empty categories. |
73 |
|
74 |
diff --git a/roverlay/overlay/creator.py b/roverlay/overlay/creator.py |
75 |
index fb57d39..f3157f3 100644 |
76 |
--- a/roverlay/overlay/creator.py |
77 |
+++ b/roverlay/overlay/creator.py |
78 |
@@ -78,7 +78,9 @@ class OverlayCreator ( object ): |
79 |
) |
80 |
|
81 |
self.depresolver = roverlay.recipe.easyresolver.setup ( self._err_queue ) |
82 |
- self.depresolver.make_selfdep_pool ( self.overlay.list_rule_kwargs ) |
83 |
+ self.depresolver.make_selfdep_pool ( |
84 |
+ self.overlay.get_depres_rule_generator() |
85 |
+ ) |
86 |
|
87 |
if greedy_depres: |
88 |
self._depres_channel_cls = roverlay.depres.channels.EbuildJobChannel |
89 |
|
90 |
diff --git a/roverlay/overlay/root.py b/roverlay/overlay/root.py |
91 |
index 1a07091..80bf836 100644 |
92 |
--- a/roverlay/overlay/root.py |
93 |
+++ b/roverlay/overlay/root.py |
94 |
@@ -32,6 +32,8 @@ import roverlay.overlay.category |
95 |
import roverlay.overlay.header |
96 |
import roverlay.overlay.pkgdir.base |
97 |
import roverlay.overlay.pkgdir.distroot.static |
98 |
+import roverlay.overlay.rulegen |
99 |
+ |
100 |
|
101 |
class Overlay ( roverlay.overlay.base.OverlayObject ): |
102 |
DEFAULT_USE_DESC = ( |
103 |
@@ -701,14 +703,9 @@ class Overlay ( roverlay.overlay.base.OverlayObject ): |
104 |
yield package |
105 |
# --- end of list_packages (...) --- |
106 |
|
107 |
- def list_rule_kwargs ( self ): |
108 |
- for cat in self._categories.values(): |
109 |
- for kwargs in cat.list_packages ( |
110 |
- for_deprules = True, |
111 |
- is_default_category = ( cat.name is self.default_category ) |
112 |
- ): |
113 |
- yield kwargs |
114 |
- # --- end of list_rule_kwargs (...) --- |
115 |
+ def get_depres_rule_generator ( self ): |
116 |
+ return roverlay.overlay.rulegen.DepresRuleGenerator ( self ) |
117 |
+ # --- end of get_depres_rule_generator (...) --- |
118 |
|
119 |
def readonly ( self ): |
120 |
return not self._writeable |