[3/4] initramfs: include manifest in sstate artifacts

Message ID 20261029102027.1974884-3-clara.kowalsky@siemens.com
State Under Review
Headers show
Series [1/4] testsuite: fix sstate test with relocated build directory | expand

Commit Message

Clara Kowalsky Oct. 29, 2026, 10:20 a.m. UTC
initramfs.bbclass overrides ROOTFS_MANIFEST_DEPLOY_DIR to
DEPLOY_DIR_IMAGE, but as do_rootfs_install captures DEPLOYDIR for
sstate, the initramfs manifest is missing after cache restoration.

Fix this by staging the initramfs manifests to DEPLOYDIR too. The sstate
test is extended to build an external initramfs and verify that its
manifest is restored.

Fixes: c7a637508ac6 ("rootfs: fold do_rootfs_postprocess task into do_rootfs_install")
Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com>
---
 meta/classes-recipe/initramfs.bbclass |  2 +-
 testsuite/citest.py                   | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

Patch

diff --git a/meta/classes-recipe/initramfs.bbclass b/meta/classes-recipe/initramfs.bbclass
index 41828487..9ae9c556 100644
--- a/meta/classes-recipe/initramfs.bbclass
+++ b/meta/classes-recipe/initramfs.bbclass
@@ -20,7 +20,7 @@  INITRAMFS_INSTALL += "${@ ("linux-image-" + d.getVar("KERNEL_NAME")) if d.getVar
 INITRAMFS_FULLNAME = "${PN}-${DISTRO}-${MACHINE}"
 
 # Bill-of-material
-ROOTFS_MANIFEST_DEPLOY_DIR = "${DEPLOY_DIR_IMAGE}"
+ROOTFS_MANIFEST_DEPLOY_DIR = "${DEPLOYDIR}"
 ROOTFS_PACKAGE_SUFFIX = "${INITRAMFS_FULLNAME}"
 SBOM_DISTRO_NAME:append = "-Initramfs"
 
diff --git a/testsuite/citest.py b/testsuite/citest.py
index d057ffa2..973321ae 100644
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -1562,17 +1562,25 @@  class SstateTest(CIBaseTest):
     :avocado: tags=sstate
     """
 
+    IMAGE_INITRD_LINES = ["IMAGE_INITRD = 'isar-initramfs'"]
+
     def test_sstate_populate(self):
         image_target = 'mc:qemuamd64-bullseye:isar-image-base'
 
-        self.perform_sstate_populate(image_target)
+        self.perform_sstate_populate(
+            image_target, lines=self.IMAGE_INITRD_LINES
+        )
 
     def test_sstate(self):
         image_target = 'mc:qemuamd64-bullseye:isar-image-base'
         package_target = 'mc:qemuamd64-bullseye:hello'
 
         self.init('build/build-sstate')
-        self.perform_sstate_test(image_target, package_target)
+        self.perform_sstate_test(
+            image_target,
+            package_target,
+            lines=self.IMAGE_INITRD_LINES,
+        )
 
 
 class SingleTest(CIBaseTest):