commit: eb81c8081ae53e862f9f0f82c6119f936ca896e7 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Tue Aug 7 18:29:51 2018 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Tue Aug 7 18:34:29 2018 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=eb81c808
action_metadata: refresh eclass cache (bug 663022) After sync, the eclass cache can contain stale data, therefore use the update_eclasses method to refresh it. Bug: https://bugs.gentoo.org/663022 lib/portage/metadata.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/portage/metadata.py b/lib/portage/metadata.py index 1abec5a89..ffb7672d3 100644 --- a/lib/portage/metadata.py +++ b/lib/portage/metadata.py @@ -50,8 +50,10 @@ def action_metadata(settings, portdb, myopts, porttrees=None): src_db = portdb._create_pregen_cache(path) if src_db is not None: - porttrees_data.append(TreeData(portdb.auxdb[path], - portdb.repositories.get_repo_for_location(path).eclass_db, path, src_db)) + eclass_db = portdb.repositories.get_repo_for_location(path).eclass_db + # Update eclass data which may be stale after sync. + eclass_db.update_eclasses() + porttrees_data.append(TreeData(portdb.auxdb[path], eclass_db, path, src_db)) porttrees = [tree_data.path for tree_data in porttrees_data]