[RFC,v2,15/19] ddi image: convert to two stage deploy

Message ID 20260220171601.3845113-16-felix.moessbauer@siemens.com
State New
Headers show
Series add support to build isar unprivileged | expand

Commit Message

Felix Moessbauer Feb. 20, 2026, 5:15 p.m. UTC
By that it is compatible with the unshare chroot mode.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 meta/classes-recipe/imagetypes_ddi.bbclass | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Patch

diff --git a/meta/classes-recipe/imagetypes_ddi.bbclass b/meta/classes-recipe/imagetypes_ddi.bbclass
index 0e45fb8a..7ffd24db 100644
--- a/meta/classes-recipe/imagetypes_ddi.bbclass
+++ b/meta/classes-recipe/imagetypes_ddi.bbclass
@@ -11,13 +11,12 @@  DDI_SIGNING_KEY_PATH ?= ""
 DDI_SIGNING_CERTIFICATE_PATH ?= ""
 DDI_TYPE ?= "sysext"
 DDI_DEFINITION_PATH ?= "/usr/share/isar-ddi-definitions/${DDI_TYPE}.repart.d"
-DDI_OUTPUT_IMAGE ?= "${IMAGE_FULLNAME}.ddi"
 
 ddi_not_supported() {
     bberror "IMAGE TYPE DDI is not supported in distribution Release '${BASE_DISTRO_CODENAME}'"
 }
 
-create_ddi_image() {
+IMAGE_CMD:ddi() {
   local_extra_arguments=""
   if [ -n "${DDI_SIGNING_KEY_PATH}" ]; then
     local_extra_arguments="${local_extra_arguments} --private-key=${DDI_SIGNING_KEY_PATH}"
@@ -26,7 +25,7 @@  create_ddi_image() {
     local_extra_arguments="${local_extra_arguments} --certificate=${DDI_SIGNING_CERTIFICATE_PATH}"
   fi
 
-  rm -rf ${DEPLOY_DIR_IMAGE}/${DDI_OUTPUT_IMAGE}
+  rm -f ${IMAGE_FILE_HOST}
 
   ${SUDO_CHROOT} << EOF
     if [ -z ${DDI_SIGNING_KEY_PATH} ]; then
@@ -37,11 +36,10 @@  create_ddi_image() {
       --copy-source=${PP_ROOTFS} \
       --empty=create --size=auto --dry-run=no  \
       --no-pager $local_extra_arguments \
-      ${PP_DEPLOY}/${DDI_OUTPUT_IMAGE}
+      ${IMAGE_STAGE_CHROOT}
 EOF
 }
 
 IMAGE_CMD:ddi:buster = "ddi_not_supported"
 IMAGE_CMD:ddi:bullseye = "ddi_not_supported"
 IMAGE_CMD:ddi:bookworm = "ddi_not_supported"
-IMAGE_CMD:ddi = "create_ddi_image"