From 0584974538ac2b8d6877db22dea6c3615cc76612 Mon Sep 17 00:00:00 2001 From: Levon Gevorgyan Date: Fri, 8 Aug 2025 12:22:47 -0500 Subject: [PATCH] is_root_owned --- lib/common.sh | 15 +++++++++++++++ lib/docker.sh | 11 +++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib/common.sh b/lib/common.sh index 578cde7..78967a6 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -66,6 +66,21 @@ echo_if_fail() { return ${retval} } +is_root_owned() { + local path=$1 + local uid + + if stat --version >/dev/null 2>&1; then + # GNU coreutils (Linux) + uid=$(stat -c '%u' "$path") + else + # BSD/macOS + uid=$(stat -f '%u' "$path") + fi + + test "$uid" -eq 0 +} + dump_arr() { arr_name="$1" declare -n arr diff --git a/lib/docker.sh b/lib/docker.sh index fb983ac..9b54f22 100644 --- a/lib/docker.sh +++ b/lib/docker.sh @@ -87,6 +87,17 @@ docker_build_image() { # specific file for evaluated package manager info distroPkgMgr="${DOCKER_DIR}/${distro}-pkg_mgr" # get package manager info + + # TODO REMOVE + if is_root_owned "${IGN_DIR}"; then + docker run \ + --rm \ + -v "${REPO_DIR}:${DOCKER_WORKDIR}" \ + -w "${DOCKER_WORKDIR}" \ + "${dockerDistro}" \ + rm -rf "${DOCKER_WORKDIR}"/gitignore + fi + docker run \ "${DOCKER_RUN_FLAGS[@]}" \ "${dockerDistro}" \