From patchwork Tue Dec 23 10:48:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "srinuvasan.a" X-Patchwork-Id: 4782 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 23 Dec 2025 11:49:05 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f56.google.com (mail-wm1-f56.google.com [209.85.128.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5BNAn4QP015965 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 23 Dec 2025 11:49:04 +0100 Received: by mail-wm1-f56.google.com with SMTP id 5b1f17b1804b1-47d28e7960fsf1213645e9.0 for ; Tue, 23 Dec 2025 02:49:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1766486939; cv=pass; d=google.com; s=arc-20240605; b=DYRw0E6Xc9By7Yrft+glkF44jtiLSDv8XpyanCEu73KS3vWlJAn8Wfz4yxdJP+rJ/5 4rIZCH8q0HOGLrEjjgDOWxy9ZlVU+xJ405myT798oFD9E5XDbHSI7z1HmX13KD3gS+VR /GRDnTg6NhQJKMqVTguOMZ7n3ec23t0WiQz5Pi9BZYu/EUjUygEQIXhF6/HXTMbCoOlC x6ZyhOLnwFjQNLLzY7qSbT3cmQtVniR6JdY4wkvGZwWWHb/ysIi1qTR+yzdOCnMX3UIp eE7QJ2Tce5kn4gOeh+jWkk3hlwpiLqw5ylAI+Tfowm81nrBTjCafYfFDktUjL7BzZRb7 g2jA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=wMED/44hH5yW3IxnSP0CtAQIbnWYbJFkj2oGAiGyPZw=; fh=sFupvF9KtkT08O1gDKcRbjnoGAJEq7d02qskfAOMv1Q=; b=Y1tU8FbV9o+MBKETB7wJifeuQQuoeNIYmspGtHjC3/keaymdL6D+ifiQkKBzSgZ536 Fs7HJk+YpjPWfBNCJQMmOoAeH5alETTHgz5zo0t+Pj1PZV44ayi8TQ465l7BxD/GkAox rd06L5dMwv714OdGdbHUQ6TvcCVl0JQXNYJ5IetHc48G6QPwVdY5bB5cynIUzmrK7yUp 0Upb0xXopeizdwu8GdLQRua+oisKe2mepfmVZ6LSbUDfvpfB5UCDwgKP7Hv6lRAJX+4+ GCDQ8HcdHnjhLAWCs7lngrylmcT7680qASz5pf6KDW5MDGcsdxIljs6rOfAnGekz/4hm XsNg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=UpAQasIq; spf=pass (google.com: domain of fm-1324425-20251223104855b478bc93e300020797-hxenyn@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1324425-20251223104855b478bc93e300020797-HxENyN@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1766486939; x=1767091739; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=wMED/44hH5yW3IxnSP0CtAQIbnWYbJFkj2oGAiGyPZw=; b=v8qeTCI6LXdKgOn/bEcDeecywD9ErUXcCgUblpjof5ceo3SYHeQl9TTsbszoh4BHfH GMP+1d6JhkKgSn95TGhUazBpHnVS8CXemhgLjOyYXsPrViWDKmsrH4PMq15chP7xQP2P x4E0TggtumaCPqB/aWYVEMjijaX60/EBZkEYMOH8xCZ28/C8bHreL1aNe/WeO0WEpmHH OdYuP0tS1Cq405I4J2ugeIxo4fCXaYBTo2YC52jhjQmexbwGelEpQnE2x59qqhjSlMOE X/SNbZv0ocITk3HVkCDSJm9ts/cc5MIdSe58HdOOAm8GdmAui4ldigKDFNz62TVh9359 qRrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766486939; x=1767091739; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wMED/44hH5yW3IxnSP0CtAQIbnWYbJFkj2oGAiGyPZw=; b=bLaCGqlN+Fo56yKGzdtPhGacEnID5ha0QNF8zfskxe5VxW/ng3Aw4yoPSetOE10RZV G3xmL/3s42pRM86CiYYzpDzEzlsAOMjK8A2VGhiAOUGgWT0emQGDAUkZWsjg5xBT1853 ZSMRrKYSy/BfplphU34dEElslSCq8ICW6ShQkOl8wLefM4wn4gijcKH7t3EL5kz92U3A Gehk42UIpe080b8n1s1maloVJGuLTNUiS8pwEamDlNmPzIZfOU4R8nyrhgUOo7JRH4+l KOj5RRKb6h95TpKfqKwtGgsKwJzTsOnmk2WOzt7oZPbq0g+U2VkKwO7vulHpvvzWTPZ1 iULQ== X-Forwarded-Encrypted: i=2; AJvYcCWb9SK3T/wxqCki9r2HgKEtyDgnW3ObXkeHCR3mSXnKn0Bo5USAcGT5DSTn3KXe/IBzueHQ6IA=@isar-build.org X-Gm-Message-State: AOJu0YzUJwfJxGiI3Y3L4yec2S3x2uxWGvTNsZkvmkyqmxXUq9/iwNSx 5zj+2zWxxPwdBx7z/zrktvg8gXQw88eI4FoEOxCN/x2sFxft2vaXSyS0 X-Google-Smtp-Source: AGHT+IFw7lGlj0+tgUmItVt1cGW3tsiNhwFVrzDy+HnWRpI0k869UgTGQ5qfxmr6JpqM0U1bACSIRg== X-Received: by 2002:a05:600c:350c:b0:477:7658:572a with SMTP id 5b1f17b1804b1-47d19584900mr122350065e9.20.1766486938616; Tue, 23 Dec 2025 02:48:58 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AWVwgWbxwzuMQd42sq6kOLERMahSrRaZ1omJvr6NoTPJCFHk7w==" Received: by 2002:a05:600c:3593:b0:477:a036:8e82 with SMTP id 5b1f17b1804b1-47a8ea1a3d6ls69557415e9.0.-pod-prod-08-eu; Tue, 23 Dec 2025 02:48:56 -0800 (PST) X-Received: by 2002:a05:600c:154b:b0:458:a7fa:211d with SMTP id 5b1f17b1804b1-47d1958fd40mr131017335e9.29.1766486936060; Tue, 23 Dec 2025 02:48:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1766486936; cv=none; d=google.com; s=arc-20240605; b=BgAPaWyKgqonhkiM/sLlQq+8QKNO4IVF5dHB5JwoxbNcKlSDOJLj7FuaKcqf+NwxVv QwKHbeJEIfTw6l0hUPi772UW383sK6S2G5rF741BKY2yHh9jkRetMOeEgJU/QUkJLONu WBrRKrqdglnZX9RZ2uGanjaJ+wNT4+gMh0wGuAR8MT3svMX2cQ2GnYIyI1P4kUGhVJr9 kV7D8KUk1UZxN1lmMp1OvItrjlH2imoW8b0JR7l+Kidcghk5P0ARmOJQL5omCztll+50 z2t70OBBYXrkLz8SOb2dgMJ1LutLCy8LjrB9pog5Wevsza2lUl5UaL2aAhi/4sLn64jL hMCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=L6d87RRgMKchxuoQyuNWJlzcA4SyRJdstvj1BA1oWaU=; fh=q34A+PDu/veyKhQmJ8Sf9YPiZusI+h3MND2WD1Gk9tg=; b=HS/dT+qLlMRIUhrkKGbMpCwbO34hCUKYzwZ3eTLUZ5T1r/4Dy8enpI81XLe+L2VJ1O +Xkxw1Jspivdr41Bk+2iWiOONqNGnPc8q8PwHImlEv1HFqLz3fMltGEfwEzMeZuCyM2q R9gTe9wzbJsOQoiTkPxl1KzyhsjySSRAvciCeb1btTb8pGR81SCOJEjr8cHdA1YGgnEx IomLrbGb2+y0N1Cuj2ABLHOEAWHjQijhmF9qVpDRD1UMBa534hi5h3cYkjRNaLGAy9Ad +EJ4xWd5HvApDjVLeFsfBItoeNBm4mMD77Ks0pbbJmYT7k6D9nX8aSSjpuL6qLhDISLs 1HtA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=UpAQasIq; spf=pass (google.com: domain of fm-1324425-20251223104855b478bc93e300020797-hxenyn@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1324425-20251223104855b478bc93e300020797-HxENyN@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-432650f05a5si67630f8f.2.2025.12.23.02.48.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Dec 2025 02:48:56 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1324425-20251223104855b478bc93e300020797-hxenyn@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251223104855b478bc93e300020797 for ; Tue, 23 Dec 2025 11:48:55 +0100 X-Patchwork-Original-From: "srinuvasan.a via isar-users" From: "srinuvasan.a" To: isar-users@googlegroups.com Cc: Srinuvasan A Subject: [PATCH] kas: update to kas-container 5.1 Date: Tue, 23 Dec 2025 16:18:47 +0530 Message-Id: <20251223104847.5584-1-srinuvasan.a@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1324425:519-21489:flowmailer X-Original-Sender: srinuvasan.a@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=UpAQasIq; spf=pass (google.com: domain of fm-1324425-20251223104855b478bc93e300020797-hxenyn@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1324425-20251223104855b478bc93e300020797-HxENyN@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: srinuvasan.a@siemens.com Reply-To: srinuvasan.a@siemens.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Srinuvasan A Signed-off-by: Srinuvasan A --- kas/kas-container | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) mode change 100755 => 100644 kas/kas-container diff --git a/kas/kas-container b/kas/kas-container old mode 100755 new mode 100644 index 476724c7..b46682e4 --- a/kas/kas-container +++ b/kas/kas-container @@ -27,8 +27,9 @@ set -e -KAS_CONTAINER_SCRIPT_VERSION="4.8.2" +KAS_CONTAINER_SCRIPT_VERSION="5.1" KAS_IMAGE_VERSION_DEFAULT="${KAS_CONTAINER_SCRIPT_VERSION}" +KAS_CONTAINER_IMAGE_DISTRO_DEFAULT="debian-bookworm" KAS_CONTAINER_IMAGE_PATH_DEFAULT="ghcr.io/siemens/kas" KAS_CONTAINER_IMAGE_NAME_DEFAULT="kas" KAS_CONTAINER_SELF_NAME="$(basename "$0")" @@ -64,7 +65,8 @@ usage() printf "%b" "menu\t\t\tProvide configuration menu and trigger " \ "configured build.\n" printf "%b" "\nOptional arguments:\n" - printf "%b" "--isar\t\t\tUse kas-isar container to build Isar image.\n" + printf "%b" "--isar\t\t\tUse kas-isar container to build Isar image. To force\n" + printf "%b" " \t\t\tthe use of run0 over sudo, set KAS_SUDO_CMD=run0.\n" printf "%b" "--with-loop-dev Pass a loop device to the " \ "container. Only required if\n" printf "%b" "\t\t\tloop-mounting is used by recipes.\n" @@ -117,6 +119,26 @@ trace() "$@" } +prepare_sudo_cmd() +{ + if [ -z "${KAS_SUDO_CMD}" ]; then + # Try to auto-detect a privileged executor + if command -v sudo >/dev/null; then + KAS_SUDO_CMD="sudo" + elif command -v run0 >/dev/null; then + KAS_SUDO_CMD="run0" + else + fatal_error "No privileged executor found, need sudo or run0." + fi + fi + + case "$KAS_SUDO_CMD" in + sudo) _KAS_SUDO_CMD="sudo --preserve-env";; + run0) _KAS_SUDO_CMD="run0 --background= --unit=kas-container@$$";; + *) fatal_error "Unsupported KAS_SUDO_CMD ('${KAS_SUDO_CMD}'), use sudo or run0.";; + esac +} + enable_isar_mode() { if [ -n "${ISAR_MODE}" ]; then @@ -128,15 +150,17 @@ enable_isar_mode() KAS_ISAR_ARGS="--privileged" if [ "${KAS_CONTAINER_ENGINE}" = "podman" ]; then + prepare_sudo_cmd # sudo is needed for a privileged podman container - KAS_CONTAINER_COMMAND="sudo --preserve-env ${KAS_CONTAINER_COMMAND}" + KAS_CONTAINER_COMMAND="${_KAS_SUDO_CMD} ${KAS_CONTAINER_COMMAND}" # preserved user PATH may lack sbin needed by privileged podman export PATH="${PATH}:/usr/sbin" elif [ "${KAS_DOCKER_ROOTLESS}" = "1" ]; then + prepare_sudo_cmd export DOCKER_HOST="${DOCKER_HOST:-unix:///var/run/docker.sock}" debug "kas-isar does not support rootless docker. Using system docker" # force use of well-known system docker socket - KAS_CONTAINER_COMMAND="sudo --preserve-env ${KAS_CONTAINER_COMMAND}" + KAS_CONTAINER_COMMAND="${_KAS_SUDO_CMD} ${KAS_CONTAINER_COMMAND}" KAS_DOCKER_ROOTLESS=0 fi } @@ -267,10 +291,14 @@ trap kas_container_cleanup EXIT INT TERM set_container_image_var() { KAS_IMAGE_VERSION="${KAS_IMAGE_VERSION:-${KAS_IMAGE_VERSION_DEFAULT}}" + KAS_CONTAINER_IMAGE_DISTRO="${KAS_CONTAINER_IMAGE_DISTRO:-${KAS_CONTAINER_IMAGE_DISTRO_DEFAULT}}" KAS_CONTAINER_IMAGE_NAME="${KAS_CONTAINER_IMAGE_NAME:-${KAS_CONTAINER_IMAGE_NAME_DEFAULT}}" KAS_CONTAINER_IMAGE_PATH="${KAS_CONTAINER_IMAGE_PATH:-${KAS_CONTAINER_IMAGE_PATH_DEFAULT}}" KAS_CONTAINER_IMAGE_DEFAULT="${KAS_CONTAINER_IMAGE_PATH}/${KAS_CONTAINER_IMAGE_NAME}:${KAS_IMAGE_VERSION}" KAS_CONTAINER_IMAGE="${KAS_CONTAINER_IMAGE:-${KAS_CONTAINER_IMAGE_DEFAULT}}" + if [ -n "${KAS_CONTAINER_IMAGE_DISTRO}" ]; then + KAS_CONTAINER_IMAGE="${KAS_CONTAINER_IMAGE}-${KAS_CONTAINER_IMAGE_DISTRO}" + fi } # SC2034: DIR appears unused (ignore, as they are used inside eval) @@ -283,6 +311,7 @@ setup_kas_dirs() KAS_REPO_REF_DIR="$(check_and_expand KAS_REPO_REF_DIR required)" DL_DIR="$(check_and_expand DL_DIR createrec)" SSTATE_DIR="$(check_and_expand SSTATE_DIR createrec)" + KAS_BUILDTOOLS_DIR="$(check_and_expand KAS_BUILDTOOLS_DIR createrec)" } setup_kas_dirs @@ -339,6 +368,10 @@ while [ $# -gt 0 ]; do if [ "$(id -u)" -eq 0 ]; then fatal_error "loop device not available!" fi + prepare_sudo_cmd + if ! [ "$KAS_SUDO_CMD" = "sudo" ]; then + fatal_error '--with-loop-dev requires sudo for device setup.' + fi sudo_command="/sbin/losetup -f" sudo_message="[sudo] enter password to setup loop" sudo_message="$sudo_message devices by calling" @@ -593,6 +626,7 @@ forward_dir KAS_BUILD_DIR "/build" "rw" forward_dir DL_DIR "/downloads" "rw" forward_dir KAS_REPO_REF_DIR "/repo-ref" "rw" forward_dir SSTATE_DIR "/sstate" "rw" +forward_dir KAS_BUILDTOOLS_DIR "/buildtools" "rw" if git_com_dir=$(git -C "${KAS_REPO_DIR}" rev-parse --git-common-dir 2>/dev/null) \ && [ "$git_com_dir" != "$(git -C "${KAS_REPO_DIR}" rev-parse --git-dir)" ]; then