[5/6] testsuite: handle IMAGE_INSTALL solely in cibuilder.py

Message ID 20251217140827.166531-6-felix.moessbauer@siemens.com
State Under Review
Headers show
Series [1/6] testsuite: move targets with custom kernel to separate test | expand

Commit Message

Felix Moessbauer Dec. 17, 2025, 2:08 p.m. UTC
By moving the IMAGE_INSTALL parts out of the ci local conf sample, we
make this part reusable across tests. By that, tests can easily
customize this list without either taking it as-is or completely
replacing it. We further get rid of overrides that are not used in the
CI anyways.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 meta-test/conf/local.conf.sample | 10 ----------
 testsuite/cibuilder.py           | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 10 deletions(-)

Patch

diff --git a/meta-test/conf/local.conf.sample b/meta-test/conf/local.conf.sample
index 092d6ba6..862bea47 100644
--- a/meta-test/conf/local.conf.sample
+++ b/meta-test/conf/local.conf.sample
@@ -27,16 +27,6 @@  BB_DISKMON_DIRS = "\
 MIRRORS ?= "git?://salsa\.debian\.org/debian/.* git://github.com/ilbers/BASENAME"
 MIRRORS += "https?://cdn\.kernel\.org/.* https://mirrors.edge.kernel.org/PATH"
 
-# The default list of extra packages
-IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"
-
-# Container machines don't need example module and enable-fsck.
-IMAGE_INSTALL:remove:container-amd64 = "example-module-${KERNEL_NAME} enable-fsck"
-
-# Machines with secure boot should use signed modules
-IMAGE_INSTALL:remove:qemuamd64-sb = "example-module-${KERNEL_NAME}"
-IMAGE_INSTALL:append:qemuamd64-sb = " example-module-signed-${KERNEL_NAME}"
-
 # Users and groups
 USERS += "root"
 USER_root[password] ??= "$6$rounds=10000$RXeWrnFmkY$DtuS/OmsAS2cCEDo0BF5qQsizIrq6jPgXnwv3PHqREJeKd1sXdHX/ayQtuQWVDHe0KIO0/sVH8dvQm1KthF0d/"
diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index 25e3b6cb..26002ade 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -30,6 +30,18 @@  sys.path.append(os.path.join(os.path.dirname(__file__), '../bitbake/lib'))
 import bb
 
 DEF_VM_TO_SEC = 600
+IMAGE_INSTALL_DEFAULT = [
+    'hello-isar',
+    'example-raw',
+    'example-module-${KERNEL_NAME}',
+    'enable-fsck',
+    'isar-exclude-docs',
+    'samefile',
+    'hello',
+    'isar-disable-apt-cache',
+    'cowsay',
+    'example-prebuilt'
+]
 
 isar_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
 backup_prefix = '.ci-backup'
@@ -222,6 +234,14 @@  class CIBuilder(Test):
                 f.write('SSTATE_DIR = "%s"\n' % sstate_dir)
             if image_install is not None:
                 f.write('IMAGE_INSTALL = "%s"\n' % image_install)
+            else:
+                if container:
+                    # strip kernel modules from default package install list
+                    _image_install = [p for p in IMAGE_INSTALL_DEFAULT if "-module-" not in p]
+                else:
+                    _image_install = IMAGE_INSTALL_DEFAULT
+                f.write('IMAGE_INSTALL = "%s"\n' % ' '.join(_image_install))
+
             if fail_on_cleanup == '1':
                 f.write('ISAR_FAIL_ON_CLEANUP = "1"\n')
             if installer_image: