From: Emanuele Giuseppe Esposito <eespo...@redhat.com>

uki_addons: provide custom SBAT as input parameter

Build the sbat in kernel.spec.template and provide it directly to
uki_create_addons.py. This parameter is completely optional.

Signed-off-by: Emanuele Giuseppe Esposito <eespo...@redhat.com>

diff --git a/redhat/scripts/uki_addons/uki_create_addons.py 
b/redhat/scripts/uki_addons/uki_create_addons.py
index blahblah..blahblah 100755
--- a/redhat/scripts/uki_addons/uki_create_addons.py
+++ b/redhat/scripts/uki_addons/uki_create_addons.py
@@ -4,7 +4,7 @@
 # creates an addon for each key/value pair matching the given uki, distro and
 # arch provided in input.
 #
-# Usage: python uki_create_addons.py input_json out_dir uki distro arch
+# Usage: python uki_create_addons.py input_json out_dir uki distro arch [sbat]
 #
 # This tool requires the systemd-ukify and systemd-boot packages.
 #
@@ -37,7 +37,7 @@ import subprocess
 UKIFY_PATH = '/usr/lib/systemd/ukify'
 
 def usage(err):
-    print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki 
distro arch')
+    print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki 
distro arch [sbat]')
     print(f'Error:{err}')
     sys.exit(1)
 
@@ -102,19 +102,21 @@ def parse_in_json(in_json, uki_name, distro, arch):
         if cmdline:
             uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
 
-def create_addons(out_dir):
+def create_addons(out_dir, sbat):
     for uki_addon in uki_addons_list:
         out_path = os.path.join(out_dir, uki_addon.name)
         cmd = [
             f'{UKIFY_PATH}', 'build',
             '--cmdline', uki_addon.cmdline,
             '--output', out_path]
+        if sbat:
+            cmd.extend(['--sbat', sbat.rstrip()])
 
         subprocess.check_call(cmd, text=True)
 
 if __name__ == "__main__":
     argc = len(sys.argv) - 1
-    if argc != 5:
+    if argc < 5 or argc > 6:
         usage('too few or too many parameters!')
 
     input_json = sys.argv[1]
@@ -123,8 +125,12 @@ if __name__ == "__main__":
     distro = sys.argv[4]
     arch = sys.argv[5]
 
+    custom_sbat = None
+    if argc == 6:
+        custom_sbat = sys.argv[6]
+
     out_dir = check_clean_arguments(input_json, out_dir)
     parse_in_json(input_json, uki_name, distro, arch)
-    create_addons(out_dir)
+    create_addons(out_dir, custom_sbat)
 
 

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3875

-- 
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to