load_emerge_config: init portage.data earlier
authorZac Medico <zmedico@gentoo.org>
Fri, 9 Dec 2011 03:21:13 +0000 (19:21 -0800)
committerZac Medico <zmedico@gentoo.org>
Fri, 9 Dec 2011 03:21:13 +0000 (19:21 -0800)
The portage_uid initialization here must to happend before the
_init_dirs() calls.

pym/_emerge/actions.py

index 2849598d3712021db4c9d54786c7478aa8692ce5..54c97743da62bfe3ee10247fcf364faaa1fcd8d8 100644 (file)
@@ -2987,19 +2987,22 @@ def load_emerge_config(trees=None):
                        kwargs[k] = v
        trees = portage.create_trees(trees=trees, **kwargs)
 
-       for root, root_trees in trees.items():
-               settings = root_trees["vartree"].settings
-               settings._init_dirs()
-               setconfig = load_default_config(settings, root_trees)
-               root_trees["root_config"] = RootConfig(settings, root_trees, setconfig)
-
        settings = trees[trees._target_eroot]['vartree'].settings
        mtimedbfile = os.path.join(settings['EROOT'], portage.CACHE_PATH, "mtimedb")
        mtimedb = portage.MtimeDB(mtimedbfile)
        portage.output._init(config_root=settings['PORTAGE_CONFIGROOT'])
+       # The portage_uid initialization here must to happend before
+       # the _init_dirs() calls below.
        portage.data._init(settings)
        QueryCommand._db = trees
-       return settings, trees, mtimedb
+
+       for root, root_trees in trees.items():
+               settings = root_trees["vartree"].settings
+               settings._init_dirs()
+               setconfig = load_default_config(settings, root_trees)
+               root_trees["root_config"] = RootConfig(settings, root_trees, setconfig)
+       
+       return trees[trees._target_eroot]['vartree'].settings, trees, mtimedb
 
 def chk_updated_cfg_files(eroot, config_protect):
        target_root = eroot