mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-11 14:02:52 +02:00
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>
This commit is contained in:
+26
-1
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user