sanity.bbclass: sanity check for if bitbake is present in PATH

If a user executes the environment script instead of sourcing it,
there's an error about an empty element in PATH. This is because
bitbake isn't present in environment variable PATH. Hence, this
patch adds a sanity check to verify if bitbake is present in
PATH and if bitbake isn't present issue a warning message.

[YOCTO #13822]

(From OE-Core rev: 9ed5d67d5d50f97072b6054ce913a3f5d981335e)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e08799913a7f207bc63e085eb98196fd61ed57bc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dorinda
2021-01-26 02:33:59 +01:00
committed by Richard Purdie
parent f382815083
commit f2dfdc94ad

View File

@@ -794,6 +794,11 @@ def check_sanity_everybuild(status, d):
if "." in paths or "./" in paths or "" in paths:
status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
#Check if bitbake is present in PATH environment variable
bb_check = bb.utils.which(d.getVar('PATH'), 'bitbake')
if not bb_check:
bb.warn("bitbake binary is not found in PATH, did you source the script?")
# Check whether 'inherit' directive is found (used for a class to inherit)
# in conf file it's supposed to be uppercase INHERIT
inherit = d.getVar('inherit')