summaryrefslogtreecommitdiff
path: root/utils/gen_fast_metamanifest.py
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2018-06-26 18:45:24 +0200
committerMichał Górny <mgorny@gentoo.org>2018-06-26 18:45:24 +0200
commit6205e27c288a68020c869df88ce09bf2da7fdaf3 (patch)
tree5619ff5054c3fd1a997c80d5a565363beb8578c1 /utils/gen_fast_metamanifest.py
parent6768afd9cac59d1810d69c85cdabf5695d442e22 (diff)
downloadgemato-6205e27c288a68020c869df88ce09bf2da7fdaf3.tar.gz
gen_fast_metamanifest: Fix parallel processing of md5-cache
Diffstat (limited to 'utils/gen_fast_metamanifest.py')
-rwxr-xr-xutils/gen_fast_metamanifest.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/utils/gen_fast_metamanifest.py b/utils/gen_fast_metamanifest.py
index 1ba60a3..6ae9c07 100755
--- a/utils/gen_fast_metamanifest.py
+++ b/utils/gen_fast_metamanifest.py
@@ -40,7 +40,6 @@ def manifest_dir_generator(iter_n):
# few special metadata subdirectories
yield 'metadata/dtd'
yield 'metadata/glsa'
- yield 'metadata/md5-cache'
yield 'metadata/news'
yield 'metadata/xml-schema'
@@ -49,8 +48,14 @@ def manifest_dir_generator(iter_n):
yield 'licenses'
yield 'profiles'
elif iter_n == 2:
- # top-level dirs
+ # md5-cache depends on cache dirs from iter 1
+ yield 'metadata/md5-cache'
+ elif iter_n == 3:
+ # remaining top-level dir
yield 'metadata'
+ elif iter_n == 4:
+ # finally, the top-level Manifest
+ yield '.'
def make_toplevel(d, ts, pgp_key):
@@ -118,13 +123,12 @@ IGNORE packages
make_toplevel('metadata/glsa', ts, pgp_key)
make_toplevel('metadata/news', ts, pgp_key)
- # 2nd batch (files depending on results of 1st batch)
- # this one is fast to generate, so let's pass a list and let map()
- # choose optimal chunksize
+ # remaining batches
+ # the lists are short, so let's pass them and let map() choose optimal
+ # chunksize
p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(2)))
-
- # finally, generate the top-level Manifest
- gen_fast_manifest.gen_manifest('.')
+ p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(3)))
+ p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(4)))
# final split
ts = datetime.datetime.utcnow().strftime(