]> code.ossystems Code Review - openembedded-core.git/commitdiff
populate_sdk_ext: Fix confusing failure message
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 6 Jan 2020 14:45:08 +0000 (14:45 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 6 Jan 2020 14:48:20 +0000 (14:48 +0000)
This stack trace is horrible and obscurs the real failure message, avoid that.

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:copy_buildsystem(d)
     0003:
File: 'build/meta/classes/populate_sdk_ext.bbclass', lineno: 446, function: copy_buildsystem
     0442:    sdk_ext_type = d.getVar('SDK_EXT_TYPE')
     0443:    if (sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative) and not sdk_include_nativesdk:
     0444:        # Create the filtered task list used to generate the sstate cache shipped with the SDK
     0445:        tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt'
 *** 0446:        create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath)
     0447:    else:
     0448:        tasklistfn = None
     0449:
     0450:    if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
File: 'build/meta/classes/populate_sdk_ext.bbclass', lineno: 182, function: create_filtered_tasklist
     0178:        # Clean out residue of running bitbake, which check_sstate_task_list()
     0179:        # will effectively do
     0180:        clean_esdk_builddir(d, sdkbasepath)
     0181:    finally:
 *** 0182:        os.replace(sdkbasepath + '/conf/local.conf.bak', sdkbasepath + '/conf/local.conf')
     0183:
     0184:python copy_buildsystem () {
     0185:    import re
     0186:    import shutil
Exception: FileNotFoundError: [Errno 2] No such file or directory: 'tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk-ext/image//opt/poky/3.0/conf/local.conf.bak' -> 'tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk-ext/image//opt/poky/3.0/conf/local.conf'

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_ext.bbclass

index 05cfc1cc15a10841aadd717cc931b1e8e210e8aa..af6e1b6e6a74701ef114bf04908fb644c82024f7 100644 (file)
@@ -179,7 +179,9 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
         # will effectively do
         clean_esdk_builddir(d, sdkbasepath)
     finally:
-        os.replace(sdkbasepath + '/conf/local.conf.bak', sdkbasepath + '/conf/local.conf')
+        localconf = sdkbasepath + '/conf/local.conf'
+        if os.path.exists(localconf + '.bak'):
+            os.replace(localconf + '.bak', localconf)
 
 python copy_buildsystem () {
     import re