From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QazXJ-0007lg-2I for garchives@archives.gentoo.org; Mon, 27 Jun 2011 00:18:45 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C8CDA1C023; Mon, 27 Jun 2011 00:18:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 87F4E1C023 for ; Mon, 27 Jun 2011 00:18:37 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DFFA41BC01C for ; Mon, 27 Jun 2011 00:18:36 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id EC7F08003C for ; Mon, 27 Jun 2011 00:18:35 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Package.py pym/_emerge/resolver/output.py X-VCS-Directories: pym/_emerge/resolver/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: c3f0895fb89c7b0647428de37eb0f893939d93f7 Date: Mon, 27 Jun 2011 00:18:35 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 54a14623241d5058e0a38606bdc49117 commit: c3f0895fb89c7b0647428de37eb0f893939d93f7 Author: Zac Medico gentoo org> AuthorDate: Mon Jun 27 00:16:07 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Jun 27 00:16:07 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Dc3f0895f Package: add use.expand/expand_hidden attributes This allows the merge list display to account for repository-level USE_EXPAND and USE_EXPAND_HIDDEN settings (see bug #370693). --- pym/_emerge/Package.py | 21 ++++++++++++++++++++- pym/_emerge/resolver/output.py | 13 +++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 593e0d3..7a25638 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -389,10 +389,13 @@ class Package(Task): =20 class _use_class(object): =20 - __slots__ =3D ("enabled", "_force", "_pkg", "_mask") + __slots__ =3D ("enabled", "_expand", "_expand_hidden", + "_force", "_pkg", "_mask") =20 def __init__(self, pkg, use_str): self._pkg =3D pkg + self._expand =3D None + self._expand_hidden =3D None self._force =3D None self._mask =3D None self.enabled =3D frozenset(use_str.split()) @@ -407,10 +410,26 @@ class Package(Task): =20 def _init_force_mask(self): pkgsettings =3D self._pkg._get_pkgsettings() + self._expand =3D frozenset( + pkgsettings.get("USE_EXPAND", "").lower().split()) + self._expand_hidden =3D frozenset( + pkgsettings.get("USE_EXPAND_HIDDEN", "").lower().split()) self._force =3D pkgsettings.useforce self._mask =3D pkgsettings.usemask =20 @property + def expand(self): + if self._expand is None: + self._init_force_mask() + return self._expand + + @property + def expand_hidden(self): + if self._expand_hidden is None: + self._init_force_mask() + return self._expand_hidden + + @property def force(self): if self._force is None: self._init_force_mask() diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output= .py index 6c3579f..69a30cc 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -151,11 +151,8 @@ class Display(object): =20 self.old_use =3D [flag for flag in self.old_use if flag in self.old_iu= se] =20 - self.use_expand =3D self.pkgsettings["USE_EXPAND"].lower().split() - self.use_expand.sort() - self.use_expand.reverse() - self.use_expand_hidden =3D \ - self.pkgsettings["USE_EXPAND_HIDDEN"].lower().split() + self.use_expand =3D pkg.use.expand + self.use_expand_hidden =3D pkg.use.expand_hidden return =20 def include_mask_str(self): @@ -253,10 +250,10 @@ class Display(object): old_iuse_map =3D self.map_to_use_expand(self.old_iuse) old_use_map =3D self.map_to_use_expand(self.old_use) =20 - self.use_expand.sort() - self.use_expand.insert(0, "USE") + use_expand =3D sorted(self.use_expand) + use_expand.insert(0, "USE") =20 - for key in self.use_expand: + for key in use_expand: if key in self.use_expand_hidden: continue self.verboseadd +=3D _create_use_string(self.conf, key.upper(),