Skip to content
Snippets Groups Projects
Unverified Commit e256f74f authored by Max Gautier's avatar Max Gautier
Browse files

download_hash: propagate new patch versions to all archs

parent 2710e984
No related branches found
No related tags found
No related merge requests found
...@@ -52,6 +52,18 @@ def download_hash(only_downloads: [str]) -> None: ...@@ -52,6 +52,18 @@ def download_hash(only_downloads: [str]) -> None:
for download, url in (downloads if only_downloads == [] for download, url in (downloads if only_downloads == []
else {k:downloads[k] for k in downloads.keys() & only_downloads}).items(): else {k:downloads[k] for k in downloads.keys() & only_downloads}).items():
checksum_name = f"{download}_checksums" checksum_name = f"{download}_checksums"
# Propagate new patch versions to all architectures
for arch in data[checksum_name].values():
for arch2 in data[checksum_name].values():
arch.update({
v:("NONE" if arch2[v] == "NONE" else 0)
for v in (set(arch2.keys()) - set(arch.keys()))
if v.split('.')[2] == '0'})
# this is necessary to make the script indempotent,
# by only adding a vX.X.0 version (=minor release) in each arch
# and letting the rest of the script populate the potential
# patch versions
for arch, versions in data[checksum_name].items(): for arch, versions in data[checksum_name].items():
for minor, patches in groupby(versions.copy().keys(), lambda v : '.'.join(v.split('.')[:-1])): for minor, patches in groupby(versions.copy().keys(), lambda v : '.'.join(v.split('.')[:-1])):
for version in (f"{minor}.{patch}" for patch in for version in (f"{minor}.{patch}" for patch in
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment