summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2018-05-31 04:50:23 +0200
committerAllan McRae <allan@archlinux.org>2018-06-18 05:15:51 +0200
commitc37a06fe1d1fbd2be73adc725323e8a4665eeb09 (patch)
treefb61a7672abd61e84a8213072c1fd25205d29b34
parent9eb3695a3ff850b9dff66d667a4b27be1a233f42 (diff)
downloadpacman-c37a06fe1d1fbd2be73adc725323e8a4665eeb09.tar.gz
pacman-c37a06fe1d1fbd2be73adc725323e8a4665eeb09.tar.xz
libmakepkg: when checking for write permissions, handle pre-existing dirs
Simplifies the function a bit, but mostly, mkdir -p will never fail if the directory exists, and therefore makepkg never checks to see if it is actually writable. On the other hand, it's unnecessary to check if the directory exists once we know mkdir -p succeeded... Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/libmakepkg/util/util.sh.in10
1 files changed, 5 insertions, 5 deletions
diff --git a/scripts/libmakepkg/util/util.sh.in b/scripts/libmakepkg/util/util.sh.in
index c2f9c624..e1ca5cb7 100644
--- a/scripts/libmakepkg/util/util.sh.in
+++ b/scripts/libmakepkg/util/util.sh.in
@@ -86,12 +86,12 @@ ensure_writable_dir() {
local dirtype="$1" dirpath="$2"
if ! mkdir -p "$dirpath" 2>/dev/null; then
- if [[ -d $dirpath && ! -w $dirpath ]]; then
- error "$(gettext "You do not have write permission for the directory \$%s (%s).")" "$dirtype" "$dirpath"
- else
- error "$(gettext "Failed to create the directory \$%s (%s).")" "$dirtype" "$dirpath"
- fi
+ error "$(gettext "Failed to create the directory \$%s (%s).")" "$dirtype" "$dirpath"
+ return 1
+ elif [[ ! -w $dirpath ]]; then
+ error "$(gettext "You do not have write permission for the directory \$%s (%s).")" "$dirtype" "$dirpath"
return 1
fi
+
return 0
}