commit: fd69b6822c9929d011e2da863b8dad162b803088 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu Nov 12 14:59:48 2015 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu Nov 12 18:56:39 2015 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=fd69b682
egencache: Delay updating Manifests until all other tasks complete Since thick Manifests can reference other files (ChangeLogs especially), their generation should be run as the lask task done by egencache, followed only by timestamp update. Fixes: https://bugs.gentoo.org/565626 bin/egencache | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/bin/egencache b/bin/egencache index 76eb00b..a9d4657 100755 --- a/bin/egencache +++ b/bin/egencache @@ -1105,29 +1105,6 @@ def egencache_main(args): else: ret.append(gen_cache.returncode) - if options.update_manifests: - - cp_iter = None - if atoms: - cp_iter = iter(atoms) - - event_loop = global_event_loop() - scheduler = ManifestScheduler(portdb, cp_iter=cp_iter, - gpg_cmd=gpg_cmd, gpg_vars=gpg_vars, - force_sign_key=force_sign_key, - max_jobs=options.jobs, - max_load=options.load_average, - event_loop=event_loop) - - signum = run_main_scheduler(scheduler) - if signum is not None: - sys.exit(128 + signum) - - if options.tolerant: - ret.append(os.EX_OK) - else: - ret.append(scheduler.returncode) - if options.update_pkg_desc_index: if repo_config.writable: writable_location = repo_config.location @@ -1167,6 +1144,29 @@ def egencache_main(args): sys.exit(128 + signum) ret.append(gen_clogs.returncode) + if options.update_manifests: + + cp_iter = None + if atoms: + cp_iter = iter(atoms) + + event_loop = global_event_loop() + scheduler = ManifestScheduler(portdb, cp_iter=cp_iter, + gpg_cmd=gpg_cmd, gpg_vars=gpg_vars, + force_sign_key=force_sign_key, + max_jobs=options.jobs, + max_load=options.load_average, + event_loop=event_loop) + + signum = run_main_scheduler(scheduler) + if signum is not None: + sys.exit(128 + signum) + + if options.tolerant: + ret.append(os.EX_OK) + else: + ret.append(scheduler.returncode) + if options.write_timestamp: timestamp_path = os.path.join(repo_path, 'metadata', 'timestamp.chk') try:
