From e760c8d2a4ccc56e351ac37904c715f596b58e42 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 27 Nov 2012 07:45:53 -0800 Subject: egencache: enable md5-dict format by default WARNING: Portage versions prior to portage-2.1.11.14 will NOT recognize the 'md5-dict' format unless it is explicitly listed in metadata/layout.conf (refer to portage(5) for example usage). WARNING: For backward compatibility, the obsolete 'pms' cache format will still be generated by default if the metadata/cache/ directory exists in the repository. --- pym/portage/repository/config.py | 13 ++++++++++--- pym/portage/tests/dbapi/test_portdb_cache.py | 8 ++++---- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'pym') diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py index 71f548ca4..246be0e8c 100644 --- a/pym/portage/repository/config.py +++ b/pym/portage/repository/config.py @@ -200,7 +200,11 @@ class RepoConfig(object): if not formats: if not force: return - formats = ('pms',) + # The default egencache format was 'pms' prior to portage-2.1.11.32 + # (portage versions ersions prior to portage-2.1.11.14 will NOT + # recognize md5-dict format unless it is explicitly listed in + # layout.conf). + formats = ('md5-dict',) for fmt in formats: name = None @@ -739,8 +743,11 @@ def parse_layout_conf(repo_location, repo_name=None): cache_formats = layout_data.get('cache-formats', '').lower().split() 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. + # This behavior was deployed in portage-2.1.11.14, so that the + # default egencache format could eventually be changed to md5-dict + # in portage-2.1.11.32. WARNING: Versions prior to portage-2.1.11.14 + # will NOT recognize md5-dict format unless it is explicitly + # listed in layout.conf. cache_formats = [] if os.path.isdir(os.path.join(repo_location, 'metadata', 'md5-cache')): cache_formats.append('md5-dict') diff --git a/pym/portage/tests/dbapi/test_portdb_cache.py b/pym/portage/tests/dbapi/test_portdb_cache.py index 6526246e1..3290d08e5 100644 --- a/pym/portage/tests/dbapi/test_portdb_cache.py +++ b/pym/portage/tests/dbapi/test_portdb_cache.py @@ -51,8 +51,8 @@ class PortdbCacheTestCase(TestCase): """),), egencache_cmd + ("--update",), - (lambda: os.path.exists(pms_cache_dir),), - (lambda: not os.path.exists(md5_cache_dir),), + (lambda: not os.path.exists(pms_cache_dir),), + (lambda: os.path.exists(md5_cache_dir),), python_cmd + (textwrap.dedent(""" import os, sys, portage if portage.portdb.porttree_root not in portage.portdb._pregen_auxdb: @@ -60,8 +60,8 @@ class PortdbCacheTestCase(TestCase): """),), python_cmd + (textwrap.dedent(""" import os, sys, portage - from portage.cache.metadata import database as pms_database - if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.porttree_root], pms_database): + from portage.cache.flat_hash import md5_database + if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.porttree_root], md5_database): sys.exit(1) """),), -- cgit v1.2.3-1-g7c22