| Summary: | devtool: detect need to re-run configure | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Paul Eggleton <bluelightning> |
| Component: | devtools / tool chain | Assignee: | Paul Eggleton <bluelightning> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | Medium | CC: | benjamin.esquivel, henry.bruce, markus.lehtonen, meta.mr.watcher, meta.watcher |
| Version: | 1.8 | ||
| Target Milestone: | 2.1.2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Paul Eggleton
2015-04-16 11:12:07 UTC
You're thinking about making educated guesses about the project? That is, detect changes in common autotools files: configure[.ac|.in], Makefile.{ac|in}, autogen.sh etc.
How would you detect changes when externalsrc is in effect? Looking at do_configure stamps or something else?
Well, we can have a pretty good idea of what files to monitor based on what classes the recipe inherits. It won't necessarily be perfect, I agree. We'll have to have a closer look at this in 2.1 and see if it's actually practical (and helpful). We could do something similar that we currently have for do_compile. That is, run a python function to get a list of files to put to do_configure[file-checksums], e.g. in externalsrc.bbclass do
d.setVarFlag('do_configure', 'file-checksums', '${@get_configure_files(d)}')
get_configure_files() would then examine the source tree and recipe data and return a list of files to depend on.
Fix merged to master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f7259298a29e865dc03bde77e4617bc671a9c85e Re-opened as I am requesting fix be bapckported to krogoth.
Also setting importance to major as I believe this to be release blocker.
In the meantime, krogoth workaround is to add the following to recipe (and replicate for all other child CMakeLists.txt files in project
do_configure[file-checksums] += "${S}/CMakeLists.txt:True"
Sent krogoth backport for review (along with some other backports from master). Fix now merged to krogoth as well: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=krogoth&id=b169435134fd1a2894ac179f386697874b109a0f |