build,json: fixup missing arch_packages

Fix 7f4c2b1 "build,json: fix duplicates in default_packages" which
removed duplicate default packages but also removed the package
architecture from the profiles.json.

If DUMP=1 is set, the `ARCH_PACKAGES` is no longer exported and
therefore empty. Fix this by running make twice, once with DUMP=1 and
once without.

Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
Paul Spooren 2021-03-24 11:01:46 -10:00
parent b6c366efa8
commit 1bf2b3fe90

View File

@ -33,14 +33,13 @@ for json_file in work_dir.glob("*.json"):
) )
if output: if output:
default_packages, output["arch_packages"] = run( output["default_packages"] = run(
[ [
"make", "make",
"--no-print-directory", "--no-print-directory",
"-C", "-C",
"target/linux/{}".format(output["target"].split("/")[0]), "target/linux/{}".format(output["target"].split("/")[0]),
"val.DEFAULT_PACKAGES", "val.DEFAULT_PACKAGES",
"val.ARCH_PACKAGES",
"DUMP=1", "DUMP=1",
], ],
stdout=PIPE, stdout=PIPE,
@ -48,9 +47,21 @@ if output:
check=True, check=True,
env=environ.copy().update({"TOPDIR": Path().cwd()}), env=environ.copy().update({"TOPDIR": Path().cwd()}),
universal_newlines=True, universal_newlines=True,
).stdout.splitlines() ).stdout.split()
output["arch_packages"] = run(
[
"make",
"--no-print-directory",
"val.ARCH_PACKAGES",
],
stdout=PIPE,
stderr=PIPE,
check=True,
env=environ.copy().update({"TOPDIR": Path().cwd()}),
universal_newlines=True,
).stdout.strip()
output["default_packages"] = default_packages.split()
output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":"))) output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":")))
else: else:
print("JSON info file script could not find any JSON files for target") print("JSON info file script could not find any JSON files for target")