rebuild-db sonrası depolarda gelsin. (#2347)
This commit is contained in:
+26
-2
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user