public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH 1/1] kas: update kas and kas-container to 5.5
@ 2026-09-07  7:51 'Felix Moessbauer' via isar-users
  2026-09-14 12:50 ` Zhihang Wei
  0 siblings, 1 reply; 2+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2026-09-07  7:51 UTC (permalink / raw)
  To: isar-users; +Cc: Felix Moessbauer

Along other fixes, this release adresses uid / gid mapping issues on
rootless.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 .gitlab-ci.yml    |  2 +-
 kas/kas-container | 35 ++++++++++++++++++++++++++---------
 2 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c880663b..d4ecfe5a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,5 @@
 default:
-  image: ghcr.io/siemens/kas/kas-isar:5.4
+  image: ghcr.io/siemens/kas/kas-isar:5.5
 
 variables:
   GIT_STRATEGY: clone
diff --git a/kas/kas-container b/kas/kas-container
index 631e40c3..d03717f0 100755
--- a/kas/kas-container
+++ b/kas/kas-container
@@ -27,7 +27,7 @@
 
 set -e
 
-KAS_CONTAINER_SCRIPT_VERSION="5.4"
+KAS_CONTAINER_SCRIPT_VERSION="5.5"
 KAS_IMAGE_VERSION_DEFAULT="${KAS_CONTAINER_SCRIPT_VERSION}"
 KAS_CONTAINER_IMAGE_DISTRO_DEFAULT=""
 KAS_CONTAINER_IMAGE_PATH_DEFAULT="ghcr.io/siemens/kas"
@@ -70,6 +70,8 @@ usage()
 	            "To force the use\n"
 	printf "%b" "\t\t\tof run0 over sudo, set KAS_SUDO_CMD=run0.\n"
 	printf "%b" "--isar-rootless\t\tRun an Isar build in rootless mode.\n"
+	printf "%b" "--kvm\t\tPass /dev/kvm into the container (for runqemu/testimage KVM\n" \
+			"acceleration) and grant the build user access to it."
 	printf "%b" "--runtime-args\t\tAdditional arguments to pass to the " \
 			"container runtime.\n"
 	printf "%b" "\t\t\tfor running the build.\n"
@@ -242,6 +244,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)"
+	BB_HASHSERVE_DB_DIR="$(check_and_expand BB_HASHSERVE_DB_DIR createrec)"
 	KAS_BUILDTOOLS_DIR="$(check_and_expand KAS_BUILDTOOLS_DIR createrec)"
 }
 
@@ -343,13 +346,17 @@ while [ $# -gt 0 ]; do
 		BUILD_SYSTEM="isar-rootless"
 		shift 1
 		;;
+	--kvm)
+		KAS_KVM="1"
+		shift 1
+		;;
 	--runtime-args | --docker-args)
-		[ $# -gt 0 ] || usage
-		KAS_EXTRA_RUNTIME_ARGS=" $2"
+		[ $# -gt 1 ] || usage
+		KAS_EXTRA_RUNTIME_ARGS="${KAS_EXTRA_RUNTIME_ARGS} $2"
 		shift 2
 		;;
 	--ssh-dir)
-		[ $# -gt 2 ] || usage
+		[ $# -gt 1 ] || usage
 		KAS_SSH_DIR="$2"
 		shift 2
 		;;
@@ -361,18 +368,18 @@ while [ $# -gt 0 ]; do
 		shift 1
 		;;
 	--aws-dir)
-		[ $# -gt 2 ] || usage
+		[ $# -gt 1 ] || usage
 		KAS_AWS_DIR="$2"
 		shift 2
 		;;
 	--git-credential-store)
-		[ $# -gt 2 ] || usage
+		[ $# -gt 1 ] || usage
 		KAS_GIT_CREDENTIAL_STORE="$2"
 		shift 2
 		;;
 
 	--git-credential-socket)
-		[ $# -gt 2 ] || usage
+		[ $# -gt 1 ] || usage
 		KAS_GIT_CREDENTIAL_SOCKET="$2"
 		shift 2
 		;;
@@ -515,7 +522,7 @@ if [ "${KAS_CMD}" = "menu" ]; then
 
 	# When using the menu plugin, we need to track the KAS_REPO_DIR outside
 	# of the container to later allow a simple `kas-container build`. For
-	# that, we tell the kas menu plugin via an env-var about the location
+	# that, we tell the kas menu command via an env-var about the location
 	# on the host. This data is then added to the .config.yaml where it can
 	# be evaluated by the next invocation of kas-container.
 
@@ -632,6 +639,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 BB_HASHSERVE_DB_DIR "/bb-hashserve-db" "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) \
@@ -689,6 +697,14 @@ if [ -n "${AWS_WEB_IDENTITY_TOKEN_FILE}" ] ; then
 		-e AWS_ROLE_ARN="${AWS_ROLE_ARN}"
 fi
 
+if [ -n "${KAS_KVM}" ]; then
+	if [ -c /dev/kvm ]; then
+		set -- "$@" --device=/dev/kvm
+	else
+		warning "--kvm given but /dev/kvm not present on host; skipping"
+	fi
+fi
+
 KAS_GIT_CREDENTIAL_HELPER_DEFAULT=""
 
 if [ -n "${KAS_GIT_CREDENTIAL_STORE}" ] ; then
@@ -753,7 +769,8 @@ fi
 for var in TERM KAS_DISTRO KAS_MACHINE KAS_TARGET KAS_TASK KAS_CLONE_DEPTH \
            KAS_PREMIRRORS DISTRO_APT_PREMIRRORS BB_NUMBER_THREADS PARALLEL_MAKE \
            GIT_CREDENTIAL_USEHTTPPATH \
-           TZ; do
+           BB_HASHSERVE BB_HASHSERVE_UPSTREAM \
+           NO_COLOR TZ; do
 	if [ -n "$(eval echo \$${var})" ]; then
 		set -- "$@" -e "${var}=$(eval echo \"\$${var}\")"
 	fi
-- 
2.55.0

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260907075146.3199116-1-felix.moessbauer%40siemens.com.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] kas: update kas and kas-container to 5.5
  2026-09-07  7:51 [PATCH 1/1] kas: update kas and kas-container to 5.5 'Felix Moessbauer' via isar-users
@ 2026-09-14 12:50 ` Zhihang Wei
  0 siblings, 0 replies; 2+ messages in thread
