From 0f60052eb01aedb8fa95c1299cac7a58f91ba40f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 23 Apr 2006 20:52:18 +0000 Subject: Move portage.global_updates() invocation out of portage.py and into emerge/fixpackages where it belongs. svn path=/main/trunk/; revision=3201 --- pym/portage.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'pym') diff --git a/pym/portage.py b/pym/portage.py index e0e178c81..e9b965c7f 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -6498,11 +6498,11 @@ def getvirtuals(myroot): def do_vartree(mysettings): global db, root, settings - db["/"] = portage_util.LazyItemsDict() + db["/"] = portage_util.LazyItemsDict(db.get("/", None)) db["/"].addLazySingleton("virtuals", settings.getvirtuals, "/") db["/"]["vartree"] = vartree("/") if root!="/": - db[root] = portage_util.LazyItemsDict() + db[root] = portage_util.LazyItemsDict(db.get(root, None)) db[root].addLazySingleton("virtuals", settings.getvirtuals, root) db[root]["vartree"] = vartree(root) #We need to create the vartree first, then load our settings, and then set up our other trees @@ -6738,6 +6738,11 @@ def update_config_files(update_iter): continue def global_updates(): + """Perform new global updates if they exist in $PORTDIR/profiles/updates/.""" + # only do this if we're root and not running repoman/ebuild digest + global db, mtimedb, secpass, settings + if secpass < 2 or "SANDBOX_ACTIVE" in os.environ: + return updpath = os.path.join(settings["PORTDIR"], "profiles", "updates") if not mtimedb.has_key("updates"): mtimedb["updates"] = {} @@ -6805,17 +6810,13 @@ def global_updates(): #make sure our internal databases are consistent; recreate our virts and vartree do_vartree(settings) + db["/"].addLazyItem("bintree", LazyBintreeItem("/")) if do_upgrade_packagesmessage and \ listdir(os.path.join(settings["PKGDIR"], "All"), EmptyOnError=1): writemsg_stdout(" ** Skipping packages. Run 'fixpackages' or set it in FEATURES to fix the") writemsg_stdout("\n tbz2's in the packages directory. "+bold("Note: This can take a very long time.")) writemsg_stdout("\n") -if (secpass==2) and (not os.environ.has_key("SANDBOX_ACTIVE")): - if settings["PORTAGE_CALLER"] in ["emerge","fixpackages"]: - #only do this if we're root and not running repoman/ebuild digest - global_updates() - #continue setting up other trees class LazyBintreeItem(object): """This class implements lazy construction of db[root]["bintree"].""" -- cgit v1.2.3-1-g7c22