Bug 8853 - Recipe A depending on recipe B both using externalsrc, and recipe A is always reconfigured
Summary: Recipe A depending on recipe B both using externalsrc, and recipe A is always...
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 2.0
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 2.1 M4
Assignee: Markus Lehtonen
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2015-12-22 21:40 UTC by Paul Eggleton
Modified: 2016-03-29 10:35 UTC (History)
2 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Eggleton 2015-12-22 21:40:56 UTC
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).
Comment 1 Markus Lehtonen 2016-01-12 15:05:31 UTC
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?
Comment 2 Markus Lehtonen 2016-01-12 15:35:24 UTC
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?
Comment 3 Markus Lehtonen 2016-02-19 14:55:09 UTC
Patches have been under review for a while already. Rebased patches here:
http://git.openembedded.org/openembedded-core-contrib/log/?h=marquiz/devtool/fixes
Comment 4 Markus Lehtonen 2016-03-22 06:36:08 UTC
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
Comment 5 Paul Eggleton 2016-03-22 06:49:12 UTC
I did reply - patchwork picked it up:

http://patchwork.openembedded.org/patch/116459/
Comment 6 Markus Lehtonen 2016-03-22 20:44:07 UTC
v3 is now under review:
http://patchwork.openembedded.org/patch/118475/