summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-08-28 15:28:19 +0100
committerLeah Rowe <leah@libreboot.org>2023-08-28 15:28:19 +0100
commitc6fd4d2ad33a6407a442eb20f31e34cf7aabd352 (patch)
tree8aa8d469d5bac1426f4952248eae54d0a402bd95
parent6722624dfcf0de8d9c237b207e23a72139be4759 (diff)
lbmk: run ./build dependencies *before* root check
After that, do not allow anything to run if the user is root. This logic flow is more robust, and reduces the chance of bugs in the future. We must not permit the user to run lbmk as root. Running it as root *is* possible, by just removing the check, and wily enough users will do that, but this behaviour in lbmk is good practise because it prevents accidentally running as root. If the user went into root just for installing dependencies, they might accidentally forget to switch back. This is a safeguard against such folly. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rwxr-xr-xlbmk20
1 files changed, 13 insertions, 7 deletions
diff --git a/lbmk b/lbmk
index 68497799..66cc3b7c 100755
--- a/lbmk
+++ b/lbmk
@@ -40,8 +40,19 @@ main()
[ $# -lt 1 ] && err "Too few arguments. Try: ${0} help"
mode="${1}"
- if [ "$(id -u)" = "0" ] && [ "${mode}" != "dependencies" ]; then
- err "running lbmk as root is not permitted"
+ if [ "${mode}" = "dependencies" ]; then
+ if [ $# -lt 2 ]; then
+ printf "You must specify a distro, namely:\n" 1>&2
+ printf "Look at files under resources/dependencies/\n" \
+ 1>&2
+ printf "Example: ./build dependencies debian\n" 1>&2
+ err "target not specified"
+ fi
+ install_dependencies $@ || err "Could not install dependencies"
+ exit 0
+ fi
+ if [ "$(id -u)" = "0" ]; then
+ err "running this command as root is not permitted"
fi
buildpath="./script/${0##*/}"
@@ -51,11 +62,6 @@ main()
exit 0
[ $# -lt 2 ] && usage ${0} && exit 1
- if [ "${mode}" = "dependencies" ]; then
- install_dependencies $@ || err "Could not install dependencies"
- exit 0
- fi
-
./checkgit || err "Please read: https://libreboot.org/docs/build/"
option="${2}"