diff options
| -rwxr-xr-x[l---------] | build | 124 | ||||
| -rwxr-xr-x | lbmk | 124 | ||||
| l--------- | update | 2 | 
3 files changed, 124 insertions, 126 deletions
| @@ -1 +1,123 @@ -lbmk
\ No newline at end of file +#!/usr/bin/env sh +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org> +# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net> +# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org> +# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com> + +[ "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} <MODE> <OPTION> + +	possible values for 'mode': +	$(listitems "${buildpath}") + +	For each of the above modes, you may also do: +	${progname} <MODE> list + +	Example: ./build coreboot list, which would yield: +	$(./build coreboot list) + +	Refer to ${project} documentation for more info. +	EOF +} + +lbmk_exit() +{ +	tmp_cleanup || err "lbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}" +	exit $1 +} + +fail() +{ +	tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2 +	err "${1}" +} + +tmp_cleanup() +{ +	[ "${tmpdir_was_set}" = "n" ] || return 0 +	rm -Rf "${tmpdir}" || return 1 +} + +main $@ @@ -1,124 +0,0 @@ -#!/usr/bin/env sh -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org> -# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net> -# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org> -# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com> - -[ "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() -{ -	[ "${linkname}" = "lbmk" ] && fail "Don't run this script directly." -	[ $# -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} <MODE> <OPTION> - -	possible values for 'mode': -	$(listitems "${buildpath}") - -	For each of the above modes, you may also do: -	${progname} <MODE> list - -	Example: ./build coreboot list, which would yield: -	$(./build coreboot list) - -	Refer to ${project} documentation for more info. -	EOF -} - -lbmk_exit() -{ -	tmp_cleanup || err "lbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}" -	exit $1 -} - -fail() -{ -	tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2 -	err "${1}" -} - -tmp_cleanup() -{ -	[ "${tmpdir_was_set}" = "n" ] || return 0 -	rm -Rf "${tmpdir}" || return 1 -} - -main $@ @@ -1 +1 @@ -lbmk
\ No newline at end of file +build
\ No newline at end of file | 
