So, looking for the solution to a different bug yesterday I figured out
why we're populating the package sacks any time we run any transaction.
in depsolve.py we have:
def _getTs(self):
"""setup all the transaction set storage items we'll need
This can't happen in __init__ b/c we don't know our installroot
yet"""
if self._tsInfo != None and self._ts != None:
return
if not self.conf.installroot:
raise Errors.YumBaseError, 'Setting up TransactionSets before
config class is up'
self._tsInfo = self._transactionDataFactory()
self._tsInfo.setDatabases(self.rpmdb, self.pkgSack)
self.initActionTs()
specifically this line:
self._tsInfo.setDatabases(self.rpmdb, self.pkgSack)
which guarantees that we have to populate the package sacks when
referring to them. Now, in a lot of normal cases this is fine b/c the
pkgSacks are already up and running. However, in erasures and
localinstalls it isn't always necessary.
Getting rid of this problem will require a fair bit of refactoring from
what I can determine - anyone else have any ideas?
-sv
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel