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 1RJWu6-00069M-Ca for garchives@archives.gentoo.org; Thu, 27 Oct 2011 20:50:22 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E41A421C135; Thu, 27 Oct 2011 20:49:59 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id A399321C135 for ; Thu, 27 Oct 2011 20:49:59 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 062F766A46 for ; Thu, 27 Oct 2011 20:49:59 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 3BA4A80042 for ; Thu, 27 Oct 2011 20:49:58 +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: <10202ff80ebd212457db95d76ca1fbc79567bf8d.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/package/ebuild/_config/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/package/ebuild/_config/KeywordsManager.py pym/portage/package/ebuild/_config/LocationsManager.py pym/portage/package/ebuild/_config/MaskManager.py pym/portage/package/ebuild/_config/UseManager.py pym/portage/package/ebuild/config.py X-VCS-Directories: pym/portage/package/ebuild/ pym/portage/package/ebuild/_config/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 10202ff80ebd212457db95d76ca1fbc79567bf8d Date: Thu, 27 Oct 2011 20:49:58 +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: b21cdc3195be4bb48bfba97f83f0dd3c commit: 10202ff80ebd212457db95d76ca1fbc79567bf8d Author: Zac Medico gentoo org> AuthorDate: Thu Oct 27 20:49:40 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Oct 27 20:49:40 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D10202ff8 LocationsManager: extensible _profile_node object Use immutable object attrubutes instead of tuples, for extensibility. --- .../package/ebuild/_config/KeywordsManager.py | 6 ++++-- .../package/ebuild/_config/LocationsManager.py | 17 ++++++++++++++= +-- pym/portage/package/ebuild/_config/MaskManager.py | 12 ++++++++---- pym/portage/package/ebuild/_config/UseManager.py | 8 ++++++-- pym/portage/package/ebuild/config.py | 6 ++++-- 5 files changed, 37 insertions(+), 12 deletions(-) diff --git a/pym/portage/package/ebuild/_config/KeywordsManager.py b/pym/= portage/package/ebuild/_config/KeywordsManager.py index 704ddca..2f9f7b3 100644 --- a/pym/portage/package/ebuild/_config/KeywordsManager.py +++ b/pym/portage/package/ebuild/_config/KeywordsManager.py @@ -20,7 +20,8 @@ class KeywordsManager(object): global_accept_keywords=3D""): self._pkeywords_list =3D [] rawpkeywords =3D [grabdict_package( - os.path.join(x[0], "package.keywords"), recursive=3Dx[1], + os.path.join(x.location, "package.keywords"), + recursive=3Dx.portage1_directories, verify_eapi=3DTrue) \ for x in profiles] for pkeyworddict in rawpkeywords: @@ -35,7 +36,8 @@ class KeywordsManager(object): =20 self._p_accept_keywords =3D [] raw_p_accept_keywords =3D [grabdict_package( - os.path.join(x[0], "package.accept_keywords"), recursive=3Dx[1], + os.path.join(x.location, "package.accept_keywords"), + recursive=3Dx.portage1_directories, verify_eapi=3DTrue) \ for x in profiles] for d in raw_p_accept_keywords: diff --git a/pym/portage/package/ebuild/_config/LocationsManager.py b/pym= /portage/package/ebuild/_config/LocationsManager.py index d793625..ec3f003 100644 --- a/pym/portage/package/ebuild/_config/LocationsManager.py +++ b/pym/portage/package/ebuild/_config/LocationsManager.py @@ -23,6 +23,18 @@ _PORTAGE1_DIRECTORIES =3D frozenset([ 'package.use', 'package.use.mask', 'package.use.force', 'use.mask', 'use.force']) =20 +class _profile_node(object): + + __slots__ =3D ('location', 'portage1_directories') + + def __init__(self, location, portage1_directories): + object.__setattr__(self, 'location', location) + object.__setattr__(self, 'portage1_directories', portage1_directories) + + def __setattr__(self, name, value): + raise AttributeError("_profile_node instances are immutable", + self.__class__, name, value) + class LocationsManager(object): =20 def __init__(self, config_root=3DNone, eprefix=3DNone, config_profile_p= ath=3DNone, local_config=3DTrue, \ @@ -92,7 +104,7 @@ class LocationsManager(object): if os.path.exists(custom_prof): self.user_profile_dir =3D custom_prof self.profiles.append(custom_prof) - self.profiles_complex.append((custom_prof, True)) + self.profiles_complex.append(_profile_node(custom_prof, True)) del custom_prof =20 self.profiles =3D tuple(self.profiles) @@ -177,7 +189,8 @@ class LocationsManager(object): (parentPath, parentsFile)) =20 self.profiles.append(currentPath) - self.profiles_complex.append((currentPath, allow_directories)) + self.profiles_complex.append( + _profile_node(currentPath, allow_directories)) =20 def set_root_override(self, root_overwrite=3DNone): # Allow ROOT setting to come from make.conf if it's not overridden diff --git a/pym/portage/package/ebuild/_config/MaskManager.py b/pym/port= age/package/ebuild/_config/MaskManager.py index a2bfb19..6b0f1c3 100644 --- a/pym/portage/package/ebuild/_config/MaskManager.py +++ b/pym/portage/package/ebuild/_config/MaskManager.py @@ -115,12 +115,16 @@ class MaskManager(object): #to allow profiles to override masks from their parent profiles. profile_pkgmasklines =3D [] profile_pkgunmasklines =3D [] - for x, portage1_mode in profiles: + for x in profiles: profile_pkgmasklines.append(grabfile_package( - os.path.join(x, "package.mask"), recursive=3Dportage1_mode, remember= _source_file=3DTrue, verify_eapi=3DTrue)) - if portage1_mode: + os.path.join(x.location, "package.mask"), + recursive=3Dx.portage1_directories, + remember_source_file=3DTrue, verify_eapi=3DTrue)) + if x.portage1_directories: profile_pkgunmasklines.append(grabfile_package( - os.path.join(x, "package.unmask"), recursive=3D1, remember_source_f= ile=3DTrue, verify_eapi=3DTrue)) + os.path.join(x.location, "package.unmask"), + recursive=3Dx.portage1_directories, + remember_source_file=3DTrue, verify_eapi=3DTrue)) profile_pkgmasklines =3D stack_lists(profile_pkgmasklines, incremental= =3D1, \ remember_source_file=3DTrue, warn_for_unmatched_removal=3DTrue, strict_warn_for_unmatched_removal=3Dstrict_umatched_removal) diff --git a/pym/portage/package/ebuild/_config/UseManager.py b/pym/porta= ge/package/ebuild/_config/UseManager.py index bf06bd7..0506af0 100644 --- a/pym/portage/package/ebuild/_config/UseManager.py +++ b/pym/portage/package/ebuild/_config/UseManager.py @@ -132,11 +132,15 @@ class UseManager(object): return ret =20 def _parse_profile_files_to_tuple_of_tuples(self, file_name, locations)= : - return tuple(self._parse_file_to_tuple(os.path.join(profile[0], file_n= ame), recursive=3Dprofile[1]) + return tuple(self._parse_file_to_tuple( + os.path.join(profile.location, file_name), + recursive=3Dprofile.portage1_directories) for profile in locations) =20 def _parse_profile_files_to_tuple_of_dicts(self, file_name, locations, = juststrings=3DFalse): - return tuple(self._parse_file_to_dict(os.path.join(profile[0], file_na= me), juststrings, recursive=3Dprofile[1]) + return tuple(self._parse_file_to_dict( + os.path.join(profile.location, file_name), juststrings, + recursive=3Dprofile.portage1_directories) for profile in locations) =20 def getUseMask(self, pkg=3DNone): diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/e= build/config.py index 34a326e..47ea7f8 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -637,8 +637,10 @@ class config(object): archlist =3D stack_lists(archlist, incremental=3D1) self.configdict["conf"]["PORTAGE_ARCHLIST"] =3D " ".join(archlist) =20 - pkgprovidedlines =3D [grabfile(os.path.join(loc, "package.provided"),= recursive=3Drecursive) - for loc, recursive in self.profiles_complex] + pkgprovidedlines =3D [grabfile( + os.path.join(x.location, "package.provided"), + recursive=3Dx.portage1_directories) + for x in self.profiles_complex] pkgprovidedlines =3D stack_lists(pkgprovidedlines, incremental=3D1) has_invalid_data =3D False for x in range(len(pkgprovidedlines)-1, -1, -1):