Skip to content
Snippets Groups Projects
Commit ddd4958c authored by Anders Blomdell's avatar Anders Blomdell
Browse files

Version 2012-10-25 13:35

parent 62b2fb2d
No related branches found
No related tags found
No related merge requests found
...@@ -181,11 +181,13 @@ class Installer: ...@@ -181,11 +181,13 @@ class Installer:
version_db = mio.rpmDB.VersionDB() version_db = mio.rpmDB.VersionDB()
for r in self.rpm: for r in self.rpm:
r.new_version = version_db[r.name] r.new_version = version_db[r.name]
pass
result = [] result = []
for r in rpm: for r in rpm:
if version_db[r] == None: if version_db[r] == None:
result.append(r) result.append(r)
pass
pass
return result return result
def install_groups(self, prefix, backup): def install_groups(self, prefix, backup):
......
...@@ -4,6 +4,28 @@ try: ...@@ -4,6 +4,28 @@ try:
except: except:
pass pass
class RPM:
def __init__(self, name, arch, version, release):
self.name = name
self.arch = arch
self.version = version
self.release = release
pass
def __eq__(self, other):
return (self.__class__ == other.__class__,
self.name == other.name and
self.arch == other.arch and
self.version == other.version and
self.release == other.release)
def __repr__(self):
return "RPM(%s, %s, %s, %s)" % (self.name, self.arch,
self.version, self.release)
pass
class VersionDB: class VersionDB:
def __init__(self): def __init__(self):
...@@ -14,14 +36,26 @@ class VersionDB: ...@@ -14,14 +36,26 @@ class VersionDB:
(name, arch, version, release) = ( (name, arch, version, release) = (
e[rpm.RPMTAG_NAME], e[rpm.RPMTAG_ARCH], e[rpm.RPMTAG_NAME], e[rpm.RPMTAG_ARCH],
e[rpm.RPMTAG_VERSION], e[rpm.RPMTAG_RELEASE]) e[rpm.RPMTAG_VERSION], e[rpm.RPMTAG_RELEASE])
self.rpm[name] = (name, arch, version, release) if not name in self.rpm:
self.rpm[name] = []
pass
self.rpm[name].append(RPM(name, arch, version, release))
del read_ts del read_ts
except: except:
pass pass
pass
def __getitem__(self, name): def __getitem__(self, name):
try: try:
if name in self.rpm:
return self.rpm[name] return self.rpm[name]
name, arch = name.rsplit('.', 1)
for r in self.rpm[name]:
if arch == r.arch:
return [r]
pass
return None
except: except:
return None return None
pass
pass
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment