diff options
Diffstat (limited to 'include')
| -rwxr-xr-x | include/option.sh | 27 | 
1 files changed, 26 insertions, 1 deletions
diff --git a/include/option.sh b/include/option.sh index 1f4f290f..98f91c51 100755 --- a/include/option.sh +++ b/include/option.sh @@ -1,4 +1,6 @@ -# SPDX-License-Identifier: MIT +# SPDX-License-Identifier: GPL-3.0-only +# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> +# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>  # SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>  listitems() @@ -16,3 +18,26 @@ listitems()  	done  	return ${rval}  } + +scan_config() +{ +	awkstr=" /\{.*${1}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }" +	confdir="${2}" +	_fail="${3}" +	revfile="$(mktemp -t sources.XXXXXXXXXX)" || \ +	    "${_fail}" "scan_config: Cannot initialise tmpfile" +	cat "${confdir}/"* > "${revfile}" || \ +	    "${_fail}" "scan_config: Cannot concatenate files" +	while read -r line ; do +		set ${line} 1>/dev/null 2>/dev/null || : +		if [ "${1%:}" = "depend" ]; then +			depend="${depend} ${2}" +		else +			eval "${1%:}=\"${2}\"" +		fi +	done << EOF +	$(eval "awk '${awkstr}' \"${revfile}\"") +EOF +	rm -f "${revfile}" || \ +	    "${_fail}" "scan_config: Cannot remove tmpfile" +}  | 
