| Summary: | Extensible SDK: devtool sdk-update fails while Preparing build system | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Vineeth Chowdary <vineeth.chowdary> | ||||
| Component: | Scripts and Tools | Assignee: | Pritam Srichandan Sahoo <PritamSrichandan.Sahoo> | ||||
| Status: | NEW --- | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Medium | CC: | alex.kanavin, jaewon, mark.hatle, mathieu.dubois-briand, PritamSrichandan.Sahoo, randy.macleod, ross.burton | ||||
| Version: | 2.4.5 | ||||||
| Target Milestone: | 6.1 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
|
Description
Vineeth Chowdary
2018-08-13 14:37:36 UTC
without –skip-prepare, sdk-update is looping through STAMPS_DIR, which is /tmp/stamps, which is not populated if you are extracting esdk in publish mode.
Even extracting without the -p flag though it wasn't syncing sstate for me. After looking into it,
SSTATE_MIRRORS is set in local.conf of esdk, which causes if statement to skip this in sdk.py
221 with open(os.path.join(conf_dir, 'site.conf'), 'a') as f:
222 f.write('SCONF_VERSION = "%s"\n' % site_conf_version)
223 f.write('SSTATE_MIRRORS_append = " file://.* %s/sstate-cache/PATH \\n "\n' % updateserver)
if I get rid of the check to see SSTATE_MIRRORS is set, and make sure site.conf is populated with this SSTATE_MIRRORS_append it works as expected
This workaround wouldnt work for esdks updated in publish mode however, which is common especially if the esdk is shared on an nfs mount point(you cant run bitbake on nfs) what is the fix here?
There used to be a call to install_sstate_objects before this patch https://gitenterprise.xilinx.com/Yocto/poky/commit/02986886fc40c0fcd33359a279ba9520fd5cac2a when local updates were supported which would work, but now its gone
woops here is the upstream patch that used call to install_sstate_objects https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=02986886fc40c0fcd33359a279ba9520fd5cac2a I think I see what happened - the code in sdk.py was written before SSTATE_MIRRORS got set in the eSDK's local.conf (OE-Core commits 7fefdc1e11ecbfafe36e232a57c08d1a31dae6c9 and 6b9e8b780dcd8d5ffba3df35cfe41674413ee26d). The fix would be instead of checking to see if it's set at all, we would check if the path we want to add is already in SSTATE_MIRRORS, although we may need to take care to avoid things like trailing slashes making a path seem like a "new" one. Sorry that's 9cab832b1e85822fa9be5ea9fa0415f48fba86f2 not 7fefdc1e1... cant seem to find commit 9cab832b1e85822fa9be5ea9fa0415f48fba86f2, but yeah that would fix it, but only for non-publish mode. Any ideas on what to do for publish mode? (extracting with -p flag) Also, in response to your previous comment, is the regex check to see if sstate mirror is already in there necessary? Seems like doing a SSTATE_MIRRORS_append would be cleaner? Bruce, can work with Vineeth and other Xilinx devs to figure out the plans and see if someone there can work on the issue. Sending this back to the original submitter to see if this is still behaviour in the latest. There's been a lot of changes to the eSDK and I'm not sure this is still an issue. Vineeth, can you reply to Bruce and set the defect back to be owned by him? I will check and update Assigning to Jaewon Ping? Someone volunteered you for the bug Mark. Build move to 5.0 -- ../Randy Bulk move of 5.0 medium importance issues to 5.99. Move to 5.1 if you want to actively work on an issue. Move to 5.99 since no one is actively working on this issue. Move to 5.x if you start on a task, please. Need to retest and see if this is still an issue Need to retest and see if this is still an issue |