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]
 

Reply via email to