diff --git a/pisi/history.py b/pisi/history.py index 283fc553..5bc3c3c4 100644 --- a/pisi/history.py +++ b/pisi/history.py @@ -29,7 +29,10 @@ class PackageInfo: a_build = [autoxml.String, autoxml.optional] def __str__(self): - return self.version + "-" + self.release + "-" + (self.build or '?') + if self.build: + return self.version + "-" + self.release + "-" + self.build + else: + return self.version + "-" + self.release class Repo: a_operation = [autoxml.String, autoxml.mandatory] diff --git a/pisi/operations/history.py b/pisi/operations/history.py index 5ebd157a..006081fe 100644 --- a/pisi/operations/history.py +++ b/pisi/operations/history.py @@ -10,6 +10,7 @@ # Please read the COPYING file. import os +import exceptions import gettext __trans = gettext.translation("pisi", fallback=True) _ = __trans.ugettext @@ -28,11 +29,10 @@ def __pkg_already_installed(name, pkginfo): if not installdb.has_package(name): return False - ver, rel, build = str(pkginfo).split("-") - if build == '?': - build = None - else: - build = int(build) + verno = str(pkginfo).split("-") + ver, rel = verno[0:2] + build = int(verno[2]) if len(verno) > 2 else None + return (ver, rel, build) == installdb.get_version(name) def __listactions(actions):