[yum-cvs] yum-utils/plugins/skip-broken skip-broken.py,1.6,1.7
Tim Lauridsen
timlau at linux.duke.edu
Wed Mar 14 14:19:24 UTC 2007
Update of /home/groups/yum/cvs/yum-utils/plugins/skip-broken
In directory login1.linux.duke.edu:/tmp/cvs-serv31520/plugins/skip-broken
Modified Files:
skip-broken.py
Log Message:
Make the skip-broken a little smarter and the make the output better.
Index: skip-broken.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/plugins/skip-broken/skip-broken.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- skip-broken.py 13 Mar 2007 11:42:46 -0000 1.6
+++ skip-broken.py 14 Mar 2007 14:19:22 -0000 1.7
@@ -50,20 +50,34 @@
saveTs = copy.copy(self.base.tsInfo)
goodlist = []
badlist = []
+ self.resetTs()
+ goodTs = copy.copy(self.base.tsInfo)
for txmbr in saveTs:
+ # check if the member already has been marked as ok
+ if goodTs.exists(txmbr.po.pkgtup):
+ continue
self.resetTs()
po = txmbr.po
state = txmbr.output_state
+ self.logger(2,"**** Checking for dep problems : %s " % str(txmbr.po))
self.base.tsInfo.add(txmbr)
(rescode, restring) = self.base.resolveDeps()
# Did the resolveDeps want ok ?
if rescode == 2:
+ # transfer all member in this transaction to a good ts.
+ for good in self.base.tsInfo:
+ if not goodTs.exists(good.po.pkgtup):
+ self.logger(2,"**** OK : %s" % str(good))
+ goodTs.add(good)
goodlist.append(txmbr)
else:
+ self.logger(2,"**** Failed ")
+ for err in restring:
+ self.logger(2,"**** %s " % err)
badlist.append([txmbr,restring])
# Restore self.tsInfo
self.resetTs()
- self.base.tsInfo = saveTs
+ self.base.tsInfo = goodTs
return goodlist,badlist
def dumpTsInfo(self):
@@ -101,20 +115,23 @@
if hasattr(opts,'skipbroken'):
if opts.skipbroken or check_always:
# get yum base
- conduit.info(2,'Checking packages for dependency problems')
+ conduit.info(2,'**** Checking packages for dependency problems')
base = conduit._base
cd = CheckDependency(base,conduit.info)
cd.dumpTsInfo()
(good,bad) = cd.preDepCheck()
- tsInfo = base.tsInfo
+ #tsInfo = base.tsInfo
+ conduit.info(2,"**** Packages with dependency resolving errors ")
+
for txmbr,err in bad:
# Removing bad packages for self.tsInfo
- tsInfo.remove(txmbr.po.pkgtup)
- conduit.info(2,"%s failed dependency resolving " % txmbr.po)
- conduit.info(2,"%s " % err[0])
+ #tsInfo.remove(txmbr.po.pkgtup)
+ conduit.info(2,"**** %s " % txmbr.po)
+ for e in err:
+ conduit.info(2,"**** %s " % 2)
for txmbr in good:
- conduit.info(3,"%s completed dependency resolving " % txmbr.po)
+ conduit.info(3,"**** %s completed dependency resolving " % txmbr.po)
# Show the current state of y.tsInfo
- conduit.info(2,'End Checking packages for dependency problems')
- cd.dumpTsInfo()
+ conduit.info(2,'**** End Checking packages for dependency problems')
+ #cd.dumpTsInfo()
\ No newline at end of file
More information about the Yum-cvs-commits
mailing list