sanity.bbclass: raise_sanity_error if /tmp is noexec

Older meson versions save temporary scripts in /tmp.
Similarly some recipies also do that (e.g. ccan in sbsigntool).

As this can lead to unexpected build failures with no simple way
to workaround, make such setup a fatal error.

(From OE-Core rev: ee93a8e89322143252040bd5bc99259c5efff831)

Signed-off-by: Michal Sieron <michalwsieron@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michal Sieron
2024-02-12 10:09:26 +01:00
committed by Richard Purdie
parent 83d5c123d3
commit 80396cc72a

View File

@@ -840,6 +840,10 @@ def check_sanity_everybuild(status, d):
status.addresult("Please use a umask which allows a+rx and u+rwx\n")
os.umask(omask)
# Ensure /tmp is NOT mounted with noexec
if os.statvfs("/tmp").f_flag & os.ST_NOEXEC:
raise_sanity_error("/tmp shouldn't be mounted with noexec.", d)
if d.getVar('TARGET_ARCH') == "arm":
# This path is no longer user-readable in modern (very recent) Linux
try: