diff options
| l---------[-rwxr-xr-x] | build | 119 | ||||
| -rwxr-xr-x | lbmk | 122 | ||||
| l---------[-rwxr-xr-x] | modify | 104 | ||||
| l---------[-rwxr-xr-x] | update | 103 | 
4 files changed, 125 insertions, 323 deletions
@@ -1,118 +1 @@ -#!/usr/bin/env bash - -#  generic build script, for building components (all of them) -# -#	Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org> -#	Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> -#	Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> -#	Copyright (C) 2022, Caleb La Grange <thonkpeasant@protonmail.com> -# -#	This program is free software: you can redistribute it and/or modify -#	it under the terms of the GNU General Public License as published by -#	the Free Software Foundation, either version 3 of the License, or -#	(at your option) any later version. -# -#	This program is distributed in the hope that it will be useful, -#	but WITHOUT ANY WARRANTY; without even the implied warranty of -#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -#	GNU General Public License for more details. -# -#	You should have received a copy of the GNU General Public License -#	along with this program.  If not, see <http://www.gnu.org/licenses/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -projectname="$(cat projectname)" -build=./resources/scripts/build -mode="" -option="" - -main() -{ -	if [ $# -lt 1 ]; then -		die "Wrong argument count. Run: ./build help" -	fi -	mode="${1}" - -	./.gitcheck - -	if [ "${mode}" != "dependencies" ]; then -		./resources/scripts/misc/versioncheck -	fi -	if [ "${mode}" = help ]; then -		usage -		exit 0 -	elif [ $# -lt 2 ]; then -		usage -		exit 0 -	fi - -	option="${2}" -	shift 2 - -	case "${option}" in -	list) -		printf "Options for mode '%s':\n\n" ${mode} -		listoptions "${mode}" -		;; -	all) -		for option in $(listoptions "${mode}"); do -			"${build}/${mode}/${option}" $@ -		done -		;; -	*) -		if [ ! -d "${build}/${mode}" ]; then -			usage -			die "Invalid mode '${mode}'. Run: ./build help" -		elif [ ! -f "${build}/${mode}/${option}" ]; then -			usage -			printf "Invalid option for '%s'." ${mode} -			die "Run: ./build ${mode} list'." -		fi -		"${build}/${mode}/${option}" $@ -	esac - -	./.gitcheck clean -} - -# Takes exactly one mode as parameter -listoptions() -{ -	for option in "${build}/${1}/"*; do -		printf '%s\n' ${option##*/} -	done -} - -usage() -{ -	cat <<- EOF -	USAGE:	./build <MODE> <OPTION> - -	possible values for 'mode': -	$(listmodes) - -	Example:	./build module all -	Example:	./build module flashrom [static] -	Example:	./build roms withgrub -	Example:	./build clean all - -	Refer to ${projectname} documentation for more info. -	EOF -} - -listmodes() -{ -	for mode in "${build}"/*; do -		printf '%s\n' ${mode##*/} -	done -} - -die() -{ -	printf 'Error: %s\n' ${@} 1>&2 -	exit 1 -} - -main $@ +lbmk
\ No newline at end of file @@ -0,0 +1,122 @@ +#!/usr/bin/env sh + +#  generic script for calling other scripts in lbmk +# +#	Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org> +#	Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> +#	Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> +#	Copyright (C) 2022, Caleb La Grange <thonkpeasant@protonmail.com> +# +#	This program is free software: you can redistribute it and/or modify +#	it under the terms of the GNU General Public License as published by +#	the Free Software Foundation, either version 3 of the License, or +#	(at your option) any later version. +# +#	This program is distributed in the hope that it will be useful, +#	but WITHOUT ANY WARRANTY; without even the implied warranty of +#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +#	GNU General Public License for more details. +# +#	You should have received a copy of the GNU General Public License +#	along with this program.  If not, see <http://www.gnu.org/licenses/>. +# + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +projectname="$(cat projectname)" +buildpath="" +mode="" +option="" + +main() +{ +	if [ "${0##*/}" = "lbmk" ]; then +		die "Do not run the lbmk script directly!" +	elif [ $# -lt 2 ]; then +		die "Too few arguments. Try: ${0} help" +	fi + +	buildpath="./resources/scripts/${0##*/}" + +	mode="${1}" +	./.gitcheck +	if [ "${mode}" != "dependencies" ]; then +		./resources/scripts/misc/versioncheck +	fi +	if [ "${mode}" = help ]; then +		usage $0 +		exit 0 +	elif [ $# -lt 2 ]; then +		usage $0 +		exit 0 +	fi + +	option="${2}" +	shift 2 + +	case "${option}" in +	list) +		printf "Options for mode '%s':\n\n" ${mode} +		listoptions "${mode}" +		;; +	all) +		for option in $(listoptions "${mode}"); do +			"${buildpath}/${mode}/${option}" $@ +		done +		;; +	*) +		if [ ! -d "${buildpath}/${mode}" ]; then +			usage $0 +			die "Invalid mode '${mode}'. Run: ${0} help" +		elif [ ! -f "${buildpath}/${mode}/${option}" ]; then +			usage $0 +			printf "Invalid option for '%s'." ${mode} +			die "Run: ${0} ${mode} list'." +		fi +		"${buildpath}/${mode}/${option}" $@ +	esac + +	./.gitcheck clean +} + +# Takes exactly one mode as parameter +listoptions() +{ +	for option in "${buildpath}/${1}/"*; do +		printf '%s\n' ${option##*/} +	done +} + +usage() +{ +	progname=${0} +	cat <<- EOF +	USAGE:	${progname} <MODE> <OPTION> + +	possible values for 'mode': +	$(listmodes) + +	Example:	${progname} module all +	Example:	${progname} module flashrom [static] +	Example:	${progname} roms withgrub +	Example:	${progname} clean all + +	Refer to ${projectname} documentation for more info. +	EOF +} + +listmodes() +{ +	for mode in "${buildpath}"/*; do +		printf '%s\n' ${mode##*/} +	done +} + +die() +{ +	printf "Error: %s\n"; ${@} 1>&2 +	exit 1 +} + +main $@ @@ -1,103 +1 @@ -#!/usr/bin/env bash - -#  generic scripts for modifying configs and such -# -#	Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org> -#	Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> -#	Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> -# -#	This program is free software: you can redistribute it and/or modify -#	it under the terms of the GNU General Public License as published by -#	the Free Software Foundation, either version 3 of the License, or -#	(at your option) any later version. -# -#	This program is distributed in the hope that it will be useful, -#	but WITHOUT ANY WARRANTY; without even the implied warranty of -#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -#	GNU General Public License for more details. -# -#	You should have received a copy of the GNU General Public License -#	along with this program.  If not, see <http://www.gnu.org/licenses/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -projectname="$(cat projectname)" -modify=./resources/scripts/modify -mode="" -option="" - -main() -{ -	./resources/scripts/misc/versioncheck - -	if [ $# -lt 1 ]; then -		die "Wrong argument count. See './modify help'." -	fi -	mode="${1}" - -	if [ "${mode}" = help ]; then -		help -		exit 0 -	elif [ $# -lt 2 ]; then -		help -		exit 0 -	fi - -	option=${2} -	shift 2 - -	case "${option}" in -	list) -		printf "Options for mode '%s':\n\n" ${mode} -		listitems "${modify}/${mode}" -		;; -	all) -		for option in $(listitems "${modify}/${mode}"); do -			"${modify}/${mode}/${option}" $@ -		done -		;; -	*) -		if [ ! -d "${modify}/${mode}" ]; then -			help -			die "Invalid mode: ${mode}. Run: ./modify help" -		elif [ ! -f "${modify}/${mode}/${option}" ]; then -			help -			printf "Invalid option for '%s'\n." ${mode} -			die "Run: ./modify ${mode} list'" -		fi -		"${modify}/${mode}/${option}" $@ -	esac -} - -help() -{ -	cat <<- EOF -	USAGE:	./modify <MODE> <OPTION> - -	possible values for 'mode': -	$(listitems "${modify}") - -	Example:	./modify coreboot configs -	Example:	./modify coreboot configs x60 - -	Refer to ${projectname} documentation for more info. -	EOF -} - -listitems() -{ -	for x in "${1}/"*; do -		[ ! -f "${x}" ] && continue -		printf "%s\n" ${x##*/} -	done -} - -die() -{ -	printf 'Error: %s\n' "${@}" 1>&2 -	exit 1 -} - -main $@ +lbmk
\ No newline at end of file @@ -1,102 +1 @@ -#!/usr/bin/env bash - -#  generic update scripts for updating configs and such -# -#	Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org> -#	Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> -#	Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> -# -#    This program is free software: you can redistribute it and/or modify -#    it under the terms of the GNU General Public License as published by -#    the Free Software Foundation, either version 3 of the License, or -#    (at your option) any later version. -# -#    This program is distributed in the hope that it will be useful, -#    but WITHOUT ANY WARRANTY; without even the implied warranty of -#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -#    GNU General Public License for more details. -# -#    You should have received a copy of the GNU General Public License -#    along with this program.  If not, see <http://www.gnu.org/licenses/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -projectname="$(cat projectname)" -./resources/scripts/misc/versioncheck - -update=./resources/scripts/update - -listmodes() { -	for mode in "${update}"/*; do -		printf '%s\n' "${mode##*/}" -	done -} - -# Takes exactly one mode as parameter -listoptions() { -	for option in "${update}"/"${1}"/*; do -		printf '%s\n' "${option##*/}" -	done -} - -help() { -	cat <<- EOF -	USAGE:	./update <MODE> <OPTION> - -	possible values for 'mode': -	$(listmodes) - -	Example:	./update coreboot configs -	Example:	./update coreboot configs x60 - -	Refer to the ${projectname} documentation for more information. -	EOF -} - -die() { -	printf 'Error: %s\n' "${@}" 1>&2 -	exit 1 -} - -if [ $# -lt 1 ]; then -	die "Wrong number of arguments specified. See './update help'." -fi - -mode="${1}" - -[ "${mode}" = help ] && help && exit 0 - -if [ $# -gt 1 ]; then - -    option="${2}" -    shift 2 - -    case "${option}" in -    	list) -    		printf "Available options for mode '%s':\n\n" "${mode}" -    		listoptions "${mode}" -    		;;   -    	all) -    		for option in $(listoptions "${mode}"); do -    			"${update}"/"${mode}"/"${option}" $@ -    		done -    		;; -    	*) -    		if [ -d "${update}"/"${mode}"/ ]; then -    			if [ -f "${update}"/"${mode}"/"${option}" ]; then -    				"${update}"/"${mode}"/"${option}" $@ -    			else -                    help -    				die "Invalid option for '${mode}'. See './update ${mode} list'." -    			fi -    		else -                help -    			die "Invalid mode '${mode}'. See './update help'." -    		fi -    esac -else -    help -    exit 0 -fi +lbmk
\ No newline at end of file  | 
