From a7b767a47bdef371ee146afb052d0723736ea662 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 25 Sep 2023 00:40:56 +0100 Subject: update/repos: concatenate multiple revision files With this change, it's still possible to have a single file at config/git/revisions, but this has been scrapped. Instead, multiple files now exist under config/git/ with the same modules declared, but the files are separated logically. List of files under config/git: * bios_extract * biosutilities * coreboot * flashrom * grub (gnulib also defined here) * me_cleaner * memtest86plus * seabios * serprog (multiple projects defined) * u-boot * uefitool The rationale behind this change is simple: in the future, we will stop relying on build systems within imported projects for the import of git submodules. Instead, we will handle them directly in lbmk. Additionally, a Linux payload is planned for Libreboot, made easier by the recent audit (script handle/make/config makes it easy to integrate Linux, and handle cross-compilers for userland utilities); a "linux" file under config/git/ could also define rules for each project besides linux, such as musl libc, busybox and other utilities. Signed-off-by: Leah Rowe --- script/update/project/repo | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'script/update') diff --git a/script/update/project/repo b/script/update/project/repo index 9f0a9180..d951fb3b 100755 --- a/script/update/project/repo +++ b/script/update/project/repo @@ -36,6 +36,12 @@ main() read_config() { + revfile="$(mktemp -t gitrevisions.XXXXXXXXXX)" || \ + fail "read_config: Cannot initialise tmpfile" + + cat config/git/* > "${revfile}" || \ + fail "read_config: Cannot concatenate revision files" + awkstr=" /\{.*${name}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }" while read -r line ; do set ${line} || fail "read_config: set line" @@ -52,8 +58,11 @@ read_config() depend="${depend} ${2} " ;; esac done << EOF - $(eval "awk '${awkstr}' config/git/revisions") + $(eval "awk \"${awkstr}\" \"${revfile}\"") EOF + + rm -f "${revfile}" || \ + fail "read_config: can't remove tmp revfile" } verify_config() @@ -115,7 +124,7 @@ usage() Usage: ./update project repo [name] Options: - name: Module name as specified in config/git/revisions + name: Module name as specified in files under config/git/ EOF } -- cgit v1.2.1