[yum-git] yum/__init__.py
James Antill
james at linux.duke.edu
Sat Feb 16 22:28:54 UTC 2008
yum/__init__.py | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
New commits:
commit 1cb65571b7adfda1918e780caa6b561fca066a12
Author: James Antill <james at and.org>
Date: Sat Feb 16 17:28:47 2008 -0500
Merge some duplicate code
diff --git a/yum/__init__.py b/yum/__init__.py
index 7491e8b..16ce1c7 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -636,6 +636,16 @@ class YumBase(depsolve.Depsolve):
def _skipPackagesWithProblems(self, rescode, restring):
''' Remove the packages with depsolve errors and depsolve again '''
+
+ def _remove(po, depTree, toRemove):
+ if not po:
+ return
+ self._getPackagesToRemove(po, depTree, toRemove)
+ # Only remove non installed packages from pkgSack
+ if not po.repoid == 'installed':
+ self.pkgSack.delPackage(po)
+ self.up.delPackage(po.pkgtup)
+
# Keep removing packages & Depsolve until all errors is gone
# or the transaction is empty
count = 0
@@ -650,16 +660,9 @@ class YumBase(depsolve.Depsolve):
for po,wpo,err in self.po_with_problems:
# check if the problem is caused by a package in the transaction
if not self.tsInfo.exists(po.pkgtup):
- if wpo:
- self._getPackagesToRemove(wpo, depTree, toRemove)
- if not wpo.repoid == 'installed': # Only remove non installed packages from pkgSack
- self.pkgSack.delPackage(wpo)
- self.up.delPackage(wpo.pkgtup)
+ _remove(wpo, depTree, toRemove)
else:
- self._getPackagesToRemove(po, depTree, toRemove)
- if not po.repoid == 'installed': # Only remove non installed packages from pkgSack
- self.pkgSack.delPackage(po)
- self.up.delPackage(po.pkgtup)
+ _remove(po, depTree, toRemove)
for po in toRemove:
skipped = self._skipFromTransaction(po)
for skip in skipped:
More information about the Yum-cvs-commits
mailing list