From 433b004d6e0050cd9d1f4fc7111b8b57fe08f1e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Mon, 10 Apr 2006 15:15:09 +0000 Subject: [PATCH] * fix: update means update if db version insufficient --- pisi/api.py | 2 +- pisi/lockeddbshelve.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pisi/api.py b/pisi/api.py index 7d7ab0ba..f742c947 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -358,7 +358,7 @@ def rebuild_db(files=False): def destroy(files): #from pisi.lockeddbshelve import LockedDBShelf - pisi.lockeddbshelve.init_dbenv(write=True) + pisi.lockeddbshelve.init_dbenv(write=True, writeversion=True) #TODO: either don't delete version files here, or remove force flag... import bsddb3.db for db in os.listdir(ctx.config.db_dir()): diff --git a/pisi/lockeddbshelve.py b/pisi/lockeddbshelve.py index 9223b684..6519d509 100644 --- a/pisi/lockeddbshelve.py +++ b/pisi/lockeddbshelve.py @@ -45,11 +45,14 @@ def check_dbversion(versionfile, ver, write=False, update=False): ls = verfile.readlines() currver = Version(ls[0]) dbver = Version(ver) - if currver < dbver and not update: - raise Error(_('Database version for %s insufficient. Please run rebuild-db command.') % versionfile) + if currver < dbver: + if not update: + raise Error(_('Database version for %s insufficient. Please run rebuild-db command.') % versionfile) + else: + pass # continue to update, then elif currver > dbver: raise Error(_('Database version for %s greater than PiSi version. You need a newer PiSi.') % versionfile) - else: + elif not update: return True # db version is OK else: firsttime = True