fall back to /tmp for LOCPATH if HOME does not exist or not writable

In this case, we can't clean up old locale caches, but presumably the
system has something to clean up /tmp eventually.
This commit is contained in:
Joey Hess 2018-07-10 13:26:35 -04:00
parent e802323071
commit f991c8c526
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -126,6 +126,13 @@ unset LD_PRELOAD
ORIG_LOCPATH="$LOCPATH"
export ORIG_LOCPATH
LOCPATH="$HOME/.cache/git-annex/locales/$(echo "$base" | tr / _ )"
if ! mkdir -p "$LOCPATH" 2>/dev/null; then
tlocpath=$(mktemp -d -p /tmp annexlocalesXXXXXXXXX 2>/dev/null || true)
if [ -z "$tlocpath" ]; then
tlocpath="/tmp/annexlocales.$$"
fi
LOCPATH="$tlocpath/locales/$(echo "$base" | tr / _ )"
fi
export LOCPATH
# Clean up locale caches when their standalone bundle no longer exists.