<?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>2615</bug_id>
          
          <creation_ts>2012-06-17 11:46:25 +0000</creation_ts>
          <short_desc>Add a new flag to bitbake -C to clear a stamp and run the default target</short_desc>
          <delta_ts>2012-07-11 21:22:52 +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>BitBake</product>
          <component>bitbake</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>(p1)(fixed)</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.3 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Wessel">jason.wessel</reporter>
          <assigned_to name="Paul Eggleton">bluelightning</assigned_to>
          <cc>laurentiu.serban</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>sgw</cc>
    
    <cc>song.liu</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>22254</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Wessel">jason.wessel</who>
    <bug_when>2012-06-17 11:46:25 +0000</bug_when>
    <thetext>Bitbake needs a flag which will allow you to clear a stamp and run the default target, such that you an compile and repackage a recipe in one step, or that you can compile a specific task and fully repackage an image.  This is used predominately for an incremental work flow of working on a package before you finalize changes and bump a pr number.

Example 1: Test some local changes with the acl package
   * Get sources with: bitbake -c configure acl
   * Make some changes to the sources in the working tmp/... directory
   * Now recompile/repackage acl: bitbake -C compile acl

Example 2: Test some local changes with the acl package in an image
   * Get sources with: bitbake -c configure acl
   * Make some changes to the sources in the working tmp/... directory
   * Now recompile/repackage acl: bitbake -C compile acl core-image-sato


Even without this change, there is a problem with bitbake that also needs to be fixed where you cannot force a compile and have a package get repackaged and put in the final image if it had successfully re-built.  This work flow should also work properly:

  bitbake acl
  # Make changes locally to acl
  bitbake -f -c acl
  bitbake acl

The problem is that the depending stamps are only existence checked and not &quot;time dependent checked&quot;.  In this case the do_package stamp is older than the do_compile stamp for acl.  Implementation wise, it would probably be cheaper to just clear all dependent stamps in a package if using &quot;bitbake -f -c&quot; or &quot;bitbake -C&quot;, vs having full time stamp checking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22283</commentid>
    <comment_count>1</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2012-06-18 12:42:37 +0000</bug_when>
    <thetext>FYI I&apos;m working on this right now, using a signature-based solution which is working pretty well. I just have a few minor things to tidy up, fingers crossed should be finished by the end of the day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22287</commentid>
    <comment_count>2</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2012-06-18 16:30:54 +0000</bug_when>
    <thetext>I&apos;ve sent out a patch series for review to the bitbake-devel list for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22545</commentid>
    <comment_count>3</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2012-06-25 16:31:48 +0000</bug_when>
    <thetext>Implementation merged to master in commits 5bd11a9bf329217f312076f347b045b5c09f19b2 and c072fa8400002326027557c454a0563acc9ea3b1, with a slight tweak to the help text in 25441f47caadeb66a98ec4317211430772b3e5cf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23008</commentid>
    <comment_count>4</comment_count>
    <who name="Laurentiu Serban">laurentiu.serban</who>
    <bug_when>2012-07-11 21:22:52 +0000</bug_when>
    <thetext>Verified
bitbake -C compile recipe
can be used instead of 
bitbake -c compile -f recipe
&amp;&amp; bitbake recipe</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>