summaryrefslogtreecommitdiff
path: root/script
AgeCommit message (Collapse)Author
2023-10-07build/fw/coreboot: fix error "unexpected operator"Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07update/project/build: move helpers to option.shLeah Rowe
certain functions are better placed there, rather than in the main script Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07build/coreboot/util: merge to update/project/buildLeah Rowe
The benefit now is that it can be cleaned. E.g. ./update project build -b coreboot utils ./update project build -b coreboot utils default ./update project build -c coreboot utils ./update project build -c coreboot utils default the update/project/build script checks when arguments are provided after the project name. if the first one is "utils", then it acts in the same way as the old build/coreboot/util script Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07build/fw/coreboot: don't support no-all all argLeah Rowe
it's buggy. "./build fw coreboot" was made to work, but it caused lots of unknown issues when mixing other args the old way wasn't broken. now, once again, you must pass the "all" argument. e.g.: ./build fw coreboot all Also, the confirmation messages at the end are a bit clearer, when listing which ROM images were compiled. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07build/fw/coreboot: correctly check built targetsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07unified projectname/version/versiondate handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07rename blob/ to vendor/Leah Rowe
in the future, we may start downloading files that aren't blobs, such as mxm port configs (on mainboards that use MXM graphics) this directory will contain all of those files generally change the language used, across lbmk, to make use of "vendorfile" instead of "blob" Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07update/blobs: correct utils paths checkLeah Rowe
some utils were being needlessly re-downloaded. fix that! Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07update/blobs: don't hardcode kbc1126 util checkLeah Rowe
use the variable that is set up in blobutil.sh Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07update/blobs: don't needlessly re-build uefitoolLeah Rowe
during the switch to src/ for all downloads, i overlooked that the path check was hardcoded. now the check for this binary is corrected. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07put all src downloads under src/Leah Rowe
build/release/src was partly re-written to accomodate this memtest86plus was patched to have a central Makefile, and lbmk modified to use that, rather than mess with build32 and build64. the central Makefile just builds both targets or cleans both targets Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06rename build/firmware/ to build/fw/Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06build/firmware/coreboot: confirm compiled romsLeah Rowe
return with error status if no images were compiled if a rom image fails to compile, then it will also exit with error status, but sometimes you can pass argument "cros" or "default", and it would not give you rom images due to no target.cfg files, but these are also ignored because of that. this restores the same behaviour that existed before, for this final error check. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06build/firmware/coreboot: support "all" without allLeah Rowe
with no argument specified, it is now possible to build every rom image. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06move build/release/* to update/releaseLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06mv build/fw/serprog,build/boot/roms build/firmwareLeah Rowe
./build boot roms is now: ./build firmware coreboot ./build fw serprog is now: ./build firmware serprog Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06rename build/project/trees to update/project/buildLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06unify build/grub/* to build/coreboot/grubLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-06unify handle/make/* into build/project/treesLeah Rowe
Just one script. Just one. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-05handle/make/*: unified main() functionLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-05general code cleanup in shell scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-05build/boot/*: merge all logic into one scriptLeah Rowe
for the first time ever, this is a single script. with recent simplifications in how variables are handled, and techniques i've developed during auditing, it's now feasible design-wise for this to be a single script, without a helper script. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-04include/err.sh: checkgit,checkversionLeah Rowe
call these as functions, instead of executing scripts Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-03update/project/trees: remove errant assignmentsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-03update/project/trees: split up main()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-03general code cleanup in shell scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-03handle/make/config: fix formatting on variablesLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02handle/make/file: check for all default makefilesLeah Rowe
Previously, this script only checked for "Makefile", but "makefile" is another valid name; additionally, if GNU Make is used, "GNUmakefile" is an accepted default. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/blobs/download: remove errant commentLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02handle/make/file: exit 0 if no makefileLeah Rowe
There is no reason to err if no Makefile exists. Just exit with zero status. This makes the following command work: ./handle make file -c util/* Within util/, there is me7 update parser which does not have a makefile (it's a python script). Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02handle/make/file: run extra arg before, not afterLeah Rowe
The previous patch to the file was correct, except for off by one at the end, resulting in no argument being passed for project names. Now the extra commands are run *before* handle_dependencies, instead of running at the end of main. This prevents error. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02handle/make/file: do multiple project argumentsLeah Rowe
At the end of the function, this script will now run itself again if there are more arguments. This enables the following: ./handle make file -c project1 project2 project3 Whereas previously, it could only do this: ./handle make file -c project1 Substitude -b and it's the same. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: fix error handling on mkdirLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: optimise error handlingLeah Rowe
some x_ calls are made that aren't needed. this is now corrected. additionally, some x_ calls were being made that are quite error-prone, like ones that use $PWD. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: simplified error handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: general code cleanupLeah Rowe
reduced sloccount, without reducing functionality Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: rm yet another rm lineLeah Rowe
good lord, redundancy is indeed redundant. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: remove one more rm lineLeah Rowe
the one at the end of main is unnecessary, because it's handled inside the for loop. this file isn't used anywhere else, so it's OK. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: remove redundant rm commandLeah Rowe
as it turns out, i delete "seen" inside the for loop, which is a more thorough way to do it. thus, the first rm command is unnecessary. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: remove unnecessary linebreakLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02update/project/trees: rm "seen" in the right placeLeah Rowe
it must be done *after* setting cfgsdir Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02build/grub/payload: remove unnecessary linebreaksLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02build/coreboot/utils: remove unnecessary checkLeah Rowe
the file check is sufficient (target.cfg) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02build/coreboot/utils: simplify argument handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02build/boot/*: unify more logic in main()Leah Rowe
slight sloccount reduction. light renaming of functions between the two scripts, placing more logic in main() under include/boot.sh Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-02do not handle errors on mktemp in shell scriptsLeah Rowe
errors are not defined for mktemp, and the /tmp file system should be assumed reliable. if /tmp is *unreliable*, then this is not something that lbmk either can or should fix; the user clearly has bigger problems. manpages for mktemp do not define errors. it is assumed to be completely reliable. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-01Greatly simplify error handling in shell scriptsLeah Rowe
Instead of having detailed error messages, run most commands through a function that calls err() under fault conditions. Where detail is still required, err() is still called manually. Where it isn't, the error message is simply whatever command was executed to cause the error. This results in a massive sloccount reduction for lbmk; specifically, 178 sloc reduction, or a 8.1% reduction. The total sloccount is now 2022, for shell scripts. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-01build/boot/roms: optimise main() for code sizeLeah Rowe
handle everything in the getopts loop Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-01build/boot/roms_helper: shorten variable namesLeah Rowe
also: further reduce the number of arguments passed, to certain functions as and when feasible, in cases where those are global variables that never change. the cbfstool argument in mkUbootRom wasn't even used. that function was only using the global variable, which again is only set once. i also shortened a few messages, removed a few errant line breaks and reduced sloccount by exactly 1 in main() by re-arranging how the shift command is used. it's mainly about shortening variable names, to then reduce the number of line breaks, but it's a surgical code size reduction in build/boot/roms. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-01build/boot/roms: dont do init/displaymode argumentLeah Rowe
These are only ever initialised globally, and set once. Other instances where they are set are only in cases where they are passed as argument, at the start of a function, so they are being *needlessly* re-set. Set them only once and use them globally. Signed-off-by: Leah Rowe <leah@libreboot.org>