For repoman, only cache the metadata necessary for visibility
authorZac Medico <zmedico@gentoo.org>
Mon, 7 Apr 2008 23:47:17 +0000 (23:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 7 Apr 2008 23:47:17 +0000 (23:47 -0000)
checks in order to reduce memory consumption.

svn path=/main/trunk/; revision=9743

bin/repoman

index 15f6b7d06facb72ad6d869cb6b64a6e3e5b2df7f..ad487fd8b211462ee467e620ba205bbc6ee4994d 100755 (executable)
@@ -470,6 +470,11 @@ trees = portage.create_trees()
 trees["/"]["porttree"].settings = repoman_settings
 portdb = trees["/"]["porttree"].dbapi
 portdb.mysettings = repoman_settings
+# We really only need to cache the metadata that's necessary for visibility
+# filtering. Anything else can be discarded to reduce memory consumption.
+for k in ("DEPEND", "IUSE", "LICENCE", "PDEPEND",
+       "PROVIDE", "RDEPEND", "RESTRICT", "repository"):
+       portdb._aux_cache_keys.discard(k)
 # dep_zapdeps looks at the vardbapi, but it shouldn't for repoman.
 del trees["/"]["vartree"]