poky/meta/files
Moritz Haase eaf460dba4 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)

(From OE-Core rev: 940159f060e9a851cc9ff5a9e1c590ed8de4b38e)

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 10dce263f0)
Signed-off-by: Akash Hadke <akash.hadke27@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-03-05 06:03:47 -08:00
..
common-licenses common-licenses: Add LGPL-3.0-with-zeromq-exception 2023-06-13 22:10:32 +01:00
ptest-perl ptest-perl/run-ptest: address failures caused by perl 5.32.1 2021-03-02 14:15:33 +00:00
screenshot-tests screenshot-tests: Add initial screenshot test png files for core-image-sato 2024-03-07 17:27:51 +00:00
device_table-minimal.txt
ext-sdk-prepare.py build-sysroots: target or native sysroot population need to be selected explicitly 2023-09-09 12:04:55 +01:00
fs-perms-persistent-log.txt bitbake.conf: Drop oldincludedir 2023-11-20 15:30:52 +00:00
fs-perms.txt bitbake.conf: Drop oldincludedir 2023-11-20 15:30:52 +00:00
layers.example.json meta/files/layers.schema.json: drop the layers property 2022-09-02 15:58:26 +01:00
layers.schema.json meta/files/layers.schema.json: drop the layers property 2022-09-02 15:58:26 +01:00
overlayfs-all-overlays.service.in overlayfs: move templates to files directory 2021-12-12 11:27:24 +00:00
overlayfs-create-dirs.service.in files: overlayfs-create-dirs: Improve mount unit dependency 2025-02-12 06:25:37 -08:00
overlayfs-create-dirs.sh files: respect overlayfs owner from lower layer 2022-06-04 11:28:23 +01:00
overlayfs-etc-preinit.sh.in overlayfs-etc: add option to skip creation of mount dirs 2024-02-19 15:21:14 +00:00
overlayfs-unit.mount.in files: Amend overlayfs unit descriptions with path information 2025-02-12 06:25:37 -08:00
spdx-licenses.json spdx-licenses.json: Use 3.14 tagged version 2021-09-28 17:55:04 +01:00
toolchain-shar-extract.sh meta: Enable '-o pipefail' for the SDK installer 2025-03-05 06:03:47 -08:00
toolchain-shar-relocate.sh toolchain-shar-relocate.sh: Add check for missing command 'file' 2024-03-23 10:18:20 +00:00