From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 5E6BE1381F3 for ; Mon, 2 Sep 2013 16:21:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CA6D1E0D6D; Mon, 2 Sep 2013 16:21:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 44C02E0D6E for ; Mon, 2 Sep 2013 16:21:17 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2A3DB33EAA9 for ; Mon, 2 Sep 2013 16:21:16 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id B6BD2E5465 for ; Mon, 2 Sep 2013 16:21:13 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1378138709.591df99455bd4f4f907e7d96bdca4aedef5e2258.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/overlay/category.py roverlay/overlay/creator.py roverlay/overlay/root.py X-VCS-Directories: roverlay/overlay/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: 591df99455bd4f4f907e7d96bdca4aedef5e2258 X-VCS-Branch: master Date: Mon, 2 Sep 2013 16:21:13 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 632114dc-2492-46ac-9d9e-a0627a94c360 X-Archives-Hash: 4555d1526f68d8a2418f8ebde4a7f19b commit: 591df99455bd4f4f907e7d96bdca4aedef5e2258 Author: André Erdmann mailerd de> AuthorDate: Mon Sep 2 16:18:29 2013 +0000 Commit: André Erdmann mailerd 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 / 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