Device-first OS list filtering

Rather than a drop down dialog, which could present users with images
that may not run on their hardware, allow selection of Raspberry Pi as a
first stage. If users adopt this feature, they are presented with a
subset of images that we know will actually run on their hardware.

This is achieved by leveraging @maxnet's excellent OS filtering scheme.

Future work will attach image and description support to this OS list.
This commit is contained in:
Tom Dewey tom.dewey@raspberrypi.com 2023-10-03 22:24:49 +01:00
parent 591452aba9
commit 3f665e01b4
3 changed files with 315 additions and 90 deletions

View file

@ -194,7 +194,8 @@
"extract_sha256": "ceb7d7489847ed811e7746fa779837f78fc06d43663148a696280e6a1cfe00e3",
"image_download_size": 1306588543,
"release_date": "2022-01-28",
"init_format": "systemd"
"init_format": "systemd",
"devices": ["pi1a"]
}
],
"required": [
@ -205,7 +206,8 @@
"extract_size",
"extract_sha256",
"image_download_size",
"release_date"
"release_date",
"devices"
],
"properties": {
"name": {
@ -298,6 +300,18 @@
"systemd"
]
},
"devices": {
"$id": "#/properties/os_list/items/anyOf/0/properties/compat_with",
"type": "array",
"title": "The compat_with schema",
"description": "Provides a JSON-format list of strings representing Raspberry Pi devices that are supported with this image",
"default": "",
"examples": [
"[\"1a\", \"1b\"]",
"[\"4\", \"5\"]",
"[\"cm3\", \"cm4\"]"
]
},
"website": {
"$id": "#/properties/os_list/items/anyOf/1/properties/website",
"type": "string",