diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2023-12-21 17:34:59 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2024-01-01 20:33:08 -0500 |
commit | 7888e92b142010230f533d14c3511090340be709 (patch) | |
tree | e8ee0059bd880f61cb504a49474be6ac08be7e31 | |
parent | 2548a8829efb146f57a382a30df899a5ae925573 (diff) |
refactor LIBREUSER,LIBREHOME computation
-rw-r--r-- | src/lib/conf.sh.in | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/lib/conf.sh.in b/src/lib/conf.sh.in index 35a537b..8ca3fdf 100644 --- a/src/lib/conf.sh.in +++ b/src/lib/conf.sh.in @@ -44,30 +44,33 @@ REPOUSER= # NOTE: $WORKDIR and $LIBREHOME/.cache must be writable by $LIBREUSER LIBREHOME= -readonly SUPPORTED_ARCHES=( armv7h i686 x86_64 ) -readonly EXPERIMENTAL_ARCHES=( aarch64 ppc64le riscv64 ) - ## configuration end ## ## prepare environment ## # supported architectures + readonly SUPPORTED_ARCHES=( armv7h i686 x86_64 ) readonly EXPERIMENTAL_ARCHES=( aarch64 ppc64le riscv64 ) readonly ALL_ARCHES=( ${SUPPORTED_ARCHES[*]} ${EXPERIMENTAL_ARCHES[*]} ) -# login and home of the calling user -[[ "$(id -u "${SUDO_USER:-root}")" != 0 ]] || unset SUDO_USER +# deduce login and home of the calling user +(( $(id -u "${SUDO_USER:-root}" 2> /dev/null) )) || unset SUDO_USER readonly LIBREUSER=${SUDO_USER:-$USER} readonly LIBREHOME=$(eval "echo ${LIBREHOME:-~$LIBREUSER}") [[ -n ${XDG_CONFIG_HOME:-} ]] || export XDG_CONFIG_HOME="${LIBREHOME}"/.config [[ -n ${XDG_CACHE_HOME:-} ]] || export XDG_CACHE_HOME="${LIBREHOME}"/.cache -# validate login and home -[[ -n ${LIBREUSER:-} ]] || libremessages panic || exit 1 # $EXIT_FAILURE -[[ -d ${LIBREHOME:-} ]] || libremessages panic || exit 1 # $EXIT_FAILURE -[[ $LIBREHOME =~ ^[^\~]*$ ]] || libremessages panic || exit 1 # $EXIT_FAILURE +# validate $LIBREUSER and $LIBREHOME +UserError() ( + local err_msg="invalid \$$1 '${!1}'" + + source $(librelib messages) &> /dev/null && error "$err_msg" || echo "ERROR: $err_msg" +) +if [[ ! -n ${LIBREUSER:-} ]] ; then UserError '$LIBREUSER' ; exit 1 ; fi # $EXIT_FAILURE +if [[ ! -d ${LIBREHOME:-} ]] ; then UserError '$LIBREHOME' ; exit 1 ; fi # $EXIT_FAILURE +if [[ ! $LIBREHOME =~ ^[^\~]*$ ]] ; then UserError '$LIBREHOME' ; exit 1 ; fi # $EXIT_FAILURE ## Low-level generic functions ## |