<?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>5357</bug_id>
          
          <creation_ts>2013-10-16 11:52:54 +0000</creation_ts>
          <short_desc>Enhance signature handling</short_desc>
          <delta_ts>2014-04-02 13:59:44 +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>1.6</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>27 March 2014: Setting documentation flag to &quot;Done.&quot;</status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.6 M5</target_milestone>
          
          <blocked>5467</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Richard Purdie">richard.purdie</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>belen.barros.pena</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>ross.burton</cc>
    
    <cc>srifenbark</cc>
    
    <cc>sstncr</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Done (doc changes complete)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>37979</commentid>
    <comment_count>0</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-10-16 11:52:54 +0000</bug_when>
    <thetext>Currently the interface to bitbake signatures is a bit complex and hard to use. The simple scenario is that you what to know why &quot;bitbake X&quot; is not reusing a given sstate cache.

There are some problems. Specifically, the current sstate cache only has siginfo files for the actual sstate tasks (e.g. populate_sysroot) and not the non-sstate tasks (e.g. fetch/patch/configure/compile/install).

To address this, we probably need to add a bitbake variable which allows dumping the sigdata at the end of every task and we can dump this straight into the sstate directory. The bitbake call needed at the end of each task is  bb.siggen.dump_this_task(xxx.siginfo, d), see sstate.bbclass for how its currently used, we&apos;d trigger this with some kind of new variable for bitbake to notice providing the value of xxx.

Once this is done we can assume the sstate cache directory has all the sigdata. We know the name of the endpoint we want, and all the task start points this would have (X:do_fetch, Y:do_fetch and so on) along with intermediate steps. We&apos;d want to search the sstate cache directory for each task in the tree, we&apos;d likely come up with some matches for some points and others where there was mismatch. We&apos;d then be able to list the possible deviations, ordered from least difference to most difference compared to the current build.

The challenge is therefore to write such a tool and display this data to the user in a way they can understand. They&apos;d probably have to select a deviated tree, then be able to browse the diffsigs for the points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38429</commentid>
    <comment_count>1</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2013-11-01 14:56:50 +0000</bug_when>
    <thetext>There are two pieces to this, one is the underlying tooling which is something Paul/I can probably help with. The second is visualising it which is something Ross might be able to help with. Also cc&apos;d Belen to ensure she is in the loop with this as it could have implications for the toaster UI of this data too amongst other things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41815</commentid>
    <comment_count>2</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2014-03-27 09:53:28 +0000</bug_when>
    <thetext>There is now a bitbake -S printdiff option (compared with bitbake -S none which is the original behaviour). This gives us something to start working with, its far from perfect but its a start.

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=774eb753d8f23d5887c476062acced3bb0ac40c7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41864</commentid>
    <comment_count>3</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2014-03-27 15:35:19 +0000</bug_when>
    <thetext>Hi, 

Working with Richard Purdie, we have created a new paragraph in the &quot;Checksums (Signatures)&quot; section of the BB manual that addresses the new -S option and the fact that the user can now direct BB to use a special signature handler for potential debugging purposes.  

The change can be viewed here: http://www.yoctoproject.org/docs/1.6/user-manual/user-manual.html#checksums.

I am turning the documentation flag to &quot;Done.&quot;

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42167</commentid>
    <comment_count>4</comment_count>
    <who name="Stefan Stanacar">sstncr</who>
    <bug_when>2014-04-02 13:59:44 +0000</bug_when>
    <thetext>Marked as Verified.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>