summaryrefslogtreecommitdiffstats
path: root/lib/archroot.sh
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2017-03-07 19:27:36 +0100
committerJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2017-03-07 19:35:09 +0100
commit45f87aa9d5b44e4ff2f73be6597d4024bcded8e3 (patch)
tree70e691b68c47d7f794a096311ea7b102aa30228d /lib/archroot.sh
parent66553e7e07af9261e55c7c287615b61dc080593d (diff)
downloaddevtools-45f87aa9d5b44e4ff2f73be6597d4024bcded8e3.tar.gz
devtools-45f87aa9d5b44e4ff2f73be6597d4024bcded8e3.tar.xz
lib/archroot.sh: Simplify check_root
Move the function and save the orig_argv right along it.
Diffstat (limited to 'lib/archroot.sh')
-rw-r--r--lib/archroot.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/archroot.sh b/lib/archroot.sh
index 25e94fb..7d7ab67 100644
--- a/lib/archroot.sh
+++ b/lib/archroot.sh
@@ -1 +1,14 @@
CHROOT_VERSION='v4'
+
+##
+# usage : check_root
+##
+orig_argv=("$0" "$@")
+check_root() {
+ (( EUID == 0 )) && return
+ if type -P sudo >/dev/null; then
+ exec sudo -- "${orig_argv[@]}"
+ else
+ exec su root -c "$(printf ' %q' "${orig_argv[@]}")"
+ fi
+}