reduce spec.json.sig file size (#36157)

Since GPG clear-sign cannot deal with lines longer than 19995 characters
and doesn't even error but simply truncates those linese (don't ask me
why...), we have to be careful not to hit that line limit when reducing
the filesize.

So, instead this PR sets the indent level to 0 and drops the whitespace
after `: `, which still reduces file size by 50% or so.
This commit is contained in:
Harmen Stoppels 2023-03-16 19:46:13 +01:00 committed by GitHub
parent 825599a510
commit ba00da61e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1343,7 +1343,11 @@ def _build_tarball_in_stage_dir(
spec_dict["buildinfo"] = buildinfo
with open(specfile_path, "w") as outfile:
outfile.write(sjson.dump(spec_dict))
# Note: when using gpg clear sign, we need to avoid long lines (19995 chars).
# If lines are longer, they are truncated without error. Thanks GPG!
# So, here we still add newlines, but no indent, so save on file size and
# line length.
json.dump(spec_dict, outfile, indent=0, separators=(",", ":"))
# sign the tarball and spec file with gpg
if not unsigned: