From 47af4ebf455b5a586d96c23f3ebd8a6a756ed040 Mon Sep 17 00:00:00 2001 From: Titus von Boxberg Date: Wed, 19 May 2010 18:22:32 +0200 Subject: scripts/functions: Use stat correctly on non-GNU (BSD/Darwin) systems. Call to get the directory mode depending on $CT_SYS_OS yann.morin.1998@anciens.enib.fr: CT_SYS_OS has changed on Linuxsystem, it only gets the kernel name "Linux", and not the system name, 'GNU/'. diff --git a/scripts/functions b/scripts/functions index e991a18..a4e8cd0 100644 --- a/scripts/functions +++ b/scripts/functions @@ -252,7 +252,17 @@ CT_DoForceRmdir() { local mode for dir in "${@}"; do [ -d "${dir}" ] || continue - mode="$(stat -c '%a' "$(dirname "${dir}")")" + case "$CT_SYS_OS" in + Linux) + mode="$(stat -c '%a' "$(dirname "${dir}")")" + ;; + Darwin|*BSD) + mode="$(stat -f '%Lp' "$(dirname "${dir}")")" + ;; + *) + CT_Abort "Unhandled host OS $CT_SYS_OS" + ;; + esac CT_DoExecLog ALL chmod u+w "$(dirname "${dir}")" CT_DoExecLog ALL chmod -R u+w "${dir}" CT_DoExecLog ALL rm -rf "${dir}" -- cgit v0.10.2-6-g49f6