This patch reworks the kas-container clean* logic to support passing a
kas configuration file. In case this file is passed, the build system is
read from the file and the clean command is called accordingly.
Signed-off-by: Felix Moessbauer <
felix.mo...@siemens.com>
---
kas-container | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/kas-container b/kas-container
index 36784cb..056d49b 100755
--- a/kas-container
+++ b/kas-container
@@ -32,7 +32,7 @@ usage()
printf "%b" "Usage: $0 [OPTIONS] { build | shell } [KASOPTIONS] [KASFILE]\n"
printf "%b" " $0 [OPTIONS] { checkout | dump } [KASOPTIONS] [KASFILE]\n"
printf "%b" " $0 [OPTIONS] for-all-repos [KASOPTIONS] [KASFILE] COMMAND\n"
- printf "%b" " $0 [OPTIONS] { clean | cleansstate | cleanall}\n"
+ printf "%b" " $0 [OPTIONS] { clean | cleansstate | cleanall} [KASFILE]\n"
printf "%b" " $0 [OPTIONS] menu [KCONFIG]\n"
printf "%b" "\nPositional arguments:\n"
printf "%b" "build\t\t\tCheck out repositories and build target.\n"
@@ -113,7 +113,6 @@ enable_oe_mode() {
run_clean() {
if [ -n "${KAS_ISAR_ARGS}" ]; then
- set_container_image_var
# SC2086: Double quote to prevent globbing and word splitting.
# shellcheck disable=2086
trace ${KAS_CONTAINER_COMMAND} run -v "${KAS_BUILD_DIR}":/build:rw \
@@ -285,9 +284,9 @@ while [ $# -gt 0 ]; do
usage
;;
clean|cleansstate|cleanall)
- [ $# -eq 1 ] || usage
- run_clean "$1"
- exit 0
+ KAS_CMD=$1
+ shift 1
+ break
;;
shell)
KAS_REPO_MOUNT_OPT_DEFAULT="rw"
@@ -420,6 +419,13 @@ fi
set_container_image_var
+# short circuit for clean* commands. We just need
+# the build-system information, but no repo mounts, etc...
+if echo "${KAS_CMD}" | grep -qe "^clean"; then
+ run_clean ${KAS_CMD}
+ exit 0
+fi
+
KAS_REPO_MOUNT_OPT="${KAS_REPO_MOUNT_OPT:-${KAS_REPO_MOUNT_OPT_DEFAULT}}"
KAS_FILES="$(echo "${KAS_FILES}" | sed 's|'"${KAS_REPO_DIR}"'/|/repo/|g')"
--
2.39.2