forward-port
This commit is contained in:
+7
-4
@@ -33,7 +33,7 @@ import pisi.db.installdb
|
||||
import pisi.db.filesdb
|
||||
import pisi.db.componentdb
|
||||
import pisi.db.sourcedb
|
||||
import pisi.db.lockeddbshelve
|
||||
import pisi.db.lockeddbshelve as shelve
|
||||
import pisi.index
|
||||
import pisi.config
|
||||
import pisi.metadata
|
||||
@@ -44,6 +44,7 @@ import pisi.build
|
||||
import pisi.atomicoperations
|
||||
import pisi.delta
|
||||
import pisi.comariface
|
||||
import pisi.signalhandler
|
||||
|
||||
class Error(pisi.Error):
|
||||
pass
|
||||
@@ -91,6 +92,8 @@ def init(database = True, write = True,
|
||||
if stderr:
|
||||
ctx.stderr = stderr
|
||||
|
||||
# FIXME: something is wrong here... see __init__.py also. Why do we import pisi.api in __init__.py
|
||||
import pisi.config
|
||||
ctx.config = pisi.config.Config(options)
|
||||
|
||||
if signal_handling:
|
||||
@@ -104,7 +107,7 @@ def init(database = True, write = True,
|
||||
# initialize repository databases
|
||||
ctx.database = database
|
||||
if database:
|
||||
pisi.db.lockeddbshelve.init_dbenv(write=write)
|
||||
shelve.init_dbenv(write=write)
|
||||
ctx.repodb = pisi.db.repodb.RepoDB()
|
||||
ctx.installdb = pisi.db.installdb.InstallDB()
|
||||
ctx.filesdb = pisi.db.filesdb.FilesDB()
|
||||
@@ -509,12 +512,12 @@ def rebuild_db(files=False):
|
||||
|
||||
# check db schema versions
|
||||
try:
|
||||
pisi.lockeddbshelve.check_dbversion('filesdbversion', pisi.__filesdbversion__, write=False)
|
||||
shelve.check_dbversion('filesdbversion', pisi.__filesdbversion__, write=False)
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except Exception, e: #FIXME: what exception could we catch here, replace with that.
|
||||
files = True # exception means the files db version was wrong
|
||||
pisi.lockeddbshelve.init_dbenv(write=True, writeversion=True)
|
||||
shelve.init_dbenv(write=True, writeversion=True)
|
||||
destroy(files) # bye bye
|
||||
|
||||
# save parameters and shutdown pisi
|
||||
|
||||
Reference in New Issue
Block a user