diff options
author | Leah Rowe <leah@libreboot.org> | 2025-04-13 17:08:25 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2025-04-13 17:08:25 +0100 |
commit | 958fa34832a2c8b242ec1d885e0890ebaee2aae6 (patch) | |
tree | 8a0a399958002ab3bae615af8d5bc17a66469bb6 /config/ifd/t1650 | |
parent | 8b4b069e3f6abcdf9582f5a8fd7e14fb44c07ec3 (diff) |
We can't do set -o pipefail in POSIX sh, which we're using,
but the build system has x_ which wraps around a command
and executes it, exiting with non-zero status if it does.
This fact enables lbmk to have functionality that is actually
superior to pipefail, since you can more easily control
specifically which parts error.
For example:
foo | bar | foo2 | bar2 | $err "error"
ERROR exits with non-zero status, but foo2, bar and foo
would not exit on error, only bar2 would. In *bash*, which
we avoid, set -o pipefail would make all of them exit on
error, but what if you wanted "bar" to not exit?
With lbmk, you could do, in the above example, and with the
above question asked ("what if you wanted bar not to exit"):
x_ foo | bar | x_ foo2 | bar2 > file | $err "error"
of course, you could also do, if not outputting to "file":
x_ foo | bar | x_ foo2 | x_ bar2
NOTE: in lbmk, $err is a variable containing the name of
a function that does something (whatever you want) and
then exits with non-zero status.
This entire explanation is beyond the scope of simply
providing (and explaining) this fix, but I also wanted to
use this commit as an example of the power of lbmk with
regards to POSIX shell scripting.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'config/ifd/t1650')
0 files changed, 0 insertions, 0 deletions