Bug 8787

Summary: dangling toasterconf.json
Product: [Build System, Metadata & Runtime] BitBake Reporter: Patrick Ohly <patrick.ohly>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: VERIFIED FIXED QA Contact: Mihail Stanciu <stanciux.mihail>
Severity: normal    
Priority: High CC: bogdanx.a.voiculescu, brian.avery, elliot.smith, poky.bs.watcher, poky.watcher
Version: 2.1   
Target Milestone: 2.1 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Patrick Ohly 2015-12-10 15:48:59 UTC
commit 8dcad75ad1d9b8adddeca57e996b8d904b209df5
Author: Mihail Stanciu <stanciux.mihail@intel.com>
Date:   Mon Dec 7 15:53:00 2015 +0000

    toaster: tests Automated build-mode backend tests
    
    Add tests to check various backend scenarios that
    require UI interaction.
    
    Add necessary files for above tests (the sqlite file
    and the default config json).

introduces a dangling symlink:

lib/toaster/contrib/tts/toasteruitest/toasterconf.json -> ../../../../../../meta-yocto/conf/toasterconf.json

meta-yocto only exists at that place in Poky, but not in other distros using bitbake.

With the dangling symlink in place, do_populate_sdk_ext fails:

The stack trace of python calls that resulted in this exception/failure was:
File: 'copy_buildsystem', lineno: 148, function: <module>
     0144:                                                   sstate_out, d,
     0145:                                                   fixedlsbstring)
     0146:
     0147:
 *** 0148:copy_buildsystem(d)
     0149:
File: 'copy_buildsystem', lineno: 145, function: copy_buildsystem
     0141:    bb.utils.remove(sstate_out, True)
     0142:    oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_pruned,
     0143:                                                   d.getVar('SSTATE_DIR', True),
     0144:                                                   sstate_out, d,
 *** 0145:                                                   fixedlsbstring)
     0146:
     0147:
     0148:copy_buildsystem(d)
     0149:
File: '/var/lib/jenkins/build-0/meta/lib/oe/copy_buildsystem.py', lineno: 102, function: create_locked_sstate_cache
     0098:
     0099:    bb.process.run("gen-lockedsig-cache %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache))
     0100:    if fixedlsbstring:
     0101:        os.rename(output_sstate_cache + '/' + d.getVar('NATIVELSBSTRING', True),
 *** 0102:        output_sstate_cache + '/' + fixedlsbstring)
Exception: OSError: [Errno 2] No such file or directory

ERROR: Function failed: copy_buildsystem
ERROR: Logfile of failure stored in: .../temp/log.do_populate_sdk_ext.27673
Comment 1 Patrick Ohly 2015-12-10 15:49:27 UTC
Can this commit be reverted while waiting for a proper fix?
Comment 2 Elliot Smith 2015-12-10 17:02:59 UTC
I suggest it's reverted in the short term.
Comment 3 Patrick Ohly 2015-12-10 19:03:06 UTC
Slight update: while the dangling symlink was causing problems for us and clearly isn't right for bitbake, it caused problems elsewhere. It's not clear whether the do_populate_sdk_ext is related.
Comment 4 Elliot Smith 2015-12-11 10:03:39 UTC
I've submitted a patch to remove the symlinks after discussion with Mihai in QA:

http://lists.openembedded.org/pipermail/bitbake-devel/2015-December/006776.html
Comment 5 brian avery 2016-02-11 17:05:09 UTC
http://lists.openembedded.org/pipermail/bitbake-devel/2015-December/006776.html looks like it would solve this.
Comment 7 Mihail Stanciu 2016-02-15 15:49:12 UTC
Verified symlinks removed from master: 36b43b233c841b3c09fc17e04686b4b758780963