[yum-git] rpmUtils/miscutils.py test/depsolvetests.py test/operationstests.py test/packagetests.py test/simpleobsoletestests.py test/simpleupdatetests.py test/skipbroken-tests.py test/testbase.py yum/depsolve.py yum/packages.py yum/sqlitesack.py
Florian Festi
ffesti at linux.duke.edu
Mon May 26 09:49:47 UTC 2008
rpmUtils/miscutils.py | 46 +++++++----------
test/depsolvetests.py | 114 +++++++++++++++++++++----------------------
test/operationstests.py | 10 +--
test/packagetests.py | 60 +++++++++++-----------
test/simpleobsoletestests.py | 6 +-
test/simpleupdatetests.py | 8 +--
test/skipbroken-tests.py | 36 ++++++-------
test/testbase.py | 16 +++++-
yum/depsolve.py | 14 +----
yum/packages.py | 6 +-
yum/sqlitesack.py | 16 ++++--
11 files changed, 171 insertions(+), 161 deletions(-)
New commits:
commit febe35eee130212380e5688bd119f19a032d74fc
Author: Florian Festi <ffesti at redhat.com>
Date: Fri May 23 16:05:00 2008 +0200
Make sure rpm.RPMSENSE_* int constants are used as flags in PRCOs.
Added short hand constants to testbase
Adjusted the test cases
diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
index 64e232e..606aea0 100644
--- a/rpmUtils/miscutils.py
+++ b/rpmUtils/miscutils.py
@@ -129,7 +129,7 @@ def rangeCheck(reqtuple, pkgtuple):
# nameonly shouldn't ever raise it
#(reqn, reqf, (reqe, reqv, reqr)) = reqtuple
(n, a, e, v, r) = pkgtuple
- return rangeCompare(reqtuple, (n, 'EQ', (e, v, r)))
+ return rangeCompare(reqtuple, (n, rpm.RPMSENSE_EQUAL, (e, v, r)))
def rangeCompare(reqtuple, provtuple):
"""returns true if provtuple satisfies reqtuple"""
@@ -141,6 +141,9 @@ def rangeCompare(reqtuple, provtuple):
if f is None or reqf is None:
return 1
+ if isinstance(f, str) or isinstance(reqf, str):
+ raise ValueError, "%r %r" % (f, reqf)
+
# and you thought we were done having fun
# if the requested release is left out then we have
# to remove release from the package prco to make sure the match
@@ -161,42 +164,33 @@ def rangeCompare(reqtuple, provtuple):
# does not match unless
if rc >= 1:
- if reqf in ['GT', 'GE', 4, 12]:
+ if reqf & rpm.RPMSENSE_GREATER:
return 1
- if reqf in ['EQ', 8]:
- if f in ['LE', 10]:
+ if reqf == rpm.RPMSENSE_EQUAL:
+ if f == (rpm.RPMSENSE_LESS|rpm.RPMSENSE_EQUAL):
return 1
if rc == 0:
- if reqf in ['GT', 4]:
- if f in ['GT', 'GE', 4, 12]:
+ if reqf == rpm.RPMSENSE_GREATER:
+ if f & rpm.RPMSENSE_GREATER:
return 1
- if reqf in ['GE', 12]:
- if f in ['GT', 'GE', 'EQ', 'LE', 4, 12, 8, 10]:
+ if reqf == (rpm.RPMSENSE_GREATER|rpm.RPMSENSE_EQUAL):
+ if f != rpm.RPMSENSE_LESS:
return 1
- if reqf in ['EQ', 8]:
- if f in ['EQ', 'GE', 'LE', 8, 12, 10]:
+ if reqf == rpm.RPMSENSE_EQUAL:
+ if f & rpm.RPMSENSE_EQUAL:
return 1
- if reqf in ['LE', 10]:
- if f in ['EQ', 'LE', 'LT', 'GE', 8, 10, 2, 12]:
+ if reqf == (rpm.RPMSENSE_LESS|rpm.RPMSENSE_EQUAL):
+ if f != rpm.RPMSENSE_GREATER:
return 1
- if reqf in ['LT', 2]:
- if f in ['LE', 'LT', 10, 2]:
+ if reqf == rpm.RPMSENSE_LESS:
+ if f & rpm.RPMSENSE_LESS:
return 1
if rc <= -1:
- if reqf in ['GT', 'GE', 'EQ', 4, 12, 8]:
- if f in ['GT', 'GE', 4, 12]:
+ if not (reqf & rpm.RPMSENSE_LESS):
+ if f & rpm.RPMSENSE_GREATER:
return 1
- if reqf in ['LE', 'LT', 10, 2]:
+ if reqf & rpm.RPMSENSE_LESS:
return 1
-# if rc >= 1:
-# if reqf in ['GT', 'GE', 4, 12]:
-# return 1
-# if rc == 0:
-# if reqf in ['GE', 'LE', 'EQ', 8, 10, 12]:
-# return 1
-# if rc <= -1:
-# if reqf in ['LT', 'LE', 2, 10]:
-# return 1
return 0
diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index 3f8c748..3e445ba 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -64,7 +64,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer1NotProvided(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', (None, '1.3', '2'))
+ po.addRequires('zip', EQ, (None, '1.3', '2'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.0', '2', None, 'i386')
@@ -74,7 +74,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer1Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', (None, '1.3', '2'))
+ po.addRequires('zip', EQ, (None, '1.3', '2'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '2', None, 'i386')
@@ -85,7 +85,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer2NotProvided(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', (None, '1.3', '4'))
+ po.addRequires('zip', EQ, (None, '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '2', None, 'i386')
@@ -95,7 +95,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer2Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', (None, '1.3', '4'))
+ po.addRequires('zip', EQ, (None, '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', None, 'i386')
@@ -106,7 +106,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer3NotProvided(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'GE', ('1', '1.3', '4'))
+ po.addRequires('zip', GE, ('1', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '0', 'i386')
@@ -116,7 +116,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer3Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'GE', ('2', '1.3', '4'))
+ po.addRequires('zip', GE, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
@@ -127,7 +127,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer4NotProvided(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
@@ -137,7 +137,7 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireVer4_1Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.0', '4', '2', 'i386')
@@ -147,7 +147,7 @@ class DepsolveTests(DepsolveTests):
self.assertResult((po, ipo))
def testInstallSinglePackageRequireVer4_2Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '3', '2', 'i386')
@@ -157,7 +157,7 @@ class DepsolveTests(DepsolveTests):
self.assertResult((po, ipo))
def testInstallSinglePackageRequireVer4_3Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', None, 'i386')
@@ -167,7 +167,7 @@ class DepsolveTests(DepsolveTests):
self.assertResult((po, ipo))
def testInstallSinglePackageRequireVer4_4Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '1', 'i386')
@@ -177,7 +177,7 @@ class DepsolveTests(DepsolveTests):
self.assertResult((po, ipo))
def testInstallSinglePackageRequireVer4_5Installed(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'LT', ('2', '1.3', '4'))
+ po.addRequires('zip', LT, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '0.3', '4', '2', 'i386')
@@ -188,8 +188,8 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireXtraBadVer(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('2', '1.3', '4'))
- po.addRequires('zap', 'EQ', ('2', '1.3', '4'))
+ po.addRequires('zip', EQ, ('2', '1.3', '4'))
+ po.addRequires('zap', EQ, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
@@ -202,8 +202,8 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireXtra(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('2', '1.3', '4'))
- po.addRequires('zap', 'EQ', ('4', '2.6', '8'))
+ po.addRequires('zip', EQ, ('2', '1.3', '4'))
+ po.addRequires('zap', EQ, ('4', '2.6', '8'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
@@ -217,11 +217,11 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireInstalledRequireXtra(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('2', '1.3', '4'))
+ po.addRequires('zip', EQ, ('2', '1.3', '4'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
- ipo.addRequires('zap', 'EQ', ('4', '2.6', '8'))
+ ipo.addRequires('zap', EQ, ('4', '2.6', '8'))
self.rpmdb.addPackage(ipo)
xpo = FakePackage('zap', '2.6', '8', '4', 'i386')
@@ -232,33 +232,33 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireUpgradeRequireXtraErr(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('4', '2.6', '8'))
+ po.addRequires('zip', EQ, ('4', '2.6', '8'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
- ipo.addRequires('zap', 'EQ', ('2', '1.3', '3'))
+ ipo.addRequires('zap', EQ, ('2', '1.3', '3'))
self.rpmdb.addPackage(ipo)
xpo = FakePackage('zip', '2.6', '8', '4', 'i386')
- xpo.addRequires('zap', 'EQ', ('2', '1.3', '4'))
+ xpo.addRequires('zap', EQ, ('2', '1.3', '4'))
self.xsack.addPackage(xpo)
xpo = FakePackage('zap', '1.3', '4', '2', 'i386')
- xpo.addRequires('zsh', 'EQ', ('2', '4', '8'))
+ xpo.addRequires('zsh', EQ, ('2', '4', '8'))
self.xsack.addPackage(xpo)
self.assertEquals('err', *self.resolveCode())
def testInstallSinglePackageRequireUpgradeRequireXtraOk(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('4', '2.6', '8'))
+ po.addRequires('zip', EQ, ('4', '2.6', '8'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '4', '2', 'i386')
- ipo.addRequires('zap', 'EQ', ('2', '1.3', '3'))
+ ipo.addRequires('zap', EQ, ('2', '1.3', '3'))
self.rpmdb.addPackage(ipo)
xpo = FakePackage('zip', '2.6', '8', '4', 'i386')
- xpo.addRequires('zap', 'EQ', ('2', '1.3', '4'))
+ xpo.addRequires('zap', EQ, ('2', '1.3', '4'))
self.xsack.addPackage(xpo)
xpo2 = FakePackage('zap', '1.3', '4', '2', 'i386')
self.xsack.addPackage(xpo2)
@@ -268,11 +268,11 @@ class DepsolveTests(DepsolveTests):
def testInstallSinglePackageRequireMultiXtra(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', ('4', '2.6', '8'))
+ po.addRequires('zip', EQ, ('4', '2.6', '8'))
self.tsInfo.addInstall(po)
xpo = FakePackage('zip', '2.6', '8', '4', 'i386')
- xpo.addRequires('zap', 'EQ', ('2', '1.3', '4'))
+ xpo.addRequires('zap', EQ, ('2', '1.3', '4'))
self.xsack.addPackage(xpo)
xpo2 = FakePackage('zap', '1.3', '4', '2', 'i386')
@@ -346,7 +346,7 @@ class DepsolveTests(DepsolveTests):
def testUpdateForDependency(self):
po = FakePackage('zsh', '1', '1', '0', 'i386')
- po.addRequires('zip', 'EQ', ('0', '2', '1'))
+ po.addRequires('zip', EQ, ('0', '2', '1'))
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
@@ -360,18 +360,18 @@ class DepsolveTests(DepsolveTests):
def testUpdateSplitPackage(self):
po = FakePackage('zsh', '1', '1', '0', 'i386')
- po.addRequires('libzip', 'EQ', ('0', '2', '1'))
+ po.addRequires('libzip', EQ, ('0', '2', '1'))
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
- installedpo.addProvides('libzip', 'EQ', ('0', '1', '1'))
+ installedpo.addProvides('libzip', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(installedpo)
updatepo = FakePackage('zip', '2', '1', '0', 'i386')
- updatepo.addRequires('zip-libs', 'EQ', ('0', '2', '1'))
+ updatepo.addRequires('zip-libs', EQ, ('0', '2', '1'))
self.xsack.addPackage(updatepo)
updatepo2 = FakePackage('zip-libs', '2', '1', '0', 'i386')
- updatepo2.addProvides('libzip', 'EQ', ('0', '2', '1'))
+ updatepo2.addProvides('libzip', EQ, ('0', '2', '1'))
self.xsack.addPackage(updatepo2)
self.assertEquals('ok', *self.resolveCode())
@@ -442,7 +442,7 @@ class DepsolveTests(DepsolveTests):
def testUpdateForConflict(self):
po = FakePackage('zsh', '1', '1', '0', 'i386')
- po.addConflicts('zip', 'LE', ('0', '1', '1'))
+ po.addConflicts('zip', LE, ('0', '1', '1'))
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
@@ -459,7 +459,7 @@ class DepsolveTests(DepsolveTests):
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
- installedpo.addConflicts('zsh', 'LE', ('0', '1', '1'))
+ installedpo.addConflicts('zsh', LE, ('0', '1', '1'))
self.rpmdb.addPackage(installedpo)
updatepo = FakePackage('zip', '2', '1', '0', 'i386')
@@ -470,11 +470,11 @@ class DepsolveTests(DepsolveTests):
def testUpdateForConflictProvide(self):
po = FakePackage('zsh', '1', '1', '0', 'i386')
- po.addConflicts('zippy', 'LE', ('0', '1', '1'))
+ po.addConflicts('zippy', LE, ('0', '1', '1'))
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
- installedpo.addProvides('zippy', 'EQ', ('0', '1', '1'))
+ installedpo.addProvides('zippy', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(installedpo)
updatepo = FakePackage('zip', '2', '1', '0', 'i386')
@@ -485,17 +485,17 @@ class DepsolveTests(DepsolveTests):
def testUpdateForConflictProvide2(self):
po = FakePackage('zsh', '1', '1', '0', 'i386')
- po.addProvides('zippy', 'EQ', ('0', '2', '1'))
+ po.addProvides('zippy', EQ, ('0', '2', '1'))
self.tsInfo.addInstall(po)
installedpo = FakePackage('zip', '1', '1', '0', 'i386')
- installedpo.addConflicts('zippy', 'GT', ('0', '1', '1'))
- installedpo.addConflicts('zippy', 'LT', ('0', '1', '1'))
+ installedpo.addConflicts('zippy', GT, ('0', '1', '1'))
+ installedpo.addConflicts('zippy', LT, ('0', '1', '1'))
self.rpmdb.addPackage(installedpo)
updatepo = FakePackage('zip', '2', '1', '0', 'i386')
- updatepo.addConflicts('zippy', 'GT', ('0', '2', '1'))
- updatepo.addConflicts('zippy', 'LT', ('0', '2', '1'))
+ updatepo.addConflicts('zippy', GT, ('0', '2', '1'))
+ updatepo.addConflicts('zippy', LT, ('0', '2', '1'))
self.xsack.addPackage(updatepo)
self.assertEquals('ok', *self.resolveCode())
@@ -785,13 +785,13 @@ class DepsolveTests(DepsolveTests):
def testMultiPkgVersions1(self):
ipo1 = FakePackage('abcd', arch='noarch')
- ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+ ipo1.addRequires('Foo', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(ipo1)
ipo2 = FakePackage('Foo', arch='noarch')
self.rpmdb.addPackage(ipo2)
xpo = FakePackage('abcd', version='2', arch='noarch')
- xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+ xpo.addRequires('Foo', GE, ('0', '2', '1'))
self.tsInfo.addUpdate(xpo, oldpo=ipo1)
po1 = FakePackage('Foo', arch='noarch')
@@ -806,13 +806,13 @@ class DepsolveTests(DepsolveTests):
def testMultiPkgVersions2(self):
ipo1 = FakePackage('abcd', arch='i586')
- ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+ ipo1.addRequires('Foo', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(ipo1)
ipo2 = FakePackage('Foo', arch='i586')
self.rpmdb.addPackage(ipo2)
xpo = FakePackage('abcd', version='2', arch='i586')
- xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+ xpo.addRequires('Foo', GE, ('0', '2', '1'))
self.tsInfo.addUpdate(xpo, oldpo=ipo1)
po1 = FakePackage('Foo', arch='i586')
@@ -827,13 +827,13 @@ class DepsolveTests(DepsolveTests):
def testMultiPkgVersions3(self):
ipo1 = FakePackage('abcd', arch='i586')
- ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+ ipo1.addRequires('Foo', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(ipo1)
ipo2 = FakePackage('Foo', arch='i586')
self.rpmdb.addPackage(ipo2)
xpo = FakePackage('abcd', version='2', arch='i586')
- xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+ xpo.addRequires('Foo', GE, ('0', '2', '1'))
self.tsInfo.addUpdate(xpo, oldpo=ipo1)
po1 = FakePackage('Foo', arch='i586')
@@ -851,13 +851,13 @@ class DepsolveTests(DepsolveTests):
def testMultiPkgVersions4(self):
ipo1 = FakePackage('abcd', arch='i386')
- ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+ ipo1.addRequires('Foo', EQ, ('0', '1', '1'))
self.rpmdb.addPackage(ipo1)
ipo2 = FakePackage('Foo', arch='i386')
self.rpmdb.addPackage(ipo2)
xpo = FakePackage('abcd', version='2', arch='i386')
- xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+ xpo.addRequires('Foo', GE, ('0', '2', '1'))
self.tsInfo.addUpdate(xpo, oldpo=ipo1)
po1 = FakePackage('Foo', arch='i386')
@@ -880,12 +880,12 @@ class DepsolveTests(DepsolveTests):
self.tsInfo.addInstall(xpo)
po1 = FakePackage('unison213', version='2.13.16', release='9')
- po1.addProvides('unison', 'EQ', ('0', '2.13.16', '9'))
- po1.addObsoletes('unison', 'LT', ('0', '2.27.57', '3'))
+ po1.addProvides('unison', EQ, ('0', '2.13.16', '9'))
+ po1.addObsoletes('unison', LT, ('0', '2.27.57', '3'))
self.xsack.addPackage(po1)
po2 = FakePackage('unison227', version='2.27.57', release='7')
- po2.addProvides('unison', 'EQ', ('0', '2.27.57', '7'))
- po2.addObsoletes('unison', 'LT', ('0', '2.27.57', '3'))
+ po2.addProvides('unison', EQ, ('0', '2.27.57', '7'))
+ po2.addObsoletes('unison', LT, ('0', '2.27.57', '3'))
self.xsack.addPackage(po2)
self.assertEquals('ok', *self.resolveCode())
@@ -897,11 +897,11 @@ class DepsolveTests(DepsolveTests):
self.tsInfo.addInstall(xpo)
po1 = FakePackage('unison213', version='2.13.16', release='9')
- po1.addProvides('unison', 'EQ', ('0', '2.13.16', '9'))
- po1.addObsoletes('unison', 'LT', ('0', '2.27.57', '3'))
+ po1.addProvides('unison', EQ, ('0', '2.13.16', '9'))
+ po1.addObsoletes('unison', LT, ('0', '2.27.57', '3'))
po2 = FakePackage('unison227', version='2.27.57', release='7')
- po2.addProvides('unison', 'EQ', ('0', '2.27.57', '7'))
- po2.addObsoletes('unison', 'LT', ('0', '2.27.57', '3'))
+ po2.addProvides('unison', EQ, ('0', '2.27.57', '7'))
+ po2.addObsoletes('unison', LT, ('0', '2.27.57', '3'))
self.xsack.addPackage(po2)
self.xsack.addPackage(po1)
diff --git a/test/operationstests.py b/test/operationstests.py
index 12a1627..71d311f 100644
--- a/test/operationstests.py
+++ b/test/operationstests.py
@@ -9,7 +9,7 @@ class ComplicatedTests(OperationsTests):
simpleobsoletestests.SimpleObsoletesTests.buildPkgs(pkgs)
# conflicts
pkgs.conflicts = FakePackage('super-zippy', '0.3', '1', '0', 'i386')
- pkgs.conflicts.addConflicts('zsh', 'EQ', ('0', '1', '1'))
+ pkgs.conflicts.addConflicts('zsh', EQ, ('0', '1', '1'))
def testObsoleteForConflict(self):
p = self.pkgs
@@ -31,11 +31,11 @@ class CombinedUpdateObsoletesTest(OperationsTests):
pkgs.kdevel_2 = FakePackage('k-devel', '3.5', '2')
pkgs.kdevel_2.addRequires('k')
pkgs.klibs_2_i386 = FakePackage('klibs', '3.5', '2', arch='i386')
- pkgs.klibs_2_i386.addObsoletes('klibs', 'LT', (None, '3.5', '2'))
- pkgs.klibs_2_i386.addObsoletes('k', 'LT', (None, '3.5', '2'))
+ pkgs.klibs_2_i386.addObsoletes('klibs', LT, (None, '3.5', '2'))
+ pkgs.klibs_2_i386.addObsoletes('k', LT, (None, '3.5', '2'))
pkgs.klibs_2_x86_64 = FakePackage('klibs', '3.5', '2', arch='x86_64')
- pkgs.klibs_2_x86_64.addObsoletes('klibs', 'LT', (None, '3.5', '2'))
- pkgs.klibs_2_x86_64.addObsoletes('k', 'LT', (None, '3.5', '2'))
+ pkgs.klibs_2_x86_64.addObsoletes('klibs', LT, (None, '3.5', '2'))
+ pkgs.klibs_2_x86_64.addObsoletes('k', LT, (None, '3.5', '2'))
def testSelfObsolete(self):
p = self.pkgs
diff --git a/test/packagetests.py b/test/packagetests.py
index 628247d..44946de 100644
--- a/test/packagetests.py
+++ b/test/packagetests.py
@@ -3,89 +3,90 @@ import settestpath
from yum import packages
from rpmUtils import miscutils
+from testbase import *
class InPrcoRangePackageTests(unittest.TestCase):
def setUp(self):
self.po = packages.RpmBase()
self.po.rel = 10
- self.po.prco['provides'].append(("seth", "EQ", (1, 2, 3)))
- self.po.prco['requires'].append(("foo", "GE", (4, 5, None)))
+ self.po.prco['provides'].append(("seth", EQ, (1, 2, 3)))
+ self.po.prco['requires'].append(("foo", GE, (4, 5, None)))
def testRequiresEqPass(self):
- dep = ("foo", "EQ", (4, 5, 0))
+ dep = ("foo", EQ, (4, 5, 0))
self.assertTrue(self.po.inPrcoRange('requires', dep))
def testRequiresEqFailGt(self):
- dep = ("foo", "EQ", (4, 4, 0))
+ dep = ("foo", EQ, (4, 4, 0))
self.assertFalse(self.po.inPrcoRange('requires', dep))
def testProvidesGePass(self):
- dep = ("seth", "GE", (1, 0, 0))
+ dep = ("seth", GE, (1, 0, 0))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesGePassWithEqual(self):
- dep = ("seth", "GE", (1, 2, 3))
+ dep = ("seth", GE, (1, 2, 3))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesGeFailOnEpoch(self):
- dep = ("seth", "GE", (2, 0, 0))
+ dep = ("seth", GE, (2, 0, 0))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesGeFailOnVersion(self):
- dep = ("seth", "GE", (1, 3, 0))
+ dep = ("seth", GE, (1, 3, 0))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesGeFailOnRelease(self):
- dep = ("seth", "GE", (1, 2, 4))
+ dep = ("seth", GE, (1, 2, 4))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesGtPass(self):
- dep = ("seth", "GT", (1, 0, 0))
+ dep = ("seth", GT, (1, 0, 0))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesGtFail(self):
- dep = ("seth", "GT", (1, 2, 4))
+ dep = ("seth", GT, (1, 2, 4))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesGtFailOnEqual(self):
- dep = ("seth", "GT", (1, 2, 3))
+ dep = ("seth", GT, (1, 2, 3))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesEqPass(self):
- dep = ("seth", "EQ", (1, 2, 3))
+ dep = ("seth", EQ, (1, 2, 3))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesEqFailGt(self):
- dep = ("seth", "EQ", (1, 2, 0))
+ dep = ("seth", EQ, (1, 2, 0))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesEqFailLt(self):
- dep = ("seth", "EQ", (1, 2, 4))
+ dep = ("seth", EQ, (1, 2, 4))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesLePassEq(self):
- dep = ("seth", "LE", (1, 2, 3))
+ dep = ("seth", LE, (1, 2, 3))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesLePassGt(self):
- dep = ("seth", "LE", (1, 5, 2))
+ dep = ("seth", LE, (1, 5, 2))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesLeFail(self):
- dep = ("seth", "LE", (0, 2, 2))
+ dep = ("seth", LE, (0, 2, 2))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesLtPass(self):
- dep = ("seth", "LT", (1, 2, 6))
+ dep = ("seth", LT, (1, 2, 6))
self.assertTrue(self.po.inPrcoRange('provides', dep))
def testProvidesLtFailEq(self):
- dep = ("seth", "LT", (1, 2, 3))
+ dep = ("seth", LT, (1, 2, 3))
self.assertFalse(self.po.inPrcoRange('provides', dep))
def testProvidesLtFailGt(self):
- dep = ("seth", "LT", (1, 0, 2))
+ dep = ("seth", LT, (1, 0, 2))
self.assertFalse(self.po.inPrcoRange('provides', dep))
@@ -188,12 +189,13 @@ class RangeCompareTests(unittest.TestCase):
def testRangeCompare(self):
for requires, provides, result in (
- (('foo', 'EQ', ('0', '1.4.4', '0')), ('foo', 'EQ', ('0', '1.4.4', '0')), 1),
- (('foo', 'EQ', ('0', '1.4.4', '0')), ('foo', 'EQ', ('0', '1.4.4', None)), 1),
- (('foo', 'EQ', ('0', '1.4.4', None)), ('foo', 'EQ', ('0', '1.4.4', '8')), 1),
- (('foo', 'LT', ('0', '1.5.4', None)), ('foo', 'EQ', ('0', '1.4.4', '7')), 1),
- (('foo', 'GE', ('0', '1.4.4', '7.1')), ('foo', 'EQ', ('0', '1.4.4', '7')), 0),
- (('foo', 'EQ', ('0', '1.4', None)), ('foo', 'EQ', ('0', '1.4.4', '7')), 0),
- (('foo', 'GT', ('1', '1.4.4', None)), ('foo', 'EQ', ('3', '1.2.4', '7')), 1),
+ (('foo', EQ, ('0', '1.4.4', '0')), ('foo', EQ, ('0', '1.4.4', '0')), 1),
+ (('foo', EQ, ('0', '1.4.4', '0')), ('foo', EQ, ('0', '1.4.4', None)), 1),
+ (('foo', EQ, ('0', '1.4.4', None)), ('foo', EQ, ('0', '1.4.4', '8')), 1),
+ (('foo', LT, ('0', '1.5.4', None)), ('foo', EQ, ('0', '1.4.4', '7')), 1),
+ (('foo', GE, ('0', '1.4.4', '7.1')), ('foo', EQ, ('0', '1.4.4', '7')), 0),
+ (('foo', EQ, ('0', '1.4', None)), ('foo', EQ, ('0', '1.4.4', '7')), 0),
+ (('foo', GT, ('1', '1.4.4', None)), ('foo', EQ, ('3', '1.2.4', '7')), 1),
):
- self.assertEquals(miscutils.rangeCompare(requires, provides), result)
+ self.assertEquals(miscutils.rangeCompare(requires, provides), result,
+ "%r %r: %r" % (requires, provides, result))
diff --git a/test/simpleobsoletestests.py b/test/simpleobsoletestests.py
index 05ebf05..f10f6e4 100644
--- a/test/simpleobsoletestests.py
+++ b/test/simpleobsoletestests.py
@@ -226,11 +226,11 @@ class GitMetapackageObsoletesTests(OperationsTests):
pkgs.metapackage = FakePackage('git', '1.5.4.2', '1', '0', 'x86_64')
# obsoletes
pkgs.new_git = FakePackage('git', '1.5.4.4', '1', '0', 'x86_64')
- pkgs.new_git.addObsoletes('git-core', 'LE', ('0', '1.5.4.3', '1'))
- pkgs.new_git.addProvides('git-core', 'EQ', ('0', '1.5.4', '1'))
+ pkgs.new_git.addObsoletes('git-core', LE, ('0', '1.5.4.3', '1'))
+ pkgs.new_git.addProvides('git-core', EQ, ('0', '1.5.4', '1'))
pkgs.git_all = FakePackage('git-all', '1.5.4', '1', '0', 'x86_64')
- pkgs.git_all.addObsoletes('git', 'LE', ('0', '1.5.4.3', '1'))
+ pkgs.git_all.addObsoletes('git', LE, ('0', '1.5.4.3', '1'))
def testGitMetapackageOnlyCoreInstalled(self):
diff --git a/test/simpleupdatetests.py b/test/simpleupdatetests.py
index fe4f414..180c880 100644
--- a/test/simpleupdatetests.py
+++ b/test/simpleupdatetests.py
@@ -18,18 +18,18 @@ class SimpleUpdateTests(OperationsTests):
def buildPkgs(pkgs, *args):
# installed
pkgs.installed_i386 = FakePackage('zsh', '1', '1', '0', 'i386')
- pkgs.installed_i386.addRequires('bar', 'EQ', ('0', '1', '1'))
+ pkgs.installed_i386.addRequires('bar', EQ, ('0', '1', '1'))
pkgs.installed_x86_64 = FakePackage('zsh', '1', '1', '0', 'x86_64')
- pkgs.installed_x86_64.addRequires('bar', 'EQ', ('0', '1', '1'))
+ pkgs.installed_x86_64.addRequires('bar', EQ, ('0', '1', '1'))
pkgs.installed_noarch = FakePackage('zsh', '1', '1', '0', 'noarch')
- pkgs.installed_noarch.addRequires('bar', 'EQ', ('0', '1', '1'))
+ pkgs.installed_noarch.addRequires('bar', EQ, ('0', '1', '1'))
# updates
pkgs.update_i386 = FakePackage('zsh', '2', '1', '0', 'i386')
pkgs.update_x86_64 = FakePackage('zsh', '2', '1', '0', 'x86_64')
pkgs.update_noarch = FakePackage('zsh', '2', '1', '0', 'noarch')
# requires update (UpdateForDependency tests)
pkgs.requires_update = FakePackage('zsh-utils', '2', '1', '0', 'noarch')
- pkgs.requires_update.addRequires('zsh', 'EQ', ('0', '2', '1'))
+ pkgs.requires_update.addRequires('zsh', EQ, ('0', '2', '1'))
# removed requirement due to update (UpdateForDependency2 tests)
pkgs.required = FakePackage('bar', '1', '1', '0')
pkgs.required_updated = FakePackage('bar', version='2')
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index e15ae56..2b9aabd 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -76,7 +76,7 @@ class SkipBrokenTests(DepsolveTests):
po2 = self.repoPackage('foo', '2')
ipo = self.instPackage('foo-tools', '2.5')
- ipo.addRequires('foo', 'EQ', ('0', '1', '0'))
+ ipo.addRequires('foo', EQ, ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -89,9 +89,9 @@ class SkipBrokenTests(DepsolveTests):
is not provided, the update should be skipped and result in a empty transaction
'''
po1 = self.instPackage('foo', '1')
- po1.addRequires('foo-tools', 'EQ', ('0', '1', '0'))
+ po1.addRequires('foo-tools', EQ, ('0', '1', '0'))
po2 = self.repoPackage('foo', '2')
- po2.addRequires('foo-tools', 'EQ', ('0', '2', '0'))
+ po2.addRequires('foo-tools', EQ, ('0', '2', '0'))
ipo = self.instPackage('foo-tools', '1')
@@ -108,13 +108,13 @@ class SkipBrokenTests(DepsolveTests):
there is not longer provided.
'''
po1 = self.instPackage('foo', '1')
- po1.addRequires('foo-tools', 'EQ', ('0', '1', '0'))
+ po1.addRequires('foo-tools', EQ, ('0', '1', '0'))
po2 = self.repoPackage('foo', '2')
- po2.addRequires('foo-tools', 'EQ', ('0', '2', '0'))
+ po2.addRequires('foo-tools', EQ, ('0', '2', '0'))
ipo = self.instPackage('foo-tools', '1')
por = self.repoPackage('foo-gui', '1')
- por.addRequires('foo', 'EQ', ('0', '2', '0'))
+ por.addRequires('foo', EQ, ('0', '2', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
self.tsInfo.addInstall(por)
@@ -129,7 +129,7 @@ class SkipBrokenTests(DepsolveTests):
'''
ipo = self.instPackage('foo', '1')
ipo2 = self.instPackage('foo-tools', '1')
- ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
+ ipo2.addRequires('foo', EQ, ('0', '1', '0'))
self.tsInfo.addErase(ipo)
self.assertEquals('ok', *self.resolveCode(skip=True))
@@ -141,10 +141,10 @@ class SkipBrokenTests(DepsolveTests):
'''
ipo = self.instPackage('foo', '1')
ipo2 = self.instPackage('foo-tools', '1')
- ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
+ ipo2.addRequires('foo', EQ, ('0', '1', '0'))
upo2 = self.repoPackage('foo-tools', '2')
- upo2.addRequires('foo', 'EQ', ('0', '1', '0'))
+ upo2.addRequires('foo', EQ, ('0', '1', '0'))
self.tsInfo.addErase(ipo)
self.tsInfo.addUpdate(upo2, oldpo=ipo2)
@@ -158,10 +158,10 @@ class SkipBrokenTests(DepsolveTests):
'''
ipo = self.instPackage('foo', '1')
ipo2 = self.instPackage('foo-tools', '1')
- ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
+ ipo2.addRequires('foo', EQ, ('0', '1', '0'))
upo2 = self.repoPackage('foo-tools', '2')
- upo2.addRequires('foo', 'EQ', ('0', '1', '0'))
+ upo2.addRequires('foo', EQ, ('0', '1', '0'))
self.tsInfo.addUpdate(upo2, oldpo=ipo2)
self.tsInfo.addErase(ipo)
@@ -176,7 +176,7 @@ class SkipBrokenTests(DepsolveTests):
'''
po1 = self.instPackage('foo', '1')
po2 = self.repoPackage('foo', '2')
- po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
+ po2.addConflicts('bar', EQ, ('0', '1', '0'))
ipo = self.instPackage('bar', '1')
@@ -193,13 +193,13 @@ class SkipBrokenTests(DepsolveTests):
'''
po1 = self.instPackage('foo', '1')
po2 = self.repoPackage('foo', '2')
- po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
+ po2.addConflicts('bar', EQ, ('0', '1', '0'))
ipo = self.instPackage('bar', '1')
xpo = self.repoPackage('bar', '2')
- xpo.addRequires('foo', 'EQ', ('0', '1', '0'))
+ xpo.addRequires('foo', EQ, ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -215,13 +215,13 @@ class SkipBrokenTests(DepsolveTests):
'''
po1 = self.instPackage('foo', '1')
po2 = self.repoPackage('foo', '2')
- po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
+ po2.addConflicts('bar', EQ, ('0', '1', '0'))
ipo = self.instPackage('bar', '1')
xpo = self.repoPackage('bar', '2')
- xpo.addRequires('poo', 'EQ', ('0', '1', '0'))
+ xpo.addRequires('poo', EQ, ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -286,7 +286,7 @@ class SkipBrokenTests(DepsolveTests):
self.tsInfo.addInstall(po1)
po2 = self.repoPackage('bar')
- po2.addRequires('baz', 'EQ', (None, '2', '1'))
+ po2.addRequires('baz', EQ, (None, '2', '1'))
ipo = self.instPackage('baz')
upo = self.repoPackage('baz', '2', '1')
@@ -353,7 +353,7 @@ class SkipBrokenTests(DepsolveTests):
ipo2 = self.instPackage('foo', '1',arch='x86_64')
po1 = self.repoPackage('foo', '2',arch='i386')
po2 = self.repoPackage('foo', '2',arch='x86_64')
- po2.addRequires('notfound', 'EQ', ('0', '1', '0'))
+ po2.addRequires('notfound', EQ, ('0', '1', '0'))
self.tsInfo.addUpdate(po1, oldpo=ipo1)
self.tsInfo.addUpdate(po2, oldpo=ipo2)
self.assertEquals('empty', *self.resolveCode(skip=True))
diff --git a/test/testbase.py b/test/testbase.py
index 372fec3..b939c12 100644
--- a/test/testbase.py
+++ b/test/testbase.py
@@ -16,6 +16,18 @@ import inspect
from rpmUtils import arch
#############################################################
+### RPM Flag constants ######################################
+#############################################################
+import rpm
+
+GT = rpm.RPMSENSE_GREATER
+GE = rpm.RPMSENSE_EQUAL | rpm.RPMSENSE_GREATER
+LT = rpm.RPMSENSE_LESS
+LE = rpm.RPMSENSE_LESS | rpm.RPMSENSE_EQUAL
+EQ = rpm.RPMSENSE_EQUAL
+
+
+#############################################################
### Helper classes ##########################################
#############################################################
@@ -60,7 +72,7 @@ class FakePackage(packages.YumAvailablePackage):
self.arch = arch
self.pkgtup = (self.name, self.arch, self.epoch, self.version, self.release)
- self.prco['provides'].append((name, 'EQ', (epoch, version, release)))
+ self.prco['provides'].append((name, EQ, (epoch, version, release)))
# Just a unique integer
self.id = self.__hash__()
@@ -157,7 +169,7 @@ class DepsolveTests(_DepsolveTestsBase):
def testInstallPackageRequireInstalled(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
- po.addRequires('zip', 'EQ', (None, '1.3', '2'))
+ po.addRequires('zip', EQ, (None, '1.3', '2'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1.3', '2', None, 'i386')
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 5bc3c7f..190f33b 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -53,12 +53,6 @@ except:
for y in args:
if x < y: x = y
return x
-flags = {"GT": rpm.RPMSENSE_GREATER,
- "GE": rpm.RPMSENSE_EQUAL | rpm.RPMSENSE_GREATER,
- "LT": rpm.RPMSENSE_LESS,
- "LE": rpm.RPMSENSE_LESS | rpm.RPMSENSE_EQUAL,
- "EQ": rpm.RPMSENSE_EQUAL,
- None: 0 }
class Depsolve(object):
@@ -736,7 +730,7 @@ class Depsolve(object):
self.verbose_logger.log(logginglevels.DEBUG_2, _("looking for %s as a requirement of %s"), req, txmbr)
provs = self.tsInfo.getProvides(*req)
if not provs:
- ret.append( (txmbr.po, (req[0], flags[req[1]], version_tuple_to_string(req[2]))) )
+ ret.append( (txmbr.po, (req[0], req[1], version_tuple_to_string(req[2]))) )
continue
#Add relationship
@@ -771,7 +765,7 @@ class Depsolve(object):
for pkg, hits in self.tsInfo.getRequires(*prov).iteritems():
for rn, rf, rv in hits:
if not self.tsInfo.getProvides(rn, rf, rv):
- ret.append( (pkg, (rn, flags[rf], version_tuple_to_string(rv))) )
+ ret.append( (pkg, (rn, rf, version_tuple_to_string(rv))) )
return ret
def _checkFileRequires(self):
@@ -839,7 +833,7 @@ class Depsolve(object):
for conflicting_po in self.tsInfo.getNewProvides(r, f, v):
if conflicting_po.pkgtup[0] == po.pkgtup[0] and conflicting_po.pkgtup[2:] == po.pkgtup[2:]:
continue
- ret.append( (po, (r, flags[f], version_tuple_to_string(v)), conflicting_po) )
+ ret.append( (po, (r, f, version_tuple_to_string(v)), conflicting_po) )
for txmbr in self.tsInfo.getMembersWithState(output_states=TS_INSTALL_STATES):
po = txmbr.po
for conflict in txmbr.po.returnPrco('conflicts'):
@@ -847,7 +841,7 @@ class Depsolve(object):
for conflicting_po in self.tsInfo.getProvides(r, f, v):
if conflicting_po.pkgtup[0] == po.pkgtup[0] and conflicting_po.pkgtup[2:] == po.pkgtup[2:]:
continue
- ret.append( (po, (r, flags[f], version_tuple_to_string(v)), conflicting_po) )
+ ret.append( (po, (r, f, version_tuple_to_string(v)), conflicting_po) )
return ret
diff --git a/yum/packages.py b/yum/packages.py
index 49630f6..7dbc3a0 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -310,8 +310,8 @@ class RpmBase(object):
continue
if f == '=':
- f = 'EQ'
- if f != 'EQ' and prcotype == 'provides':
+ f = rpm.RPMSENSE_EQUAL
+ if f != rpm.RPMSENSE_EQUAL and prcotype == 'provides':
# isn't this odd, it's not 'EQ' and it is a provides
# - it really should be EQ
# use the pkgobj's evr for the comparison
@@ -752,7 +752,7 @@ class YumHeaderPackage(YumAvailablePackage):
continue
lst = hdr[getattr(rpm, 'RPMTAG_%sFLAGS' % tag)]
- flag = map(rpmUtils.miscutils.flagToString, lst)
+ # flag = map(rpmUtils.miscutils.flagToString, lst)
flag = map(misc.share_data, flag)
lst = hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 786f06a..31c4eb0 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -27,6 +27,7 @@ import yumRepo
from packages import PackageObject, RpmBase, YumAvailablePackage
import Errors
import misc
+import rpm
from sqlutils import executeSQL
import rpmUtils.miscutils
@@ -51,6 +52,13 @@ def catchSqliteException(func):
def _share_data(value):
return misc.share_data(value)
+_flags2rpm = {"GT": rpm.RPMSENSE_GREATER,
+ "GE": rpm.RPMSENSE_EQUAL | rpm.RPMSENSE_GREATER,
+ "LT": rpm.RPMSENSE_LESS,
+ "LE": rpm.RPMSENSE_LESS | rpm.RPMSENSE_EQUAL,
+ "EQ": rpm.RPMSENSE_EQUAL,
+ None: 0 }
+
class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
def __init__(self, repo, db_obj):
self.prco = { 'obsoletes': (),
@@ -235,7 +243,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
cur = self._sql_MD('primary', sql, (self.pkgKey,))
self.prco[prcotype] = [ ]
for ob in cur:
- prco_set = (_share_data(ob['name']), _share_data(ob['flags']),
+ prco_set = (_share_data(ob['name']), _share_data(_flags2rpm[ob['flags']]),
(_share_data(ob['epoch']),
_share_data(ob['version']),
_share_data(ob['release'])))
@@ -592,7 +600,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
_share_data(ob['epoch']), _share_data(ob['version']),
_share_data(ob['release']))
(n,f,e,v,r) = ( _share_data(ob['oname']),
- _share_data(ob['oflags']),
+ _share_data(_flags2rpm[ob['oflags']]),
_share_data(ob['oepoch']),
_share_data(ob['oversion']),
_share_data(ob['orelease']))
@@ -639,7 +647,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
cur = cache.cursor()
executeSQL(cur, "select * from %s" % prcotype)
for x in cur:
- val = (_share_data(x['name']), _share_data(x['flags']),
+ val = (_share_data(x['name']), _share_data(_flags2rpm[x['flags']]),
(_share_data(x['epoch']), _share_data(x['version']),
_share_data(x['release'])))
val = _share_data(val)
@@ -702,7 +710,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
(name,))
tmp = { }
for x in cur:
- val = (_share_data(x['name']), _share_data(x['flags']),
+ val = (_share_data(x['name']), _share_data(_flags2rpm[x['flags']]),
(_share_data(x['epoch']), _share_data(x['version']),
_share_data(x['release'])))
val = _share_data(val)
More information about the Yum-cvs-commits
mailing list