osbuild: manifest type in config

Allow the manifest type used to be specified in the pungi configuration
instead of always selecting the manifest type based on the koji output.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
(cherry picked from commit f30a8b4d15)
This commit is contained in:
Simon de Vlieger 2023-09-22 11:21:02 +02:00 committed by Stepan Oksanichenko
parent b0964ff555
commit 323d1c1eb6
Signed by: soksanichenko
GPG Key ID: AB9983172AB1E45B
3 changed files with 11 additions and 1 deletions

View File

@ -1652,6 +1652,8 @@ OSBuild Composer for building images
* ``arches`` -- list of architectures for which to build the image. By
default, the variant arches are used. This option can only restrict it,
not add a new one.
* ``manifest_type`` -- the image type that is put into the manifest by
pungi. If not supplied then it is autodetected from the Koji output.
* ``ostree_url`` -- URL of the repository that's used to fetch the parent
commit from.
* ``ostree_ref`` -- name of the ostree branch

View File

@ -1257,6 +1257,7 @@ def make_schema():
"ostree_url": {"type": "string"},
"ostree_ref": {"type": "string"},
"ostree_parent": {"type": "string"},
"manifest_type": {"type": "string"},
"upload_options": {
# this should be really 'oneOf', but the minimal
# required properties in AWSEC2 and GCP options

View File

@ -249,7 +249,14 @@ class RunOSBuildThread(WorkerThread):
# Update image manifest
img = Image(compose.im)
img.type = archive["type_name"] if archive["type_name"] != "iso" else "dvd"
# Get the manifest type from the config if supplied, otherwise we
# determine the manifest type based on the koji output
img.type = config.get(
"manifest_type",
archive["type_name"] if archive["type_name"] != "iso" else "dvd",
)
img.format = suffix
img.path = os.path.join(rel_image_dir, archive["filename"])
img.mtime = util.get_mtime(image_dest)