kiss: Allow option of setting sudo command

This commit is contained in:
Dylan Araps 2020-01-30 10:36:08 +02:00
parent 51d9e82230
commit 546110a1c0
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E

19
kiss
View File

@ -50,14 +50,13 @@ prompt() {
as_root() {
[ "$(id -u)" = 0 ] || {
if command -v sudo >/dev/null; then
sudo -E KISS_FORCE="$KISS_FORCE" "$@"
elif command -v doas >/dev/null; then
KISS_FORCE="$KISS_FORCE" doas "$@"
else
exec 3<&0
su -pc "KISS_FORCE=$KISS_FORCE $* <&3" </dev/tty
fi
log "Using '${su:-su}'"
case $su in
*sudo) sudo -E KISS_FORCE="$KISS_FORCE" "$@" ;;
*doas) KISS_FORCE="$KISS_FORCE" doas "$@" ;;
*) su -pc "KISS_FORCE=$KISS_FORCE $* <&3" 3<&0 </dev/tty ;;
esac
exit
}
@ -1318,6 +1317,10 @@ main() {
# POSIX correctness.
grep=$(command -v ggrep) || grep='grep'
# Figure out which 'sudo' command to use based on the user's choice or
# what is available on the system.
su=${KISS_SU:-$(command -v sudo || command -v doas)} || su=su
# Store the date and time of script invocation to be used as the name
# of the log files the package manager creates uring builds.
time=$(date '+%d-%m-%Y-%H:%M')