summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/_config/UseManager.py
diff options
context:
space:
mode:
authorBrian Harring <ferringb@chromium.org>2011-10-24 22:41:17 -0700
committerZac Medico <zmedico@gentoo.org>2011-10-25 14:36:43 -0700
commite544ee13527a0568de2b556510280ed96fc1b3ff (patch)
tree4404d52c862ca169edfea556cbf31eadb7971194 /pym/portage/package/ebuild/_config/UseManager.py
parenta34ac493d13ba5ad20b07f25f4e4f054e303eecb (diff)
downloadportage-e544ee13527a0568de2b556510280ed96fc1b3ff.tar.gz
portage-e544ee13527a0568de2b556510280ed96fc1b3ff.tar.bz2
portage-e544ee13527a0568de2b556510280ed96fc1b3ff.zip
add profile-formats portage-1 awareness and enforcement
Currently it just spits warnings for implicit portage-1 format usage; down the line, this will be converted into an explicit error. For repo's that configure themselves as portage-1 or pms explicitly, enforce it.
Diffstat (limited to 'pym/portage/package/ebuild/_config/UseManager.py')
-rw-r--r--pym/portage/package/ebuild/_config/UseManager.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pym/portage/package/ebuild/_config/UseManager.py b/pym/portage/package/ebuild/_config/UseManager.py
index d7ef0f6b0..bf06bd79d 100644
--- a/pym/portage/package/ebuild/_config/UseManager.py
+++ b/pym/portage/package/ebuild/_config/UseManager.py
@@ -65,9 +65,9 @@ class UseManager(object):
self.repositories = repositories
- def _parse_file_to_tuple(self, file_name):
+ def _parse_file_to_tuple(self, file_name, recursive=True):
ret = []
- lines = grabfile(file_name, recursive=1)
+ lines = grabfile(file_name, recursive=recursive)
eapi = read_corresponding_eapi_file(file_name)
useflag_re = _get_useflag_re(eapi)
for prefixed_useflag in lines:
@@ -82,10 +82,10 @@ class UseManager(object):
ret.append(prefixed_useflag)
return tuple(ret)
- def _parse_file_to_dict(self, file_name, juststrings=False):
+ def _parse_file_to_dict(self, file_name, juststrings=False, recursive=True):
ret = {}
location_dict = {}
- file_dict = grabdict_package(file_name, recursive=1, verify_eapi=True)
+ file_dict = grabdict_package(file_name, recursive=recursive, verify_eapi=True)
eapi = read_corresponding_eapi_file(file_name)
useflag_re = _get_useflag_re(eapi)
for k, v in file_dict.items():
@@ -132,10 +132,12 @@ class UseManager(object):
return ret
def _parse_profile_files_to_tuple_of_tuples(self, file_name, locations):
- return tuple(self._parse_file_to_tuple(os.path.join(profile, file_name)) for profile in locations)
+ return tuple(self._parse_file_to_tuple(os.path.join(profile[0], file_name), recursive=profile[1])
+ for profile in locations)
def _parse_profile_files_to_tuple_of_dicts(self, file_name, locations, juststrings=False):
- return tuple(self._parse_file_to_dict(os.path.join(profile, file_name), juststrings) for profile in locations)
+ return tuple(self._parse_file_to_dict(os.path.join(profile[0], file_name), juststrings, recursive=profile[1])
+ for profile in locations)
def getUseMask(self, pkg=None):
if pkg is None: