Make repoman cache per-profile xmatch results.
authorZac Medico <zmedico@gentoo.org>
Sat, 16 Dec 2006 03:26:43 +0000 (03:26 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 16 Dec 2006 03:26:43 +0000 (03:26 -0000)
svn path=/main/trunk/; revision=5301

bin/repoman

index a3a8d96e7ae8aba804673ac61db72c3112037ae5..adb9e6b8377358b8e4654265eb9dc22d71a24f7f 100755 (executable)
@@ -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)