summaryrefslogtreecommitdiff
path: root/script/build
AgeCommit message (Collapse)Author
2023-10-07build/fw/grub: re-add end confirmation messageLeah Rowe
otherwise, if src/grub/ was already compiled, this would not print anything on the screen. however, the files will have been created under elf/grub this message just makes lbmk a bit more user friendly Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07build/coreboot/grub: move to build/fw/grubLeah Rowe
This eliminates an additional subdirectory. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07use quotes when checking empty strings in scriptsLeah Rowe
this is far less error-prone Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07build/fw/coreboot: fix error "unexpected operator"Leah Rowe
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-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-03general code cleanup in shell scriptsLeah Rowe
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-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>
2023-09-30build/boot/roms_helper: simplify rom file handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms_helper: general code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30general code formatting cleanup in shell scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30simplify initialising variables in shell scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: only do 1 custom kbd/payload/modeLeah Rowe
-k, -p and -d let you set keymap, payload and displaymode respectively, but the handling for this is buggy when passing multiple arguments. Support only one argument, for simplicity. This is how people use them anyway, and it makes lbmk less buggy. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: move usage() to include/boot.shLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/*: unified main() functionLeah Rowe
The *same* main() function is now used on both scripts. However, merging both scripts together would be less efficient on sloccount, and would be error-prone. The purpose of having roms_helper is that the variables get re-initialised the same way each time, for each board, automatically. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: split up handle_targets()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: check all targets before buildingLeah Rowe
If one of them doesn't exist, error out. Previously, a build would start but then it would error out later on. This implements the mentality: fail early, fail hard Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: merge handle_targets/build_targetLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: only run confirm_targets onceLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: rename buildrom to build_targetLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: split up main()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: simplify buildrom() handlingLeah Rowe
Only one for loop is required. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: support "all" if argument passedLeah Rowe
e.g. -k ukqwerty previously, this would not work: ./build boot roms -k ukqwerty all only this would work: ./build boot roms all this patch fixes the bug. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-30build/boot/roms: move help() to bottom of fileLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-27move build/command/options to include/option.shLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>