rebuild-db sonrası depolarda gelsin. (#2347)

This commit is contained in:
Faik Uygur
2006-04-17 07:21:00 +00:00
parent e2df90ae07
commit 5ff8078157
+26 -2
View File
@@ -347,6 +347,21 @@ def update_repo(repo, force=False):
else: else:
raise Error(_('No repository named %s found.') % repo) raise Error(_('No repository named %s found.') % repo)
def rebuild_repo(repo):
ctx.ui.info(_('* Rebuilding \'%s\' named repo... ') % repo, noln=True)
index = Index()
if ctx.repodb.has_repo(repo):
repouri = ctx.repodb.get_repo(repo).indexuri.get_uri()
indexname = os.path.basename(repouri)
repouri = pisi.util.join_path(ctx.config.lib_dir(), 'index', repo, indexname)
index.read_uri(repouri, repo, force = True)
else:
raise Error(_('No repository named %s found.') % repo)
ctx.txn_proc(lambda txn : index.update_db(repo, txn=txn))
ctx.ui.info(_('OK.'))
def delete_cache(): def delete_cache():
util.clean_dir(ctx.config.packages_dir()) util.clean_dir(ctx.config.packages_dir())
util.clean_dir(ctx.config.archives_dir()) util.clean_dir(ctx.config.archives_dir())
@@ -375,13 +390,21 @@ def rebuild_db(files=False):
#os.unlink(fn) #os.unlink(fn)
ctx.dbenv.close() ctx.dbenv.close()
def reload(files, txn): def reload_packages(files, txn):
for package_fn in os.listdir( pisi.util.join_path( ctx.config.lib_dir(), for package_fn in os.listdir( pisi.util.join_path( ctx.config.lib_dir(),
'package' ) ): 'package' ) ):
if not package_fn == "scripts": if not package_fn == "scripts":
ctx.ui.debug('Resurrecting %s' % package_fn) ctx.ui.debug('Resurrecting %s' % package_fn)
pisi.api.resurrect_package(package_fn, files, txn) pisi.api.resurrect_package(package_fn, files, txn)
def reload_indexes(txn):
for repo in os.listdir( pisi.util.join_path( ctx.config.lib_dir(),
'index' ) ):
indexuri = pisi.util.join_path(ctx.config.lib_dir(), 'index', repo, 'uri')
indexuri = open(indexuri, 'r').readline()
pisi.api.add_repo(repo, indexuri)
pisi.api.rebuild_repo(repo)
# check db schema versions # check db schema versions
try: try:
pisi.lockeddbshelve.check_dbversion('filesdbversion', pisi.__filesdbversion__, write=False) pisi.lockeddbshelve.check_dbversion('filesdbversion', pisi.__filesdbversion__, write=False)
@@ -399,4 +422,5 @@ def rebuild_db(files=False):
# construct new database version # construct new database version
init(database=True, options=options, ui=ui, comar=comar) init(database=True, options=options, ui=ui, comar=comar)
#ctx.txn_proc(reload) #ctx.txn_proc(reload)
reload(files, None) reload_packages(files, None)
reload_indexes(None)