]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
meta: Enable '-o pipefail' for the SDK installer
authorMoritz Haase <Moritz.Haase@bmw.de>
Wed, 26 Feb 2025 06:50:18 +0000 (12:20 +0530)
committerSteve Sakoman <steve@sakoman.com>
Thu, 27 Feb 2025 20:19:58 +0000 (12:19 -0800)
commit940159f060e9a851cc9ff5a9e1c590ed8de4b38e
tree2f6701246452dc2fa7e48d1e15d8483a73c419e1
parent699822a163a4efa32735f75d21fde4ffa195c0e0
meta: Enable '-o pipefail' for the SDK installer

When testing a Yocto SDK installer on Alpine 3.21, we recently ended up with a
broken SDK. One of the commands the relocation script calls in a piped
multi-command chain failed (see [0]), but the installer did not realize that -
since it doesn't use 'set -o pipefail'. Thus, the error was never reported to
the user and the installer claimed to have set up the SDK correctly - which
wasn't the case.

Given that the SDK installer is a POSIX-compliant shell script and that the
'pipefail' option used to be missing from the standard, it's not surprising that
it isn't used. Thankfully however, in June of 2024, a new version of POSIX
(POSIX.1-2024) was released - and that one finally includes the 'pipefail'
option (see [1]). A number of shells already support it, so let's enable it if
available to make the SDK installer more robust.

The change has been tested locally using SDK installers for internal projects,
based on both Kirkstone and Scarthgap.

[0]: https://gitlab.alpinelinux.org/alpine/aports/-/issues/16797
[1]: https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/V3_chap02.html#set

(From OE-Core rev: 1cb4b41c7faf77fcc347b1276d86d4288968c926)

Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 10dce263f0230f94a44a017b5614811e696c5ce9)
Signed-off-by: Akash Hadke <akash.hadke27@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/files/toolchain-shar-extract.sh