<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>7617</bug_id>
          
          <creation_ts>2015-04-16 11:12:07 +0000</creation_ts>
          <short_desc>devtool: detect need to re-run configure</short_desc>
          <delta_ts>2016-11-09 22:22:47 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>1.8</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>2.1.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Paul Eggleton">bluelightning</reporter>
          <assigned_to name="Paul Eggleton">bluelightning</assigned_to>
          <cc>benjamin.esquivel</cc>
    
    <cc>henry.bruce</cc>
    
    <cc>markus.lehtonen</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50336</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2015-04-16 11:12:07 +0000</bug_when>
    <thetext>It would be useful if devtool (or rather, externalsrc.bbclass) could ensure that do_configure re-runs if one of the files that might change the behaviour of that step (e.g. configure.ac in the case of autotools) was changed. 

We would probably implement this by ensuring that file dependencies exist on an appropriate list of files, so that it&apos;s bitbake doing the checking rather than some additional code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54871</commentid>
    <comment_count>1</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2015-10-01 13:15:50 +0000</bug_when>
    <thetext>You&apos;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?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54936</commentid>
    <comment_count>2</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2015-10-02 12:48:49 +0000</bug_when>
    <thetext>Well, we can have a pretty good idea of what files to monitor based on what classes the recipe inherits. It won&apos;t necessarily be perfect, I agree.

We&apos;ll have to have a closer look at this in 2.1 and see if it&apos;s actually practical (and helpful).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60794</commentid>
    <comment_count>3</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-04-05 10:05:47 +0000</bug_when>
    <thetext>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(&apos;do_configure&apos;, &apos;file-checksums&apos;, &apos;${@get_configure_files(d)}&apos;)

get_configure_files() would then examine the source tree and recipe data and return a list of files to depend on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67158</commentid>
    <comment_count>4</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2016-10-12 00:58:38 +0000</bug_when>
    <thetext>Fix merged to master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f7259298a29e865dc03bde77e4617bc671a9c85e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67241</commentid>
    <comment_count>5</comment_count>
    <who name="Henry Bruce">henry.bruce</who>
    <bug_when>2016-10-13 20:36:46 +0000</bug_when>
    <thetext>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] += &quot;${S}/CMakeLists.txt:True&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67344</commentid>
    <comment_count>6</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2016-10-18 22:17:45 +0000</bug_when>
    <thetext>Sent krogoth backport for review (along with some other backports from master).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68207</commentid>
    <comment_count>7</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2016-11-09 22:22:47 +0000</bug_when>
    <thetext>Fix now merged to krogoth as well:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=krogoth&amp;id=b169435134fd1a2894ac179f386697874b109a0f</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>