If you have a recipe A with recipe B in its DEPENDS, and both recipes use externalsrc, recipe A's do_configure will be retriggered every time the recipe is called for since recipe B's do_compile is marked nostamp. This is very much less than optimal if you're working on several recipes at once (a more likely scenario within the extensible SDK having used "devtool add" to add both recipes).
Seems like a nasty problem, because, on the other hand wouldn't you want A to be (re-)configured if B is changed(?) Or, do you think that we can just forget about dependencies between externalsrc packages? Currently, in addition to A's do_configure, B's do_compile (and other tasks above that) get run when A is built which could be seen as a problem as well. To me it seems like this 'do_configure problem' is just one part of a bigger 'externalsrc interdependency problem'. It might make sense to fix/workaround this signle case if it stands out as a significant separate problem in this 'problem space'. Any thoughts?
Maybe we could just get rid of the nostamp altogether. Just do something like: $ find ${S} -printf "%T+\n" | sort -n | tail -n 1 to see if anything in external source tree has changed. What do you think?
Patches have been under review for a while already. Rebased patches here: http://git.openembedded.org/openembedded-core-contrib/log/?h=marquiz/devtool/fixes
Moving to M4. The second version of the patch has been in review for about a month now, without any comments: http://lists.openembedded.org/pipermail/openembedded-core/2016-February/118067.html
I did reply - patchwork picked it up: http://patchwork.openembedded.org/patch/116459/
v3 is now under review: http://patchwork.openembedded.org/patch/118475/
Merged into master in: http://git.openembedded.org/openembedded-core/commit/?id=a26becdf981b35d7ef8524f9e65c25a74b842f1d http://git.openembedded.org/openembedded-core/commit/?id=a797abe08bfe4144e120c984d1718c2cc3d87c0a