summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Fahlgren2025-09-19 17:01:07 +0000
committerRobert Marko2025-11-01 18:42:20 +0000
commit3b21f97641f9a03a01d1a40bc5ed740bae7a7c27 (patch)
tree42a4c84b9dceb81d4656d56e8765738a25d10611
parent3156d72cbf43cc240d21ba88401154b85d05d46d (diff)
downloadopenwrt-3b21f97641f9a03a01d1a40bc5ed740bae7a7c27.tar.gz
scripts/make-index-json: ensure that manifest output is in opkg format
Certain existing tooling, such as 'package-metadata.pl', are written to accept the output of 'opkg list' with package manifest delimited by '-'. The 'make-index-json.py --manifest' output was emulating the 'apk list --manifest' format without the delimiting dash, thus breaking these legacy tools. We fix this by adding the dash to the manifest output, which allows all existing tooling to process the output irrespective of whether the build system uses opkg or apk. Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20094 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rwxr-xr-xscripts/make-index-json.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/scripts/make-index-json.py b/scripts/make-index-json.py
index 7751cde810..5751d98c59 100755
--- a/scripts/make-index-json.py
+++ b/scripts/make-index-json.py
@@ -32,7 +32,7 @@ def parse_args():
parser.add_argument("-f", "--source-format", required=True, choices=source_format,
help="Required source format of input: 'apk' or 'opkg'")
parser.add_argument("-m", "--manifest", action="store_true", default=False,
- help="Print output in manifest format, as package:version pairs")
+ help="Print output in opkg list format, as 'package - version' pairs")
parser.add_argument(dest="source",
help="File name for input, '-' for stdin")
# fmt: on
@@ -90,8 +90,10 @@ if __name__ == "__main__":
packages = parse_apk(text) if args.source_format == "apk" else parse_opkg(text)
if args.manifest:
- for name, version in packages.items():
- print(name, version)
+ # Emulate the output of 'opkg list' command for compatibility with
+ # legacy tooling.
+ for name, version in sorted(packages.items()):
+ print(name, "-", version)
else:
index = {
"version": 2,