Commit Graph

142 Commits

Author SHA1 Message Date
Leah Rowe 77b0b448e2 more cleanup
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-12 19:37:57 +01:00
Leah Rowe a32374f6cc more cleanup
this will be the last time, i promise

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-12 14:29:11 +01:00
Leah Rowe c3e2d8c8bc get.sh: simplify xbget
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-12 11:19:42 +01:00
Leah Rowe 798cc79399 mk: export locales much earlier
also simplify the way it works (eval and awk)

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-12 08:49:53 +01:00
Leah Rowe d0a1b40910 more cleanup
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 21:43:50 +01:00
Leah Rowe 36fef51e8f init.sh: universally set git commit/auth date
do it as an export. to avoid pollution elsewhere,
do it inside a subshell.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 19:42:03 +01:00
Leah Rowe b6b5f70934 init.sh: set git committer date as well
only the author date was being set before

with this change, at least on my system, i
now get the same commit ID and date each time
on the following test:

NOTE: . is lbmk (main work directory)
NOTE: here, we are copying the current clone

git clone . lbmktest
cd lbmktest
./mk version
rm -Rf .git
./mk version
git log

same output each time. we have thus eliminated
timestamps as a variable. this is but a part of
in a series of changes that will eventually lead
to libreboot being built reproducibly.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 19:32:12 +01:00
Leah Rowe 58094bd017 init.sh: portable date on git-init
don't even call the date util at all, to fix the
portability issues. now we don't need GNU date
anymore.

git itself can just take an epoch, and it will
do whatever it will do. yes.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 19:28:15 +01:00
Leah Rowe cdd399017e init.sh: don't check PATH on startup
even if i unset PATH before running lbmk, it is
reinitialised because of the shebang. if no PATH
exists, then it's either a broken system and you
have bigger problems, or you have some weird
system that uses something else.

our job is not to fix the world. there was no
scenario in which this check would even trigger
an error or fallback, so just remove it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 19:02:20 +01:00
Leah Rowe 15204cda63 xbmk: re-introduce condensed if statements
i've been careful to makely only use it on AND operations,
not onse that use OR. a lot of blocks are not condensed,
unlike previously when this design was used.

i removed the condensed design because it made the code
allegedly easier to read, but i found it harder to read
and found the code looked dirty. this change makes it
clean again, but i've done it in a way where the shorthand
conditional statements are easy to understand for most
people. this strikes a compromise; i would go further.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 16:18:09 +01:00
Leah Rowe 8173aea83b xbmk: reintroduce setvar as newvar (init only)
use the simpler logic recently introduced, generalised
but it only sets variables to empty. this is safer than
the previous design, and brings the same reduction in
sloccount overall since i wasn't doing anything other
than emptying variables anyway, when it was used before.

i didn't like the long list of variables inside files,
so this makes everything more readable.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-11 14:24:55 +01:00
Leah Rowe 6050cdd1db init.sh: much more thorough locale initialisation
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-10 19:35:17 +01:00
Leah Rowe 1ceeb0ab55 update lbmk headers
i made several modificatinos to several files
thus for in 2026, in the main part of the build system.

i've added 2026 to the ones that i modified.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-10 17:45:11 +01:00
Leah Rowe afdf8c7733 Revert "xbmk: general code cleanup"
This reverts commit 1b65e8914c.

NOTE: cleanup of xbmk_git_init was retained

this "cleanup" actually made the code harder to read.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-09-10 12:34:35 +01:00
Leah Rowe 1b65e8914c xbmk: general code cleanup
make the code much easier to read

i also cleaned up the recent git identity check

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-30 11:58:11 +01:00
Zoomm Deka ab13b80250 fix git identity handling in xbmk_git_init
Signed-off-by: Zoomm Deka <zoomm10@gmail.com>
2026-07-28 03:02:02 +02:00
Leah Rowe 8b59310209 only disable git check for ./mk -b coreboot
the previous patch was half the battle. now that
annoying person who complained on irc should be
happy.

