From 863081c369c60fb485a95188d06f0090787dafad Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Oct 2023 02:12:52 +0100 Subject: remove build symlink, rename lbmk to build re-link update to build build/update are the only two build modes now i'm on a crusade to reduce the number of files and directories, and reduce the number of source lines, while not reducing functionality Signed-off-by: Leah Rowe --- build | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- lbmk | 124 ----------------------------------------------------------------- update | 2 +- 3 files changed, 124 insertions(+), 126 deletions(-) mode change 120000 => 100755 build delete mode 100755 lbmk diff --git a/build b/build deleted file mode 120000 index 012b4ec0..00000000 --- a/build +++ /dev/null @@ -1 +0,0 @@ -lbmk \ No newline at end of file diff --git a/build b/build new file mode 100755 index 00000000..345a2202 --- /dev/null +++ b/build @@ -0,0 +1,123 @@ +#!/usr/bin/env sh +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe +# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott +# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni +# SPDX-FileCopyrightText: 2022, Caleb La Grange + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +. "include/err.sh" +. "include/export.sh" +. "include/option.sh" + +linkpath="${0}" +linkname="${linkpath##*/}" +buildpath="./script/${linkname}" +eval "$(setvars "" mode option project version versiondate)" + +main() +{ + xx_ id -u 1>/dev/null 2>/dev/null + initialise_command $@ + shift 2 + + check_git + check_project "fail" + + execute_command $@ + lbmk_exit 0 +} + +initialise_command() +{ + [ $# -lt 1 ] && fail "Too few arguments. Try: ${0} help" + + mode="${1}" + [ "${mode}" != "dependencies" ] || xx_ install_packages $@ + [ "$(id -u)" != "0" ] || fail "this command as root is not permitted" + + [ "${mode}" = "help" ] && usage ${0} && lbmk_exit 0 + if [ "${mode}" = "list" ]; then + listitems "${buildpath}" + lbmk_exit 0 + elif [ $# -lt 2 ]; then + usage ${0} + lbmk_exit 1 + fi + + option="${2}" +} + +install_packages() +{ + if [ $# -lt 2 ]; then + printf "You must specify a distro, namely:\n" 1>&2 + printf "Look at files under config/dependencies/\n" 1>&2 + printf "Example: ./build dependencies debian\n" 1>&2 + fail "install_packages: target not specified" + fi + + [ -f "config/dependencies/${2}" ] || fail "Unsupported target" + + aur_notice="" + . "config/dependencies/${2}" + + xx_ ${pkg_add} ${pkglist} + [ "${aur_notice}" = "" ] || \ + printf "You must install AUR packages: %s\n" "${aur_notice}" 1>&2 + + lbmk_exit 0 +} + +execute_command() +{ + if [ "${option}" = "list" ]; then + xx_ listitems "${buildpath}/${mode}" + lbmk_exit 0 + fi + [ -f "${buildpath}/${mode}/${option}" ] || \ + fail "Invalid command. Run: ${linkpath} help" + "${buildpath}/${mode}/${option}" $@ || \ + fail "execute_command: ${buildpath}/${mode}/${option} ${@}" +} + +usage() +{ + progname=${0} + cat <<- EOF + USAGE: ${progname}