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