Update format=cpe output to match consumer-side requirements.
This also adds sorting so that it's more deterministic and amenable
to diffing between runs.
BUG=none
TEST=cros_extract_deps --format=cpe --board=x86-generic chromeos
Change-Id: Ib5894c811c7747c53727fabd8086bfda13b720cd
Reviewed-on: https://gerrit.chromium.org/gerrit/61322
Tested-by: Jim Hebert <jimhebert@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Commit-Queue: Jim Hebert <jimhebert@chromium.org>
diff --git a/scripts/cros_extract_deps.py b/scripts/cros_extract_deps.py
index c4180bd..ad65ec3 100644
--- a/scripts/cros_extract_deps.py
+++ b/scripts/cros_extract_deps.py
@@ -113,11 +113,11 @@
cpe_dump = []
for cpv, record in deps_list.items():
if record["cpes"]:
- for cpe in record["cpes"]:
- cpe_dump.append({"Name": cpv, "Target": cpe, "Repository": "cros"})
+ cpe_dump.append({"Name": cpv, "Targets": sorted(record["cpes"]),
+ "Repository": "cros"})
else:
cros_build_lib.Warning("No CPE entry for %s", cpv)
- return cpe_dump
+ return sorted(cpe_dump, key=lambda k: k["Name"])
def main(argv):