From 24b7ebe3b9404f0344f5b34eb322abde64143263 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 7 Sep 2012 21:32:03 -0700 Subject: Detect md5-cache when no cache-formats specified. Auto-detect cache-formats from the corresponding directories when cache-formats is not specifed in layout.conf, and prefer md5-dict if available. After this behavior is deployed in stable portage, the default egencache format can be changed to md5-dict. --- pym/portage/repository/config.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'pym/portage/repository') diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py index 9b43f3872..4de49f0ce 100644 --- a/pym/portage/repository/config.py +++ b/pym/portage/repository/config.py @@ -713,9 +713,15 @@ def parse_layout_conf(repo_location, repo_name=None): # for compatibility w/ PMS, fallback to pms; but also check if the # cache exists or not. cache_formats = layout_data.get('cache-formats', '').lower().split() - if not cache_formats and os.path.isdir( - os.path.join(repo_location, 'metadata', 'cache')): - cache_formats = ['pms'] + if not cache_formats: + # Auto-detect cache formats, and prefer md5-cache if available. + # After this behavior is deployed in stable portage, the default + # egencache format can be changed to md5-dict. + cache_formats = [] + if os.path.isdir(os.path.join(repo_location, 'metadata', 'md5-cache')): + cache_formats.append('md5-dict') + if os.path.isdir(os.path.join(repo_location, 'metadata', 'cache')): + cache_formats.append('pms') data['cache-formats'] = tuple(cache_formats) manifest_hashes = layout_data.get('manifest-hashes') -- cgit v1.2.3-1-g7c22