From: Alexander Heinisch <
alexander...@siemens.com>
By default kas uses following values for:
KAS_WORK_DIR ... current working directory
KAS_BUILD_DIR ... ${KAS_WORK_DIR}/build
and kas executes in the current working directory / dir of invocation
When running ./kas-container those paths change to:
KAS_WORK_DIR ... /work
KAS_BUILD_DIR ... /build
and kas executes in /repo
This changes the used paths dependent on container or non-container
invocation of kas. While this should not matter in general, it does
when using custom `BBLAYERS` assignments (instead of kas autogenerated ones).
Signed-off-by: Alexander Heinisch <
alexander...@siemens.com>
---
kas-container | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/kas-container b/kas-container
index 6000783..2db0542 100755
--- a/kas-container
+++ b/kas-container
@@ -604,25 +604,30 @@ if [ "${KAS_DOCKER_ROOTLESS}" = "1" ]; then
enable_docker_rootless
fi
+KAS_CONTAINER_REPO_DIR=${KAS_CONTAINER_REPO_DIR:-"/repo"}
+KAS_CONTAINER_WORK_DIR=${KAS_CONTAINER_WORK_DIR:-"/work"}
+KAS_CONTAINER_BUILD_DIR=${KAS_CONTAINER_BUILD_DIR:-"/build"}
+
if [ "${KAS_CMD}" = "diff" ]; then
if [ "$(echo "${KAS_FILES}" | wc -w)" -eq "2" ]; then
_KAS_REPO_DIR1="$(echo "${KAS_REPO_DIRS}" | awk '{print $1}')"
_KAS_REPO_DIR2="$(echo "${KAS_REPO_DIRS}" | awk '{print $2}')"
- _KAS_FILES1="$(echo "${KAS_FILES}" | awk '{print $1}' | sed 's|'"${_KAS_REPO_DIR1}"'/|/repo/|g')"
+ _KAS_FILES1="$(echo "${KAS_FILES}" | awk '{print $1}' | sed 's|'"${_KAS_REPO_DIR1}"'/|'"${KAS_CONTAINER_REPO_DIR}"'/|g')"
_KAS_FILES2="$(echo "${KAS_FILES}" | awk '{print $2}' | sed 's|'"${_KAS_REPO_DIR2}"'/|/repo2/|g')"
KAS_FILES="${_KAS_FILES1} ${_KAS_FILES2}"
set -- "$@" -v "${_KAS_REPO_DIR2}:/repo2:${KAS_REPO_MOUNT_OPT}"
fi
else
- KAS_FILES="$(echo "${KAS_FILES}" | sed 's|'"${KAS_REPO_DIR}"'/|/repo/|g')"
+ KAS_FILES="$(echo "${KAS_FILES}" | sed 's|'"${KAS_REPO_DIR}"'/|'"${KAS_CONTAINER_REPO_DIR}"'/|g')"
fi
-set -- "$@" -v "${KAS_REPO_DIR}:/repo:${KAS_REPO_MOUNT_OPT}" \
- -v "${KAS_WORK_DIR}":/work:rw -e KAS_WORK_DIR=/work \
- --workdir=/repo \
+
+set -- "$@" -v "${KAS_REPO_DIR}":"${KAS_CONTAINER_REPO_DIR}":"${KAS_REPO_MOUNT_OPT}" \
+ -v "${KAS_WORK_DIR}":"${KAS_CONTAINER_WORK_DIR}":rw -e KAS_WORK_DIR="${KAS_CONTAINER_WORK_DIR}" \
+ --workdir="${KAS_CONTAINER_REPO_DIR}" \
-e KAS_CONTAINER_SCRIPT_VERSION="${KAS_CONTAINER_SCRIPT_VERSION}" \
-e USER_ID="$(id -u)" -e GROUP_ID="$(id -g)" --rm --init
-forward_dir KAS_BUILD_DIR "/build" "rw"
+forward_dir KAS_BUILD_DIR "${KAS_CONTAINER_BUILD_DIR}" "rw"
forward_dir DL_DIR "/downloads" "rw"
forward_dir KAS_REPO_REF_DIR "/repo-ref" "rw"
forward_dir SSTATE_DIR "/sstate" "rw"
@@ -637,7 +642,7 @@ if git_com_dir=$(git -C "${KAS_REPO_DIR}" rev-parse --git-common-dir 2>/dev/null
KAS_GIT_OVERLAY_FILE=$(mktemp)
sed "s|gitdir: ${git_com_dir}/|gitdir: /repo-common/|" "${KAS_REPO_DIR}/.git" > "${KAS_GIT_OVERLAY_FILE}"
set -- "$@" -v "${git_com_dir}:/repo-common:${KAS_REPO_MOUNT_OPT}" \
- -v "${KAS_GIT_OVERLAY_FILE}:/repo/.git:ro"
+ -v "${KAS_GIT_OVERLAY_FILE}:${KAS_CONTAINER_REPO_DIR}/.git:ro"
# if the workdir is the same as the repo dir, it is the same shared worktree
if [ "${KAS_WORK_DIR}" = "${KAS_REPO_DIR}" ]; then
set -- "$@" -v "${KAS_GIT_OVERLAY_FILE}:/work/.git:ro"
--
2.47.3