diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-09-25 00:40:56 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-09-25 00:51:03 +0100 | 
| commit | a7b767a47bdef371ee146afb052d0723736ea662 (patch) | |
| tree | 0b5ec00bc4155217073e0b4a59412c06044a1606 /script/update/project | |
| parent | 7966f9111d9002d39903abd4b4a39ef1c9e10f54 (diff) | |
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 <leah@libreboot.org>
Diffstat (limited to 'script/update/project')
| -rwxr-xr-x | script/update/project/repo | 13 | 
1 files changed, 11 insertions, 2 deletions
| 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  } | 
