Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/
Date: Mon, 02 Sep 2013 16:21:19
Message-Id: 1378138709.591df99455bd4f4f907e7d96bdca4aedef5e2258.dywi@gentoo
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