public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/
Date: Mon,  2 Sep 2013 16:21:13 +0000 (UTC)	[thread overview]
Message-ID: <1378138709.591df99455bd4f4f907e7d96bdca4aedef5e2258.dywi@gentoo> (raw)

commit:     591df99455bd4f4f907e7d96bdca4aedef5e2258
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Mon Sep  2 16:18:29 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Mon Sep  2 16:18:29 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=591df994

roverlay/overlay: use new depres rule generator

---
 roverlay/overlay/category.py | 31 +++++++------------------------
 roverlay/overlay/creator.py  |  4 +++-
 roverlay/overlay/root.py     | 13 +++++--------
 3 files changed, 15 insertions(+), 33 deletions(-)

diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py
index d2b2028..4301734 100644
--- a/roverlay/overlay/category.py
+++ b/roverlay/overlay/category.py
@@ -198,15 +198,7 @@ class Category ( roverlay.overlay.base.OverlayObject ):
             yield p_info
    # --- end of iter_package_info (...) ---
 
-   def list_package_names ( self ):
-      for name, subdir in self._subdirs.items():
-         if not subdir.empty():
-            yield name
-   # --- end of list_package_names (...) ---
-
-   def list_packages ( self,
-      for_deprules=False, is_default_category=False
-   ):
+   def list_packages ( self, name_only=False ):
       """Lists all packages in this category.
       Yields <category>/<package name> or a dict (see for_deprules below).
 
@@ -216,29 +208,20 @@ class Category ( roverlay.overlay.base.OverlayObject ):
       * is_default_category -- bool indicating whether this category is the
                                default one or not
       """
-      if for_deprules:
+      if name_only:
          for name, subdir in self._subdirs.items():
             if not subdir.empty():
-               yield dict (
-                  dep_str               = name,
-                  resolving_package     = ( self.name + "/" + name ),
-                  is_selfdep            = 2 if is_default_category else 1,
-                  # prefer packages from the default category (really?)
-                  priority              = 80 if is_default_category else 90,
-                  finalize              = True,
-                  selfdep_package_names = filter (
-                     None, (
-                        p.get ( 'package_name', do_fallback=True )
-                        for p in subdir.iter_package_info()
-                     )
-                  ),
-               )
+               yield name
       else:
          for name, subdir in self._subdirs.items():
             if not subdir.empty():
                yield self.name + os.sep + name
    # --- end of list_packages (...) ---
 
+   def list_package_names ( self ):
+      return self.list_packages ( name_only=True )
+   # --- end of list_package_names (...) ---
+
    def supports_threadsafe_manifest_writing ( self, unsafe=True ):
       """Returns True if manifest writing is thread safe for this
       category, else False. Also returns True for empty categories.

diff --git a/roverlay/overlay/creator.py b/roverlay/overlay/creator.py
index fb57d39..f3157f3 100644
--- a/roverlay/overlay/creator.py
+++ b/roverlay/overlay/creator.py
@@ -78,7 +78,9 @@ class OverlayCreator ( object ):
       )
 
       self.depresolver = roverlay.recipe.easyresolver.setup ( self._err_queue )
-      self.depresolver.make_selfdep_pool ( self.overlay.list_rule_kwargs )
+      self.depresolver.make_selfdep_pool (
+         self.overlay.get_depres_rule_generator()
+      )
 
       if greedy_depres:
          self._depres_channel_cls = roverlay.depres.channels.EbuildJobChannel

diff --git a/roverlay/overlay/root.py b/roverlay/overlay/root.py
index 1a07091..80bf836 100644
--- a/roverlay/overlay/root.py
+++ b/roverlay/overlay/root.py
@@ -32,6 +32,8 @@ import roverlay.overlay.category
 import roverlay.overlay.header
 import roverlay.overlay.pkgdir.base
 import roverlay.overlay.pkgdir.distroot.static
+import roverlay.overlay.rulegen
+
 
 class Overlay ( roverlay.overlay.base.OverlayObject ):
    DEFAULT_USE_DESC = (
@@ -701,14 +703,9 @@ class Overlay ( roverlay.overlay.base.OverlayObject ):
             yield package
    # --- end of list_packages (...) ---
 
-   def list_rule_kwargs ( self ):
-      for cat in self._categories.values():
-         for kwargs in cat.list_packages (
-            for_deprules        = True,
-            is_default_category = ( cat.name is self.default_category )
-         ):
-            yield kwargs
-   # --- end of list_rule_kwargs (...) ---
+   def get_depres_rule_generator ( self ):
+      return roverlay.overlay.rulegen.DepresRuleGenerator ( self )
+   # --- end of get_depres_rule_generator (...) ---
 
    def readonly ( self ):
       return not self._writeable


             reply	other threads:[~2013-09-02 16:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-02 16:21 André Erdmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-08-23 19:03 [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/ André Erdmann
2014-07-29 18:29 ` André Erdmann
2014-07-18 16:20 André Erdmann
2014-07-18  2:28 [gentoo-commits] proj/R_overlay:wip/addition_control " André Erdmann
2014-07-18 16:20 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2014-07-18  2:28 [gentoo-commits] proj/R_overlay:wip/addition_control " André Erdmann
2014-07-18 16:20 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2014-04-01 16:38 André Erdmann
2013-09-18 14:00 André Erdmann
2013-09-17 13:49 André Erdmann
2013-09-03 15:51 André Erdmann
2013-09-03 13:15 André Erdmann
2013-09-03  8:35 André Erdmann
2013-09-02 16:21 André Erdmann
2013-08-29 12:36 André Erdmann
2013-08-20 21:46 André Erdmann
2013-08-20 21:46 André Erdmann
2013-07-29 14:56 André Erdmann
2013-07-10 15:10 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-10 16:16 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-22 15:24 André Erdmann
2013-06-18 14:12 André Erdmann
2013-06-13 16:34 André Erdmann
2013-04-25 16:44 André Erdmann
2013-04-25 16:44 André Erdmann
2013-02-09 21:28 André Erdmann
2013-02-09 20:45 André Erdmann
2013-02-09 20:45 André Erdmann
2013-01-30 20:16 André Erdmann
2012-08-17 17:26 André Erdmann
2012-08-03 13:38 André Erdmann
2012-08-01 21:10 André Erdmann
2012-07-30 15:53 André Erdmann
2012-07-30  8:52 André Erdmann
2012-07-30  8:52 André Erdmann
2012-07-24 16:59 [gentoo-commits] proj/R_overlay:overlay_wip " André Erdmann
2012-07-30  8:52 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2012-07-05 16:00 André Erdmann
2012-07-04 18:21 André Erdmann
2012-07-03 17:48 André Erdmann
2012-06-27 14:46 André Erdmann
2012-06-26 15:42 André Erdmann
2012-06-22 18:13 André Erdmann
2012-06-21 16:55 André Erdmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1378138709.591df99455bd4f4f907e7d96bdca4aedef5e2258.dywi@gentoo \
    --to=dywi@mailerd.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox