From c6fd4d2ad33a6407a442eb20f31e34cf7aabd352 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 28 Aug 2023 15:28:19 +0100 Subject: 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 --- lbmk | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'lbmk') 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}" -- cgit v1.2.1