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

Reply via email to