diff options
author | Brian Harring <ferringb@chromium.org> | 2011-10-24 22:41:17 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-10-25 14:36:43 -0700 |
commit | e544ee13527a0568de2b556510280ed96fc1b3ff (patch) | |
tree | 4404d52c862ca169edfea556cbf31eadb7971194 /pym/portage/package/ebuild/_config/UseManager.py | |
parent | a34ac493d13ba5ad20b07f25f4e4f054e303eecb (diff) | |
download | portage-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.py | 14 |
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: |