[yum-cvs] yum/yum depsolve.py, 1.71, 1.72 transactioninfo.py, 1.24, 1.25
Seth Vidal
skvidal at login.linux.duke.edu
Thu Dec 8 08:33:36 UTC 2005
- Previous message: [yum-cvs] yum/yum transactioninfo.py,1.23,1.24
- Next message: [yum-cvs] yum/yum mdcache.py, 1.5, 1.6 mdparser.py, 1.4, 1.5 packages.py, 1.40, 1.41 sqlitecache.py, 1.10, 1.11 sqlitesack.py, 1.26, 1.27
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv4375/yum
Modified Files:
depsolve.py transactioninfo.py
Log Message:
depsolve.py:
- new api for txmbr.setAsDep()
- fix minor indentation item
- label some fixmes and potential improvements
Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- depsolve.py 16 Nov 2005 03:04:30 -0000 1.71
+++ depsolve.py 8 Dec 2005 08:33:33 -0000 1.72
@@ -391,6 +391,8 @@
def _requiringFromInstalled(self, requiringPkg, requirement, errorlist):
"""processes the dependency resolution for a dep where the requiring
package is installed"""
+
+ # FIXME - should we think about dealing exclusively in package objects?
(name, arch, epoch, ver, rel) = requiringPkg
requiringPo = self.getInstalledPackageObject(requiringPkg)
@@ -449,11 +451,16 @@
self.log(5, 'Mode for pkg providing %s: %s' % (niceformatneed, needmode))
if needmode in ['e']:
- self.log(5, 'TSINFO: %s package requiring %s marked as erase' %
- (requiringPo, needname))
- txmbr = self.tsInfo.addErase(requiringPo)
- txmbr.setAsDep(pkgtup = needpkgtup)
- checkdeps = 1
+ self.log(5, 'TSINFO: %s package requiring %s marked as erase' %
+ (requiringPo, needname))
+ txmbr = self.tsInfo.addErase(requiringPo)
+
+ needpo = None
+ if needpkgtup:
+ needpo = self.getInstalledPackageObject(needpkgtup)
+
+ txmbr.setAsDep(po=needpo)
+ checkdeps = 1
if needmode in ['i', 'u']:
self.doUpdateSetup()
@@ -469,11 +476,14 @@
for pkgtup in obslist:
po = self.getPackageObject(pkgtup)
if po:
- for (new, old) in self.up.getObsoletesTuples():
+ for (new, old) in self.up.getObsoletesTuples(): # FIXME query the obsoleting_list now?
if po.pkgtup == new:
txmbr = self.tsInfo.addObsoleting(po, requiringPo)
self.tsInfo.addObsoleted(requiringPo, po)
- txmbr.setAsDep(pkgtup = needpkgtup)
+ needpo = None
+ if needpkgtup:
+ needpo = self.getPackageObject(needpkgtup)
+ txmbr.setAsDep(po=needpo)
self.log(5, 'TSINFO: Obsoleting %s with %s to resolve dep.' % (requiringPo, po))
checkdeps = 1
return checkdeps, missingdep
@@ -503,7 +513,11 @@
for (new, old) in self.up.getUpdatesTuples():
if po.pkgtup == new:
txmbr = self.tsInfo.addUpdate(po, requiringPo)
- txmbr.setAsDep(pkgtup = needpkgtup)
+ needpo = None
+ if needpkgtup:
+ needpo = self.getPackageObject(needpkgtup)
+ txmbr.setAsDep(po=needpo)
+
self.log(5, 'TSINFO: Updating %s to resolve dep.' % po)
checkdeps = 1
@@ -641,7 +655,8 @@
-
+ # FIXME - why can't we look up in the transaction set for the requiringPkg
+ # and know what needs it that way and provide a more sensible dep structure in the txmbr
if (best.name, best.arch) in self.rpmdb.getNameArchPkgList():
self.log(3, 'TSINFO: Marking %s as update for %s' % (best, name))
txmbr = self.tsInfo.addUpdate(best)
Index: transactioninfo.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/transactioninfo.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- transactioninfo.py 8 Dec 2005 08:00:36 -0000 1.24
+++ transactioninfo.py 8 Dec 2005 08:33:33 -0000 1.25
@@ -312,14 +312,14 @@
val = getattr(self.po, attr)
setattr(self, attr, val)
- def setAsDep(self, pkgtup=None):
+ def setAsDep(self, po=None):
"""sets the transaction member as a dependency and maps the dep into the
relationship list attribute"""
self.isDep = 1
if pkgtup:
- self.relatedto.append((pkgtup, 'dependson'))
- self.depends_on.append(pkgtup)
+ self.relatedto.append((po.pkgtup, 'dependson'))
+ self.depends_on.append(po)
def __cmp__(self, other):
if self.name > other.name:
- Previous message: [yum-cvs] yum/yum transactioninfo.py,1.23,1.24
- Next message: [yum-cvs] yum/yum mdcache.py, 1.5, 1.6 mdparser.py, 1.4, 1.5 packages.py, 1.40, 1.41 sqlitecache.py, 1.10, 1.11 sqlitesack.py, 1.26, 1.27
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Yum-cvs-commits
mailing list