summaryrefslogtreecommitdiffstats
path: root/pym/portage/repository/config.py
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2012-09-21 08:31:13 +0200
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2012-09-21 08:31:13 +0200
commitc42ed0f97224091c33edeb79a3719de0b283fa1f (patch)
treeceb04036d48875439e6972457195526985dfa0cc /pym/portage/repository/config.py
parent257a7faf60ab5670b4b2cfb3507d1a2835caaff3 (diff)
downloadportage-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/repository/config.py')
-rw-r--r--pym/portage/repository/config.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index 4de49f0ce..77b016d0c 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -18,6 +18,7 @@ except ImportError:
from portage import eclass_cache, os
from portage.const import (MANIFEST2_HASH_FUNCTIONS, MANIFEST2_REQUIRED_HASH,
REPO_NAME_LOC, USER_CONFIG_PATH)
+from portage.eapi import eapi_allows_directories_on_profile_level_and_repository_level
from portage.env.loaders import KeyValuePairFileLoader
from portage.util import (normalize_path, read_corresponding_eapi_file, shlex_split,
stack_lists, writemsg, writemsg_level)
@@ -163,9 +164,10 @@ class RepoConfig(object):
'sign-commit', 'sign-manifest', 'thin-manifest', 'update-changelog'):
setattr(self, value.lower().replace("-", "_"), layout_data[value])
- self.portage1_profiles = any(x in _portage1_profiles_allow_directories
- for x in layout_data['profile-formats'])
- self.portage1_profiles_compat = layout_data['profile-formats'] == ('portage-1-compat',)
+ self.portage1_profiles = 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'])
+ self.portage1_profiles_compat = not eapi_allows_directories_on_profile_level_and_repository_level(eapi) and \
+ layout_data['profile-formats'] == ('portage-1-compat',)
def iter_pregenerated_caches(self, auxdbkeys, readonly=True, force=False):
"""
@@ -760,7 +762,7 @@ def parse_layout_conf(repo_location, repo_name=None):
raw_formats = layout_data.get('profile-formats')
if raw_formats is None:
- if eapi in ('4-python',):
+ if eapi_allows_directories_on_profile_level_and_repository_level(eapi):
raw_formats = ('portage-1',)
else:
raw_formats = ('portage-1-compat',)