Files
HoralOS/scripts/fedora-kiwi-bundle-format-generator
T
Neal Gompa 2c5cf67014 kiwi-build: Update to mimic production builds more closely
Production builds in Fedora have a couple extra features:

* ISOs have custom overrides to set the correct volume/app IDs
* Image filenames are structured to follow roughly NVRA format

Now we support these features with extra helper scripts. If a
"image release" value is passed in, then we fully mimic the
production image build process.

This will be particularly useful for making respins of Fedora images
with updates applied.
2024-11-16 20:18:31 -05:00

32 lines
1014 B
Python
Executable File

#!/usr/bin/env python3
# Simple tool to generate bundle formats for kiwi image builds
# Author: Neal Gompa <ngompa@fedoraproject.org>
# SPDX-3.0-License-Identifier: GPL-3.0-or-later
# SPDX-2.0-License-Identifier: GPL-3.0+
from argparse import ArgumentParser
from pathlib import Path
import xml.etree.ElementTree as ET
parser = ArgumentParser(description="Generator of ISO labels for Fedora live media builds")
parser.add_argument("kiwi_file", type=Path, default="Fedora.kiwi", help="kiwi description file")
parser.add_argument("image_profile", type=str, help="kiwi image profile")
parser.add_argument("--oci-variant", "-o", action="store_true", help="generate oci variant")
args = parser.parse_args()
xml_tree = ET.parse(args.kiwi_file)
image_root = xml_tree.getroot()
image_basename = image_root.attrib["name"]
image_profile = args.image_profile
image_bundle_format = f"{image_basename}-{image_profile}-%v.%I.%A"
if args.oci_variant:
print(f"{image_bundle_format}.%T")
else:
print(image_bundle_format)