diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-09-30 01:31:40 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-09-30 12:31:30 +0100 | 
| commit | 385eb90c8cd31bfb770a950dd9252a30ccd6955d (patch) | |
| tree | ded66bc53f6f13ec8d87266f5c38d46b2e1d8b17 /include | |
| parent | 9f5a5450afda39973d9da4fa3bed97c365a5acd2 (diff) | |
update/*/*: unified scanning of revisions/sources
update/blobs/download and update/project/repo both use
the same logic, for setting variables with awk and a
specially formatted configuration file.
unify this logic under include/option.sh, and use that.
Signed-off-by: Leah Rowe <leah@libreboot.org>
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" +}  | 