From: Zhihang Wei @ 2026-09-14 12:50 UTC (permalink / raw)
  To: Felix Moessbauer, isar-users

Applied to next, thanks.
I'll bump the test-container version as well.

Zhihang

On 9/7/26 09:51, 'Felix Moessbauer' via isar-users wrote:
> Along other fixes, this release adresses uid / gid mapping issues on
> rootless.
>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
>   .gitlab-ci.yml    |  2 +-
>   kas/kas-container | 35 ++++++++++++++++++++++++++---------
>   2 files changed, 27 insertions(+), 10 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index c880663b..d4ecfe5a 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -1,5 +1,5 @@
>   default:
> -  image: ghcr.io/siemens/kas/kas-isar:5.4
> +  image: ghcr.io/siemens/kas/kas-isar:5.5
>   
>   variables:
>     GIT_STRATEGY: clone
> diff --git a/kas/kas-container b/kas/kas-container
> index 631e40c3..d03717f0 100755
> --- a/kas/kas-container
> +++ b/kas/kas-container
> @@ -27,7 +27,7 @@
>   
>   set -e
>   
> -KAS_CONTAINER_SCRIPT_VERSION="5.4"
> +KAS_CONTAINER_SCRIPT_VERSION="5.5"
>   KAS_IMAGE_VERSION_DEFAULT="${KAS_CONTAINER_SCRIPT_VERSION}"
>   KAS_CONTAINER_IMAGE_DISTRO_DEFAULT=""
>   KAS_CONTAINER_IMAGE_PATH_DEFAULT="ghcr.io/siemens/kas"
> @@ -70,6 +70,8 @@ usage()
>   	            "To force the use\n"
>   	printf "%b" "\t\t\tof run0 over sudo, set KAS_SUDO_CMD=run0.\n"
>   	printf "%b" "--isar-rootless\t\tRun an Isar build in rootless mode.\n"
> +	printf "%b" "--kvm\t\tPass /dev/kvm into the container (for runqemu/testimage KVM\n" \
> +			"acceleration) and grant the build user access to it."
>   	printf "%b" "--runtime-args\t\tAdditional arguments to pass to the " \
>   			"container runtime.\n"
>   	printf "%b" "\t\t\tfor running the build.\n"
> @@ -242,6 +244,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)"
> +	BB_HASHSERVE_DB_DIR="$(check_and_expand BB_HASHSERVE_DB_DIR createrec)"
>   	KAS_BUILDTOOLS_DIR="$(check_and_expand KAS_BUILDTOOLS_DIR createrec)"
>   }
>   
> @@ -343,13 +346,17 @@ while [ $# -gt 0 ]; do
>   		BUILD_SYSTEM="isar-rootless"
>   		shift 1
>   		;;
> +	--kvm)
> +		KAS_KVM="1"
> +		shift 1
> +		;;
>   	--runtime-args | --docker-args)
> -		[ $# -gt 0 ] || usage
> -		KAS_EXTRA_RUNTIME_ARGS=" $2"
> +		[ $# -gt 1 ] || usage
> +		KAS_EXTRA_RUNTIME_ARGS="${KAS_EXTRA_RUNTIME_ARGS} $2"
>   		shift 2
>   		;;
>   	--ssh-dir)
> -		[ $# -gt 2 ] || usage
> +		[ $# -gt 1 ] || usage
>   		KAS_SSH_DIR="$2"
>   		shift 2
>   		;;
> @@ -361,18 +368,18 @@ while [ $# -gt 0 ]; do
>   		shift 1
>   		;;
>   	--aws-dir)
> -		[ $# -gt 2 ] || usage
> +		[ $# -gt 1 ] || usage
>   		KAS_AWS_DIR="$2"
>   		shift 2
>   		;;
>   	--git-credential-store)
> -		[ $# -gt 2 ] || usage
> +		[ $# -gt 1 ] || usage
>   		KAS_GIT_CREDENTIAL_STORE="$2"
>   		shift 2
>   		;;
>   
>   	--git-credential-socket)
> -		[ $# -gt 2 ] || usage
> +		[ $# -gt 1 ] || usage
>   		KAS_GIT_CREDENTIAL_SOCKET="$2"
>   		shift 2
>   		;;
> @@ -515,7 +522,7 @@ if [ "${KAS_CMD}" = "menu" ]; then
>   
>   	# When using the menu plugin, we need to track the KAS_REPO_DIR outside
>   	# of the container to later allow a simple `kas-container build`. For
> -	# that, we tell the kas menu plugin via an env-var about the location
> +	# that, we tell the kas menu command via an env-var about the location
>   	# on the host. This data is then added to the .config.yaml where it can
>   	# be evaluated by the next invocation of kas-container.
>   
> @@ -632,6 +639,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 BB_HASHSERVE_DB_DIR "/bb-hashserve-db" "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) \
> @@ -689,6 +697,14 @@ if [ -n "${AWS_WEB_IDENTITY_TOKEN_FILE}" ] ; then
>   		-e AWS_ROLE_ARN="${AWS_ROLE_ARN}"
>   fi
>   
> +if [ -n "${KAS_KVM}" ]; then
> +	if [ -c /dev/kvm ]; then
> +		set -- "$@" --device=/dev/kvm
> +	else
> +		warning "--kvm given but /dev/kvm not present on host; skipping"
> +	fi
> +fi
> +
>   KAS_GIT_CREDENTIAL_HELPER_DEFAULT=""
>   
>   if [ -n "${KAS_GIT_CREDENTIAL_STORE}" ] ; then
> @@ -753,7 +769,8 @@ fi
>   for var in TERM KAS_DISTRO KAS_MACHINE KAS_TARGET KAS_TASK KAS_CLONE_DEPTH \
>              KAS_PREMIRRORS DISTRO_APT_PREMIRRORS BB_NUMBER_THREADS PARALLEL_MAKE \
>              GIT_CREDENTIAL_USEHTTPPATH \
> -           TZ; do
> +           BB_HASHSERVE BB_HASHSERVE_UPSTREAM \
> +           NO_COLOR TZ; do
>   	if [ -n "$(eval echo \$${var})" ]; then
>   		set -- "$@" -e "${var}=$(eval echo \"\$${var}\")"
>   	fi

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/55bbcd30-23ea-422f-bafe-6bdcfd03cded%40ilbers.de.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-14 12:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-07  7:51 [PATCH 1/1] kas: update kas and kas-container to 5.5 'Felix Moessbauer' via isar-users
2026-09-14 12:50 ` Zhihang Wei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox