kiss: Fix update issue
This commit is contained in:
parent
ca26070683
commit
0a64dc1808
33
kiss
33
kiss
|
@ -51,22 +51,17 @@ prompt() {
|
||||||
as_root() {
|
as_root() {
|
||||||
# Simple function to run a command as root using either 'sudo',
|
# Simple function to run a command as root using either 'sudo',
|
||||||
# 'doas' or 'su'. This also handles KISS' environment variables.
|
# 'doas' or 'su'. This also handles KISS' environment variables.
|
||||||
[ "$(id -u)" = 0 ] || {
|
log "Using '${su:-su}'"
|
||||||
log "Using '${su:-su}'"
|
|
||||||
|
|
||||||
# doas requires these environment variables to be set as they
|
# doas requires these environment variables to be set as they
|
||||||
# aren't brought over from the calling user.
|
# aren't brought over from the calling user.
|
||||||
env="HOME='$HOME' KISS_FORCE='$KISS_FORCE' KISS_PATH='$KISS_PATH'"
|
env="HOME='$HOME' KISS_FORCE='$KISS_FORCE' KISS_PATH='$KISS_PATH'"
|
||||||
|
|
||||||
case $su in
|
case $su in
|
||||||
*sudo) sudo -E sh -c "$*" ;;
|
*sudo) sudo -E sh -c "$*" ;;
|
||||||
*doas) doas -- sh -c "$env $*" ;;
|
*doas) doas -- sh -c "$env $*" ;;
|
||||||
*) su -pc "$* <&3" 3<&0 </dev/tty ;;
|
*) su -pc "$* <&3" 3<&0 </dev/tty ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Only exit here if we're spawning a second 'kiss' instance.
|
|
||||||
[ "$1" != kiss ] || exit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
regex_escape() {
|
regex_escape() {
|
||||||
|
@ -1145,7 +1140,10 @@ args() {
|
||||||
a|alternatives)
|
a|alternatives)
|
||||||
# Rerun the script with 'su' if the user isn't root.
|
# Rerun the script with 'su' if the user isn't root.
|
||||||
# Cheeky but 'su' can't be used on shell functions themselves.
|
# Cheeky but 'su' can't be used on shell functions themselves.
|
||||||
[ -z "$1" ] || as_root kiss "$action" "$@"
|
[ -z "$1" ] || [ "$(id -u)" = 0 ] || {
|
||||||
|
as_root kiss "$action" "$@"
|
||||||
|
return
|
||||||
|
}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
i|install|r|remove)
|
i|install|r|remove)
|
||||||
|
@ -1153,7 +1151,10 @@ args() {
|
||||||
|
|
||||||
# Rerun the script with 'su' if the user isn't root.
|
# Rerun the script with 'su' if the user isn't root.
|
||||||
# Cheeky but 'su' can't be used on shell functions themselves.
|
# Cheeky but 'su' can't be used on shell functions themselves.
|
||||||
KISS_FORCE="$KISS_FORCE" as_root kiss "$action" "$@"
|
[ "$(id -u)" = 0 ] || {
|
||||||
|
KISS_FORCE="$KISS_FORCE" as_root kiss "$action" "$@"
|
||||||
|
return
|
||||||
|
}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue