Bug 6202

Summary: Linux-yocto.bb suggests running bitbake -c devshell on do_patch failure
Product: [Yocto Project Subprojects] Kernel Reporter: Brian Lloyd <blloyd>
Component: linux-yoctoAssignee: Bruce Ashfield <bruce.ashfield>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: bluelightning, poky.bs.watcher, poky.watcher
Version: 1.6   
Target Milestone: 1.9 M2   
Hardware: Other   
OS: other   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Brian Lloyd 2014-04-22 02:38:24 UTC
When a do_patch operation fails for Linux-yocto, it recommends running 'bitbake -c devshell Linux-yocto' to troubleshoot/fix the error.
However, With Dylan and later, running the suggested command gives the same error instead of opening a development terminal.

To see this in practice, you will need to break a machine by modifying an .scc file such that another included .scc file is not found.  The file not found causes the do_patch to fail, which prints the
"Patch failures can be resolved in the devshell (bitbak -c devshell ${PN})"

However, since devshell runs after do_patch, and do_patch fails, there is no way into the devshell.


This bug is not to report a broken do_patch (it should have been broken), but is to report the invalid help message printed when an error does occur.
Comment 1 Paul Eggleton 2014-04-24 14:49:00 UTC
devshell.bbclass sets do_devshell to run after do_patch, so it seems that a broken patch could block devshell from executing for any recipe, not just the kernel. We could change devshell to be run after do_unpack instead, but then that would break some people's workflow if they expect to start with the patched source as they do currently.

We do have another option here - we have a proper shell-based interactive patch resolution feature that is enabled by setting PATCHRESOLVE to "user". Since kernel-yocto.bbclass has its own custom do_patch it may not currenly work with this however; perhaps the best solution would be to make it work with that if it doesn't and change the message (which is specific to kernel-yocto.bbclass) to recommend using that rather than devshell which won't work anyway.
Comment 2 Bruce Ashfield 2015-02-10 21:11:06 UTC
For now, we'll get the message update and worry about changing the devshell dependencies
in 1.9.

Changing the status to "in design".