From 89664c0c4280372be5b593880c2ac5ccc695f688 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 18 Sep 2011 16:45:20 -0700 Subject: env_update: add more vardbapi fallback code For API consumers that call this function without the vardbapi parameter, it whould continue to work correctly in all the cases that worked before the vardbapi was added. --- pym/portage/util/env_update.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pym/portage/util/env_update.py b/pym/portage/util/env_update.py index 78bef82fa..65ed2dbe1 100644 --- a/pym/portage/util/env_update.py +++ b/pym/portage/util/env_update.py @@ -47,7 +47,15 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None, contents=None, else: if target_root is None: target_root = portage.settings["ROOT"] - vardbapi = portage.db[target_root]["vartree"].dbapi + if hasattr(portage, "db") and target_root in portage.db: + vardbapi = portage.db[target_root]["vartree"].dbapi + else: + settings = config(config_root=target_root, + target_root=target_root) + target_root = settings["ROOT"] + if env is None: + env = settings + vardbapi = vartree(settings=settings).dbapi # Lock the config memory file to prevent symlink creation # in merge_contents from overlapping with env-update. -- cgit v1.2.3-1-g7c22