diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2018-05-31 04:50:23 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2018-06-18 05:15:51 +0200 |
commit | c37a06fe1d1fbd2be73adc725323e8a4665eeb09 (patch) | |
tree | fb61a7672abd61e84a8213072c1fd25205d29b34 /scripts/libmakepkg/util/util.sh.in | |
parent | 9eb3695a3ff850b9dff66d667a4b27be1a233f42 (diff) | |
download | pacman-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>
Diffstat (limited to 'scripts/libmakepkg/util/util.sh.in')
-rw-r--r-- | scripts/libmakepkg/util/util.sh.in | 10 |
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 } |