[RFC cip-dev][isar-cip-core][PATCH 3/4] use run_priviledged instead of sudo

Quirin Gylstorff <[email protected]> Fri, 24 Jul 2026 12:51:07 +0200
Newsgroups org.cip-project.lists.cip-dev
Message-ID <[email protected]>
From: Quirin Gylstorff <[email protected]>

This is in preparation to support rootless builds

Signed-off-by: Quirin Gylstorff <[email protected]>
---
 classes-recipe/image_uuid.bbclass       | 4 ++--
 classes-recipe/read-only-rootfs.bbclass | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/classes-recipe/image_uuid.bbclass b/classes-recipe/image_uuid.bbclass
index 2cd8459..da54625 100644
--- a/classes-recipe/image_uuid.bbclass
+++ b/classes-recipe/image_uuid.bbclass
@@ -45,9 +45,9 @@ do_generate_image_uuid[vardeps] += "IMAGE_UUID"
 do_generate_image_uuid[dirs] = "${DEPLOY_DIR_IMAGE}"
 do_generate_image_uuid[network] = "${TASK_USE_SUDO}"
 do_generate_image_uuid() {
-    sudo sed -i '/^IMAGE_UUID=.*/d' '${IMAGE_ROOTFS}/etc/os-release'
+    run_privileged sed -i '/^IMAGE_UUID=.*/d' '${IMAGE_ROOTFS}/etc/os-release'
     echo "IMAGE_UUID=\"${IMAGE_UUID}\"" | \
-        sudo tee -a '${IMAGE_ROOTFS}/etc/os-release'
+        run_privileged tee -a '${IMAGE_ROOTFS}/etc/os-release'
 
     echo "TARGET_IMAGE_UUID=\"${IMAGE_UUID}\"" \
         > "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.uuid.env"
diff --git a/classes-recipe/read-only-rootfs.bbclass b/classes-recipe/read-only-rootfs.bbclass
index a67bb5f..1690ecb 100644
--- a/classes-recipe/read-only-rootfs.bbclass
+++ b/classes-recipe/read-only-rootfs.bbclass
@@ -44,15 +44,15 @@ IMMUTABLE_DATA_DIR ??= "/usr/share/immutable-data"
 
 copy_dpkg_state() {
     IMMUTABLE_VAR_LIB="${ROOTFSDIR}${IMMUTABLE_DATA_DIR}/var/lib"
-    sudo mkdir -p "$IMMUTABLE_VAR_LIB"
-    sudo cp -a ${ROOTFSDIR}/var/lib/dpkg "$IMMUTABLE_VAR_LIB/"
+    run_privileged mkdir -p "$IMMUTABLE_VAR_LIB"
+    run_privileged cp -a ${ROOTFSDIR}/var/lib/dpkg "$IMMUTABLE_VAR_LIB/"
 }
 
 ROOTFS_POSTPROCESS_COMMAND:append = " copy_home_to_immutable_data"
 ROOTFS_POSTPROCESS_COMMAND:remove:separate-home-part = " copy_home_to_immutable_data"
 copy_home_to_immutable_data() {
     IMMUTABLE_HOME_DIR="${ROOTFSDIR}${IMMUTABLE_DATA_DIR}"
-    sudo -s <<EOSUDO
+    run_privileged_heredoc <<EOSUDO
         set -e
         mkdir -p "$IMMUTABLE_HOME_DIR"
         rm -rf "$IMMUTABLE_HOME_DIR/home"
@@ -70,7 +70,7 @@ EROFS_EXCLUDE_DIRS = "${RO_ROOTFS_EXCLUDE_DIRS}"
 SQUASHFS_EXCLUDE_DIRS = "${RO_ROOTFS_EXCLUDE_DIRS}"
 
 image_configure_fstab() {
-    sudo tee '${IMAGE_ROOTFS}/etc/fstab' << EOF
+    run_privileged tee '${IMAGE_ROOTFS}/etc/fstab' << EOF
 # Begin /etc/fstab
 /dev/root	/		auto		defaults,ro			0	0
 LABEL=var	/var		auto		defaults			0	0
-- 
2.53.0