diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-09-21 08:31:13 +0200 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-09-21 08:31:13 +0200 |
commit | c42ed0f97224091c33edeb79a3719de0b283fa1f (patch) | |
tree | ceb04036d48875439e6972457195526985dfa0cc /pym/portage/package/ebuild/_config/LocationsManager.py | |
parent | 257a7faf60ab5670b4b2cfb3507d1a2835caaff3 (diff) | |
download | portage-c42ed0f97224091c33edeb79a3719de0b283fa1f.tar.gz portage-c42ed0f97224091c33edeb79a3719de0b283fa1f.tar.bz2 portage-c42ed0f97224091c33edeb79a3719de0b283fa1f.zip |
Improve allowing of directories on profile level and repository level in EAPI="4-python".
Diffstat (limited to 'pym/portage/package/ebuild/_config/LocationsManager.py')
-rw-r--r-- | pym/portage/package/ebuild/_config/LocationsManager.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pym/portage/package/ebuild/_config/LocationsManager.py b/pym/portage/package/ebuild/_config/LocationsManager.py index 2200be694..0149ad8ec 100644 --- a/pym/portage/package/ebuild/_config/LocationsManager.py +++ b/pym/portage/package/ebuild/_config/LocationsManager.py @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Gentoo Foundation +# Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __all__ = ( @@ -13,6 +13,7 @@ import portage from portage import os, eapi_is_supported, _encodings, _unicode_encode from portage.const import CUSTOM_PROFILE_PATH, GLOBAL_CONFIG_PATH, \ PROFILE_PATH, USER_CONFIG_PATH +from portage.eapi import eapi_allows_directories_on_profile_level_and_repository_level from portage.exception import DirectoryNotFound, ParseError from portage.localization import _ from portage.util import ensure_dirs, grabfile, \ @@ -132,6 +133,7 @@ class LocationsManager(object): compat_mode = False eapi_file = os.path.join(currentPath, "eapi") + eapi = "0" f = None try: f = io.open(_unicode_encode(eapi_file, @@ -155,9 +157,10 @@ class LocationsManager(object): # protect against nested repositories. Insane configuration, but the longest # path will be the correct one. repo_loc, layout_data = max(intersecting_repos, key=lambda x:len(x[0])) - allow_directories = any(x in _portage1_profiles_allow_directories - for x in layout_data['profile-formats']) - compat_mode = layout_data['profile-formats'] == ('portage-1-compat',) + allow_directories = eapi_allows_directories_on_profile_level_and_repository_level(eapi) or \ + any(x in _portage1_profiles_allow_directories for x in layout_data['profile-formats']) + compat_mode = not eapi_allows_directories_on_profile_level_and_repository_level(eapi) and \ + layout_data['profile-formats'] == ('portage-1-compat',) allow_parent_colon = any(x in _allow_parent_colon for x in layout_data['profile-formats']) |