summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-20don't use notabug for backup git reposLeah Rowe
notabug is unreliable, even as a backup. why, just today, it was offline! all day. i originally moved libreboot away from notabug, to codeberg instead, but kept the notabug account online, and i still push to it when it's online. however, notabug seems to be in a terminal state of neglect by its admins, so lbmk should not use it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20move git_init to the main build scriptLeah Rowe
also, don't use x_ because it totally b0rks on these commands. handle exit status directly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/release: confirm vdir path on exitLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/release: copy crossgcc to archiveLeah Rowe
everything downloaded, then tarballed, then built, now crossgcc is downloaded by coreboot. now extract, copy crossgcc tarballs, re-compress. TODO: simply add files to the archive, without re- compressing the whole thing. this is still more efficient than the old way: build everything, then clean and compress, making another build test on the release archive necessary; with this, there is still only one build test per release. with this, and the previous revisions dealing with submodules, the source archives should now be complete. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20always re-generate .git in lbmkLeah Rowe
in release archives, .git is excluded but the version and versiondate files are included. from these, the git history is re-created with the exact date (but not taking into account timezone, at present). in this way, lbmk will have git history in a release archive. some build systems, like coreboot, prefer that there be git history available, so this is a nice workaround on those build systems. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update flashrom revisionLeah Rowe
flashrom-stable isn't really going anywhere i'll decide at some future point what to do with flashrom. for now, just give latest rev Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20add backup git repo for flashromLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20Revert "config/git: don't download flashrom"Leah Rowe
This reverts commit bf4ea8102ad71bf07e0014c71579b7f3576c1dec.
2023-10-20config/git: add more backup reposLeah Rowe
the grub backup was the same gnu server i decided to host grub on codeberg, as backup (gnu links as primary is ok) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20git/config: don't use github on main reposLeah Rowe
it's ok for now to use it as a backup. where only github was specified, i mirrored each given repository to codeberg as main repo for lbmk. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20config/git: don't download flashromLeah Rowe
it's not actually needed in lbmk flashrom can be downloaded separately by the user, if they want to flash their chip Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20git/config stm32-vserprog: don't fetch libopencm3Leah Rowe
it's downloaded by .gitmodules in stm32-vserprog Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/release: delete *all* .git and .gitmodulesLeah Rowe
do it using find -exec this is more robust, and it will never need to be maintained over time (famous last words). this is done because now we download submodules for all git projects, so it's hard to predict. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20include/git: fix already-exists download messageLeah Rowe
i forgot to put the download path in printf Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20Revert "Revert "include/git: don't re-download single-trees""Leah Rowe
This reverts commit baa3d4f217863ff34c03d54c4014f53812ae12ec.
2023-10-20include/git: fix error caused by sh idiosyncrasyLeah Rowe
when [] is used right at the end of a function, or certain loops/subshells, some sh implementations will just return a non-zero exit Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20Revert "include/git: don't re-download single-trees"Leah Rowe
This reverts commit 8de7bc93397a95312b742bc5af733208f702f3a8.
2023-10-20include/git: don't re-download single-treesLeah Rowe
only do it if the target source tree does not exist Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20config/git: remove rpi-pico-tinyusb dependencyLeah Rowe
it's now downloaded automatically as a submodule, when downloading pico-sdk (which defines this module) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20config/git: give pico-sdk its own fileLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/trees: don't run make if mode=fetchLeah Rowe
this fixes a regression caused by a previous revision Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20include/git: fetch submodules on one-tree projectsLeah Rowe
only fetch if .gitmodules exists in some cases, lbmk is compiling source trees that use submodules, without having downloaded them first. in all cases, those submodules are either optional, or the build system auto-fetches them (or if it can, we sometimes disable it as with grub and gnulib). this is a nice fallback behaviour, for situations where we forget to put submodules as dependencies under config/git (and disable submodules in the given project). with this change, release archives are guaranteed to be complete, sans crossgcc downloads in coreboot; this will be handled in a follow-up commit. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20include/git: only download submodules if possibleLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/release .git/*: delete one more level upLeah Rowe
it couldn't hurt Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20update/release: don't hardcode project namesLeah Rowe
config/git has been re-arranged in a prior revision, ensuring that each file only refers to a main source tree defined within those files. the erstwhile "./build clean all" functionality is now once again possible in lbmk Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20consistent naming for src/pico-serprogLeah Rowe
don't ever name it rpi-pico-serprog Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20config/git: name files per download nameLeah Rowe
don't put multiple downloads in the same files, except when they are dependencies that go inside the directory of another download. by doing this, the following functionality will become possible: clean every project or build every project, or maybe fetch every project, based entirely on the names of these files. this will be used later to simplify the release script. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20do a nice thingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20Merge pull request 'fix_distro_dependencies - part 2' (#139) from ↵Leah Rowe
andreamtp/lbmk:fix_distro_dependencies into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/139
2023-10-20error handling code cleanup and fixesLeah Rowe
in some cases, use of x_ or xx_ can be error-prone, due to the way $@ is handled; commands requiring quotes, or with funny file names as arguments such as spaces in the file name, or other special characters, can make the x/xx functions break. in those cases, where x/xx must not be used, the commands use || err instead in other cases, use of x/xx is superfluous, and has been removed in some commands. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20another code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20lbmk: use 2-level directory structure in script/Leah Rowe
as opposed to the current 3-level structure. recent build system simplifications have enabled this change, thus: ./build fw coreboot -> ./build roms ./build fw grub -> ./build grub ./build fw serprog -> ./build serprog ./update project release -> ./update release ./update project trees -> ./update trees ./update vendor download -> ./vendor download ./update vendor inject -> ./vendor inject alper criticised that the commands were too long, so i made them shorter! Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-19minor code cleanup in shell scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-19Added python-unversioned-command for Fedora38Andrea Perotti
Added python-unversioned-command as dependency to have /usr/bin/python to call python3 in Fedora.
2023-10-19Fix Debian/Ubuntu dependenciesAndrea Perotti
Dependencies for Debian/Ubuntu and derived distros are now deduplicated and sorted. Added target for Linux Mint as well.
2023-10-19Merge pull request 'Fix F38/Ubuntu 20.04 dependencies' (#137) from ↵Leah Rowe
andreamtp/lbmk:fix_distro_dependencies into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/137
2023-10-19Merge pull request 'Fix Void Dependencies for building Serprog' (#138) from ↵Leah Rowe
neutrocyte/lbmk:fix_void_dependencies into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/138
2023-10-19Fixed Void Dependencies for building Serprogneutrocyte
2023-10-19Fix F38/Ubuntu 20.04 dependenciesAndrea Perotti
Dependencies for Fedora 38 and Ubuntu 20.04 are now deduplicated and sorted. Missing packages added and packages names updated where needed.
2023-10-17util/spkmodem-recv: detailed copyright historyLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15update/release: fix missing variable definitionLeah Rowe
i forgot to include option.sh in this script, during previous re-factoring. the cbfstoos variable is now defined exclusively in option.sh, but other scripts can set it to something else. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15delete include/vendor.sh and merge elsewhereLeah Rowe
move it all to other files where items are used, and not used anywhere else. this reduces the size of vendor.sh. also remove a few redundant variables, or variables that are not meaningfully used. a few items have been moved to include/option.sh Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15vendor.sh: move some functions to vendor/downloadLeah Rowe
they are the functions only used by the download script, so they don't belong in vendor.sh an include file should only contain variables and functions used by multiple main scripts Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15update .gitignore for the dell-flash-unlock binaryLeah Rowe
it wasn't updated, when e6400-flash-unlock renamed to dell-flash-unlock Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15coreboot/fam15h: remove redundant patchLeah Rowe
i previously added this just for kicks, but it's not actually needed; gnat isn't used on fam15h boards so lbmk doesn't even use it (it's disabled). in fact, i tested lbmk with crossgcc_ada handling taken out, but with said patch; i still got build errors with gnat anyway, on that old coreboot revision (but gnat isn't needed there anymore). Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-15Merge pull request 'util/e6400-flash-unlock: Rename to dell-flash-unlock' ↵Leah Rowe
(#135) from nic3-14159/lbmk:rename-e6400-flash-unlock into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/135
2023-10-14Merge pull request 'Update U-Boot to v2023.10 and use default coreboot tree ↵Leah Rowe
for gru chromebooks' (#136) from alpernebbi/lbmk:uboot-v2023.10 into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/136
2023-10-14coreboot: gru: Use default coreboot treeAlper Nebi Yasak
We don't really need a custom coreboot tree for Chromebooks. I had added one, because at a cursory glance to the available config/coreboot/board subdirectories I had the impression that I should. But upstreams have one tree for every board and I think we should move towards that too. Move the one important BL31 makefile patch into the default coreboot patches, update the gru boards' configs by running savedefconfig in the cros tree and then running olddefconfig in the default tree. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-10-14u-boot: gru: Do not persist EFI variablesAlper Nebi Yasak
By default U-Boot stores EFI variables in a ubootefi.var file in whatever EFI System Partition it finds, which would be a FAT filesystem. I'm occasionally finding out while testing that my ESPs somehow end up with a corrupted filesystem, and I'm suspecting it's this. For now, disable storing EFI environment variables on disk so that U-Boot doesn't try to manipulate the filesystem. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-10-14u-boot: gru: Enable more EFI commandsAlper Nebi Yasak
Enable U-Boot commands to manipulate EFI environment storage, to self-test EFI implementation, and to run a basic EFI test application. These are so that we can test and debug EFI functionality easier. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>