scripts/wic: append bitbake executable file path in eSDK environment

wic needs a set of tools to be available from sysroots.
wic will find bitbake executable within the environment,
and wic was unable to locate bitbake executable within eSDK
because it wasn't setup with the OE build environment script.
Hence, we need to add bitbake file path into the environment
PATH for wic to be able to discover it and import bb modules.

(From OE-Core rev: 89df0d31c9dd22ceba4c95a2a56ca78e58d871a8)

Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chang Rebecca Swee Fun 2018-01-11 22:55:20 +08:00 committed by Richard Purdie
parent be5616a27c
commit 7006ff99b0

View File

@ -46,6 +46,18 @@ sys.path.insert(0, lib_path)
import scriptpath
scriptpath.add_oe_lib_path()
# Check whether wic is running within eSDK environment
sdkroot = scripts_path
if os.environ.get('SDKTARGETSYSROOT'):
while sdkroot != '' and sdkroot != os.sep:
if os.path.exists(os.path.join(sdkroot, '.devtoolbase')):
# .devtoolbase only exists within eSDK
# If found, initialize bitbake path for eSDK environment and append to PATH
sdkroot = os.path.join(os.path.dirname(scripts_path), 'bitbake', 'bin')
os.environ['PATH'] += ":" + sdkroot
break
sdkroot = os.path.dirname(sdkroot)
bitbake_exe = spawn.find_executable('bitbake')
if bitbake_exe:
bitbake_path = scriptpath.add_bitbake_lib_path()