Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-portage-dev] [PATCH] egencache: Delay updating Manifests until all other tasks complete
Date: Thu, 12 Nov 2015 15:01:07
Message-Id: 1447340455-10961-1-git-send-email-mgorny@gentoo.org
1 Since thick Manifests can reference other files (ChangeLogs especially),
2 their generation should be run as the lask task done by egencache,
3 followed only by timestamp update.
4 ---
5 bin/egencache | 46 +++++++++++++++++++++++-----------------------
6 1 file changed, 23 insertions(+), 23 deletions(-)
7
8 diff --git a/bin/egencache b/bin/egencache
9 index 51d115a..e02c690 100755
10 --- a/bin/egencache
11 +++ b/bin/egencache
12 @@ -1095,29 +1095,6 @@ def egencache_main(args):
13 else:
14 ret.append(gen_cache.returncode)
15
16 - if options.update_manifests:
17 -
18 - cp_iter = None
19 - if atoms:
20 - cp_iter = iter(atoms)
21 -
22 - event_loop = global_event_loop()
23 - scheduler = ManifestScheduler(portdb, cp_iter=cp_iter,
24 - gpg_cmd=gpg_cmd, gpg_vars=gpg_vars,
25 - force_sign_key=force_sign_key,
26 - max_jobs=options.jobs,
27 - max_load=options.load_average,
28 - event_loop=event_loop)
29 -
30 - signum = run_main_scheduler(scheduler)
31 - if signum is not None:
32 - sys.exit(128 + signum)
33 -
34 - if options.tolerant:
35 - ret.append(os.EX_OK)
36 - else:
37 - ret.append(scheduler.returncode)
38 -
39 if options.update_pkg_desc_index:
40 if repo_config.writable:
41 writable_location = repo_config.location
42 @@ -1153,6 +1130,29 @@ def egencache_main(args):
43 gen_clogs.run()
44 ret.append(gen_clogs.returncode)
45
46 + if options.update_manifests:
47 +
48 + cp_iter = None
49 + if atoms:
50 + cp_iter = iter(atoms)
51 +
52 + event_loop = global_event_loop()
53 + scheduler = ManifestScheduler(portdb, cp_iter=cp_iter,
54 + gpg_cmd=gpg_cmd, gpg_vars=gpg_vars,
55 + force_sign_key=force_sign_key,
56 + max_jobs=options.jobs,
57 + max_load=options.load_average,
58 + event_loop=event_loop)
59 +
60 + signum = run_main_scheduler(scheduler)
61 + if signum is not None:
62 + sys.exit(128 + signum)
63 +
64 + if options.tolerant:
65 + ret.append(os.EX_OK)
66 + else:
67 + ret.append(scheduler.returncode)
68 +
69 if options.write_timestamp:
70 timestamp_path = os.path.join(repo_path, 'metadata', 'timestamp.chk')
71 try:
72 --
73 2.6.3

Replies