summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-12-16 03:26:43 +0000
committerZac Medico <zmedico@gentoo.org>2006-12-16 03:26:43 +0000
commit5a61e60bf13dafcb56619e31c81f3620ce6c8a3c (patch)
tree3716d5dacbeac4aa5d60c6e9d6a6750d8a2e5105
parentc094f8aca0ab9ec363fc2c7221750f50d6708d1d (diff)
downloadportage-5a61e60bf13dafcb56619e31c81f3620ce6c8a3c.tar.gz
portage-5a61e60bf13dafcb56619e31c81f3620ce6c8a3c.tar.bz2
portage-5a61e60bf13dafcb56619e31c81f3620ce6c8a3c.zip
Make repoman cache per-profile xmatch results.
svn path=/main/trunk/; revision=5301
-rwxr-xr-xbin/repoman8
1 files changed, 6 insertions, 2 deletions
diff --git a/bin/repoman b/bin/repoman
index a3a8d96e7..adb9e6b83 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1136,13 +1136,16 @@ for x in scanlist:
profdir = portdir+"/profiles/"+prof[0]
if prof[0] in arch_caches:
- dep_settings = arch_caches[prof[0]]
+ dep_settings, xcache = arch_caches[prof[0]]
else:
dep_settings = portage.config(
config_profile_path=profdir,
config_incrementals=portage_const.INCREMENTALS,
local_config=False)
- arch_caches[prof[0]] = dep_settings
+ portdb.melt()
+ portdb.freeze()
+ xcache = portdb.xcache
+ arch_caches[prof[0]] = (dep_settings, xcache)
while True:
try:
# Protect ACCEPT_KEYWORDS from config.regenerate()
@@ -1153,6 +1156,7 @@ for x in scanlist:
trees["/"]["porttree"].settings = dep_settings
portdb.mysettings = dep_settings
+ portdb.xcache = xcache
# for package.use.mask support inside dep_check
dep_settings.setcpv("/".join((catdir, y)))
dep_settings["ACCEPT_KEYWORDS"] = " ".join(groups)