summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-30trees, multi: download bare project *before* treesLeah Rowe
when downloading multi-tree projects, the rev can be reset to HEAD instead of the actual rev for a given target. this occurs when the bare repo (e.g. src/coreboot/coreboot) does not exist and has to be downloaded first. bare repository downloading does not rely on target.cfg, in this context, only pkg.cfg, but it uses the same variable names (e.g. "rev"). instead of using a separate variable name, thus increasing code complexity (which is the exact opposite of what i want to do), do the bare repository download first. this means that the git.sh script is much cleaner now, for multi-tree projects, in that it *only* copies the bare repo then runs git_prep; in that context, the bare repo is cloned directly by calling the relevant function from script/trees, which is the same behaviour as when cloning single-tree project sources. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-30trees: unified multi-tree configuration handlingLeah Rowe
the same function that loads configurations for single-tree projects has been merged with the function for multi-tree configs in git.sh, and that functionality has been removed from git.sh; now it is all unified in the trees script. as the saying goes: write one program to do one thing well. the purpose of git.sh is to download source code, but not to handle configuration files; the latter is meant to be handled by the trees script, which then calls into git.sh before running the build logic for that given project. additionally: the "seen" files are no longer handled, at all. the logic there was added ages ago, because at the time, i was considering whether to separate configuration into a new repository, so that users could more easily make their own configuration, so it was a guard against misconfiguration. however, that decision was canceled and we're always very careful not to introduce a loop; if a loop does occur, the worst that can possibly happen is you waste some CPU cycles. Instead, print (on standard output) what config file is being used, so the operator can see when an infinite loop occurs. ALSO: remove _setcfgarg in load_project_config() it was used to skip when a target.cfg file didn't exist, specifically on single-tree projects, but this is now handled using -f instead, on the while loop inside that function, so _setcfgarg is now a redundant variable. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29trees: unified handling of source downloadsLeah Rowe
run it from load_project_config() Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29git.sh: rename Fetch_project_trees fetch_targetsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29git.sh: rename fetch_project_repo to fetch_projectLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29trees: better skip-clean string in handle_src_treeLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29trees: add return to check_coreboot_utils()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29trees: simplify "utilmode" variable initialisationLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh readcfg: split the -b coreboot commandLeah Rowe
just add a line break to make the code more readable Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29trees mkpayload_grub: remove unnecessary checkLeah Rowe
these variables are initialised empty, then populated by reading a configuration file. it may be that in some cases, we want these variables to be empty. besides that, the "setcfg" command before it will throw an error if the module file is missing, and it is assumed that the variables would be set there. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: remove unnecessary checkLeah Rowe
the next command is a copy, which would give us the error if the file doesn't exist, and an appropriate message Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: condense inject() a bitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh extract_kbc1126: use quote on file checkLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh extract_kbc1126ec: simplify build checkLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplify e6400 vga rom file checkLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplify variable checks for e6400vgaLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: condense fetch() a bit moreLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: remove unnecessary checkLeah Rowe
this is over-engineering, because we do not allow just about any path to be provided; it's not provided as an argument in a command, for example. this is dictated by a configuration file, which we control. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplify kbc1126 util handlingLeah Rowe
we don't need to check whether the binary exists, because make already does that for us. we still need to check that the directory exists, because older versions of coreboot did not include kbc1126, and we do still use older coreboot revisions on some boards. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplify bootstrap() utils handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplified initialisation of _7ztestLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: condense detect_board() a bitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: condense patch_rom() a bitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: add return to end of bootstrap()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: rename getcfg() to readkconfig()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: merge cfgutils() into readcfg()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: remove build_dependencies_inject()Leah Rowe
merge it into vendor_inject() Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: simplify initialisation of variablesLeah Rowe
also unify handling of cbutils Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh inject: skip serprog targetsLeah Rowe
this is to prevent a fault condition during automated testing Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-29vendor.sh: don't inject /dev/nullLeah Rowe
if injection is attempted, verification comes next, and verification fails. this happens for kcma/kgpe amd boards, where pike2008 fake roms are inserted by inserting the correct pci ids using /dev/null as a source. an empty pike2008 rom prevents seabios from loading the real pci rom, and this is done because the real one hangs SeaBIOS. a similar fix was made for ./vendor download, but overlooked for ./vendor inject. this patch fixes that. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: simplify inject()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: clean up GbE handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: condense fetch() a bitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: general code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28lib.sh: stricter check in chkvars()Leah Rowe
testing +x is all well and good, but the variable string may be empty, even if set. some of the checks in the build system are relying on the latter, so handle it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: simplified modify_gbe handlingLeah Rowe
we don't need the "modifygbe" variable. we only need to know that new_mac was set. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: simplify modify_gbe()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: minor code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: re-add modify_gbe()Leah Rowe
i accidentally deleted it in an earlier code purge Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28Revert "vendor.sh: remove unnecessary check"Leah Rowe
This reverts commit 8196ce6ddf4f0c2320cbb0f8ea378dfff0d639c4.
2024-06-28tidy up some setvars listsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28roms: explicitly shift by 1 on the "all" targetLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28roms: add return value for the list commandLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28roms: build u-boot *before* checking ubootelfLeah Rowe
the current check is flawed, because if u-boot doesn't exist, but a given build would be the file verified by the first check, the check would still fail even after then building u-boot. building it first will make this check pass, under such a condition. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28remove more unnecessary checks on trees commandsLeah Rowe
the trees script already performs these checks Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: remove unnecessary checksLeah Rowe
again: the trees script already checks binaries, and already checks sources. if they exist, the relevant action is skipped entirely. we don't need to check it in vendor.sh, because the trees script already performs the same check. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: remove unnecessary commandLeah Rowe
we don't need to download the entire coreboot tree here, because the next command after it builds utils from that tree, using the trees script which would then go and download that tree anyway; this is part of the design. if a given elf binary exists, it won't be re-built, but the missing sources will still be downloaded automatically. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: remove unnecesessary cbutils checkLeah Rowe
the trees script already does this same check, so don't do it in here. defer to the trees script. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: remove unnecessary checkLeah Rowe
mktemp will never return empty output, and the next command after it is an mkdir, which would throw an error anyway, if the string is empty. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-28vendor.sh: condense check_board() a bitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>