It will only be used on OpenBSD. Other operating
systems will behave in the same way.
Pledge is feature specific to OpenBSD that
restricts system operations, for security:
https://man.openbsd.org/pledge.2
Signed-off-by: Leah Rowe <leah@libreboot.org>
printf outputs to stdout, which is line buffered
by default.
Adding a -u option to disable buffering.
Exit when a non-support flag is given, but adhere
to current behaviour when no flag is given.
Signed-off-by: Leah Rowe <leah@libreboot.org>
They do not need to be initialised zero, because
global variables are always zero by default,
unless set differently by the programmer.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Imported from util/spkmodem_recv at coreboot
revision:
e70bc423f9a2e1d13827f2703efe1f9c72549f20
This is a client for spkmodem, to allow serial
console via PC speaker.
I've decided to import it in lbmk, because I
heavily modified it. The patches will be
applied next.
Signed-off-by: Leah Rowe <leah@libreboot.org>
i'm pretty much finished now
there might be a few more changes later,
like stricter error handling, more verbose
error messages, etc
right now, it relies on -e to kill lbmk
on error, and uses the exit command
another planned change it to support
other upstreams besides coreboot.org,
such as the dasharo codebase
the latter is *why* i refactored this
download script, for asus kgped-d16
to my knowledge, this feature has never been used,
but lbmk permits resources/coreboot/boardname/extra.sh
to execute, as provided by the maintainer, with working
directory set to: coreboot/boardname
this could be used to extend lbmk in a number of ways
for example, it could be used to patch 3rdparty/
it could also be used to break coreboot in creative
and novel ways. hint hint.
the "board" variable in prepare_new_coreboot_tree()
is also declared in fetch_coreboot_trees
for the one in prepare_new_coreboot_tree, it's passed
as an argument to the function, so give it a new name
i learned that some shells have a global scope, when
using variables of the same name between functions
this should download all trees:
./download coreboot
without this patch, it doesn't
with this patch, it works
i overlooked this during earlier
refactoring. auditing revealed it.
top-down order, and *still* rfc 3676 compliant
i finished simplifying the logic, and
i split everything into smaller functions
there is still more more polishing to do
final touches will be done in new revisions
coreboot trees/patching is still handled
specifically by "./download coreboot"
command now available in lbmk:
./gitclone coreboot
this *only* creates the directory at:
coreboot/coreboot
this directory is never used in builds.
it is only used by download/coreboot to
create patched trees for each mainboard