build,json: fixup missing arch_packages
authorPaul Spooren <mail@aparcar.org>
Wed, 24 Mar 2021 21:01:46 +0000 (11:01 -1000)
committerPaul Spooren <mail@aparcar.org>
Wed, 24 Mar 2021 23:41:34 +0000 (13:41 -1000)
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>
scripts/json_overview_image_info.py

index 23d8dcb85795ba8bf83978bab720c45fd55a7ec4..e0e1ff08d598530c0a57f21cdd2e187ea6ef166a 100755 (executable)
@@ -33,14 +33,13 @@ for json_file in work_dir.glob("*.json"):
             )
 
 if output:
-    default_packages, output["arch_packages"] = run(
+    output["default_packages"] = run(
         [
             "make",
             "--no-print-directory",
             "-C",
             "target/linux/{}".format(output["target"].split("/")[0]),
             "val.DEFAULT_PACKAGES",
-            "val.ARCH_PACKAGES",
             "DUMP=1",
         ],
         stdout=PIPE,
@@ -48,9 +47,21 @@ if output:
         check=True,
         env=environ.copy().update({"TOPDIR": Path().cwd()}),
         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=(",", ":")))
 else:
     print("JSON info file script could not find any JSON files for target")