someone complained about having to enter git
name/email when just doing e.g. ./mk inject

a valid complaint, but their attitude kinda
stunk. oh well. this patch should satisfy them.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-27 23:35:38 +01:00
Leah Rowe 06fd12953f make the bitch on irc happy
some person complained about this. see diff.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-27 23:27:56 +01:00
Leah Rowe 1265eb5b63 init.sh: add a throught-provoking TODO
this will be revisited by October 2026 Leah.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:27:57 +01:00
Leah Rowe 56697c1da3 init.sh: add error check on mkdir in gentoo check
yes. i should have reviewed that patch properly.

the code should meet lbmk standards now.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:24:12 +01:00
Leah Rowe 8d9d1a88a0 init.sh: fix bad printf string in gentoo check
Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:23:12 +01:00
Leah Rowe e1384a1b9f init.sh: add -p on mkdir command in gentoo check
probably redundant, but can't hurt

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:21:44 +01:00
Leah Rowe 598a57639f init.sh: double-quote variables in gentoo check
yes. silly twit.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:21:23 +01:00
Leah Rowe 86142b7e81 init.sh: fix indentation in gentoo check
the submitted messed up indentation, yeah

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:19:53 +01:00
Leah Rowe 1514e82be0 init.sh: add --includes to git config check
just to be sure

