[RFC,v2,16/19] container images: make compatible with rootless build

Message ID 20260220171601.3845113-17-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
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 meta/classes-recipe/imagetypes_container.bbclass | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Patch

diff --git a/meta/classes-recipe/imagetypes_container.bbclass b/meta/classes-recipe/imagetypes_container.bbclass
index b6cc4a14..615aa428 100644
--- a/meta/classes-recipe/imagetypes_container.bbclass
+++ b/meta/classes-recipe/imagetypes_container.bbclass
@@ -67,8 +67,11 @@  do_containerize() {
     run_privileged umoci remove --image "${oci_img_dir}:${empty_tag}"
     run_privileged rm -rf "${oci_img_dir}_unpacked"
 
-    # no root needed anymore
-    run_privileged chown --recursive $(id -u):$(id -g) "${oci_img_dir}"
+    run_privileged tar -c --owner=0 --group=0 --numeric-owner -C ${oci_img_dir} . > \
+        ${WORKDIR}/container-image.tar
+
+    # on success clean
+    run_privileged rm -rf "$oci_img_dir"
 }
 
 convert_container() {
@@ -78,6 +81,9 @@  convert_container() {
     local image_name="$2"
     local image_archive="$3"
 
+    mkdir -p $oci_img_dir
+    tar -xf ${WORKDIR}/container-image.tar -C $oci_img_dir
+
     # convert the OCI container image to the desired format
     bbdebug 1 "Creating container image type: ${container_type}"
     case "${container_type}" in
@@ -106,4 +112,7 @@  convert_container() {
             die "Unsupported format for convert_container: ${container_type}"
             ;;
     esac
+
+    # on success clean
+    rm -rf $oci_img_dir
 }