From: Zac Medico Date: Sun, 18 Sep 2011 23:45:20 +0000 (-0700) Subject: env_update: add more vardbapi fallback code X-Git-Tag: v2.2.0_alpha59~2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=89664c0c4280372be5b593880c2ac5ccc695f688;p=portage.git 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. --- 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.