this now matches util/gitconfig/gitconfig.sh in coreboot

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 20:12:44 +01:00
Leah Rowe 83842c9481 Merge pull request 'Add Gentoo dependencies.' (#428) from lordbaraa/lbmk:add-gentoo-dependencies into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/428
2026-07-21 20:43:00 +02:00
Leah Rowe 9dd6ed84ca init.sh: Don't check global git config
Some users have it in a file e.g. inside ~/.gitconfig

Those users are currently forced to set git config
globally by lbmk. We only need to check that a git
config is set, regardless of scope, because coreboot
needs it in parts of its build system when used on
lbmk.

This prevents a pointless error report for users who
have their git config on such a scope. Thanks go to
Hendrik Jäger for reporting this to me.

Yes, thank you. Further context:

https://lore.kernel.org/git/20260720113402.0dc16abe@frustcomp.hnjs.home.arpa/T/#u

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-07-21 19:34:26 +01:00
Baraa Al-Masri cf930f3b32 Add portage package use 2026-05-10 20:40:40 +03:00
Leah Rowe 01aa95ec15 Revert "lbmk: use mkhtemp in libreboot's build system"
This reverts commit e54862fccc.

nope. not ready yet. will fix it later.
2026-03-29 16:25:41 +01:00
Leah Rowe e54862fccc lbmk: use mkhtemp in libreboot's build system
i added a fake -t option, which doesn't actually
read optarg, so that -t usage can just override
the normal template. mkhtemp isn't ready for
distros yet, but it's ready for lbmk.

i hacked the makefile to also copy the binary to
mktemp, and i set PATH in lbmk so that this binary
is used insttead of the one on your system.

that way, upstream projects use it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2026-03-29 16:08:00 +01:00
Leah Rowe 68e0b5dddc init.sh: Explicitly export UTF-8 locale
C.UTF-8, instead of just C.

This fixes a build issue in GRUB on my Arch Linux test bench.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-12-24 17:16:10 +01:00
Leah Rowe e1b6ccf69e xbmk: sort global variables alphabetically
also separate some of the special ones.

this makes the variables easier to read/find.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-16 15:46:44 +01:00
Leah Rowe d83dd506c2 get.sh: More reliable git remote caching
Don't do one repository for all remotes. Do one *clone* per
remote.

This also means that users no longer download information twice,
in practice, because the backup repository will only be downloaded
if the main one didn't work.

Theoretically, this change is makes the process less efficient, but
in practise it's more reliable now.

We do now use --mirror on the git clone command for caches, but we
already did git pull --all before.

This just ensures that we absolutely have all local code.

NOTE:

The new code isn't used by default. To use it, you must do:

export XBMK_CACHE_MIRROR="y"

Otherwise, the old behaviour will continue to be used. This is
because the new code, while correct, puts more strain on upstream
servers (more code being downloaded), and can result in higher amounts
of disk space being used. The old behaviour wasn't broken, so we'll
also support that method.

TODO: perhaps also have a check in place to re-use both caches,
where available, regardless of XBMK_CACHE_MIRROR?

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-16 13:29:59 +01:00
Leah Rowe 9b104fca44 init.sh: only create cache/ here
also, the check is -e, not -d, because we
might be operating on a symlink.

it's a bit hacky but this should work.

the previous change (now reverted) broke
re-use of the main cache/ in release work
directories.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-05 01:23:32 +01:00
Leah Rowe ee2bca65f6 Revert "init.sh: explicitly create cache/"
This reverts commit 23f98c2958.
2025-10-05 01:21:26 +01:00
Leah Rowe 23f98c2958 init.sh: explicitly create cache/
otherwise, an error occurs when doing ./mk release

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-05 01:04:25 +01:00
Leah Rowe c1d6cd22c2 xbmk: don't call mkdir. use xbmkdir (new function)
xbmkdir checks if a directory exists, before running
mkdir, and then still uses -p

i was testing xbmk on arch linux today, and noticed
that it errored out when a directory already exists.

i'm mitigating against buggy or differently behaving
mkdir implementations this way, by wrapping around
it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 22:42:42 +01:00
Leah Rowe 8969cc734f xbmk: use sbase sha512sum, not host sha512sum
the --status flag seems to be a GNUism

as stated in the previous commit, i import sbase
suckless now, so as to have a consistent implementation
of sha512sum.

this ensures that its output is reliable, when i'm using
the output of this command within backticks.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 09:58:24 +01:00
Leah Rowe 2cfaba181b xbmk: rename cv variables, for clarity
the new names are still a bit crap, but a bit better.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 08:41:25 +01:00
Leah Rowe 4f01dc704a xbmk: remove even more eval statements
in one or two cases, the use of eval is retained, but
modified so as to be safer.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 07:17:42 +01:00
Leah Rowe 7f8d85140f xbmk: remove the setcfg function
this allows me to remove several eval calls, and the
errors relating to configs can now show exactly which
function they occured in, allowing for easier debugging.

once again, eval should be used sparingly if at all.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 05:23:47 +01:00
Leah Rowe 0a74cc8ec6 xbmk: clean up a few err calls
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 03:05:23 +01:00
Leah Rowe 0605fbe720 xbmk: general cleanup: unroll condensed code lines
i overlooked a number of lines, during previous cleanup

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 02:43:24 +01:00
Leah Rowe 85b10a674b init.sh: reduce the use of eval statements
also remove the unused _nogit variable

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-02 06:51:03 +01:00
Leah Rowe 2ac51f442b init.sh: break up xbmk_set_env
what this function does will differ wildly,
depending on whether it's a child instance
or a parent instance of xbmk.

break up this function accordingly.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-01 07:57:39 +01:00
Leah Rowe 4fbafaaa46 init.sh: remove comment in pybin
the following checks on the path mitigates the
lack of error handling in the findpath command
that sets pypath.

this was all thought of when i initially wrote
this code. it's perfectly fine.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-09-26 00:14:45 +01:00
Leah Rowe e42cb4f4cd xbmk: tidy up some if statements
this is an extension of the previous work to unroll
most of the condensed code lines.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-09-26 00:09:46 +01:00
Leah Rowe f5060232e1 init.sh: remove TODO note
on further inspection, the following check ensures that the
python version number is 3.

if anything went wrong, the possibility alluded to in the
comment wouldn't actually matter in practise.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-09-25 23:54:16 +01:00
Leah Rowe 0303167e25 init.sh: create TMPDIR *after* suid check
otherwise, it may get created as the root user, disabling
further use of lbmk until manual user intervention.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-09-25 02:26:48 +01:00
Leah Rowe 6bb4e2c72a init.sh: remove symlink check on XBMK_CACHE
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-09-24 23:34:12 +01:00