summaryrefslogtreecommitdiff
path: root/include/option.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/option.sh')
-rwxr-xr-xinclude/option.sh27
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"
+}