<?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>10654</bug_id>
          
          <creation_ts>2016-11-14 22:49:35 +0000</creation_ts>
          <short_desc>Investigate binary component functionality</short_desc>
          <delta_ts>2017-12-06 17:16:26 +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>core</component>
          <version>2.2</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>normal</bug_severity>
          <target_milestone>2.3 M1</target_milestone>
          
          <blocked>10663</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephano Cetola">stephano</reporter>
          <assigned_to name="Stephano Cetola">stephano</assigned_to>
          <cc>jose.perez.carranza</cc>
    
    <cc>joshuagloe</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68296</commentid>
    <comment_count>0</comment_count>
    <who name="Stephano Cetola">stephano</who>
    <bug_when>2016-11-14 22:49:35 +0000</bug_when>
    <thetext>Some customers ship BSPs which include binary components, however they do not want to share the source code. There should be some way of checking these binaries at build time to be sure they were built with the correct toolchain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68827</commentid>
    <comment_count>1</comment_count>
    <who name="Stephano Cetola">stephano</who>
    <bug_when>2016-12-05 00:21:49 +0000</bug_when>
    <thetext>Things we should probably be checking:

1. Check for updates to the BSP that break compatibility
2. Check for customer-layer changes that break compatibility
3. Generate list of checks based on things like objdump, readelf, and ldd
4. Allow list of checks to be configurable (extendable?) by recipes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68828</commentid>
    <comment_count>2</comment_count>
    <who name="Stephano Cetola">stephano</who>
    <bug_when>2016-12-05 00:55:57 +0000</bug_when>
    <thetext>As an example (from PCCG):

They have two recipes: 1 for the creation of the binary and another recipe that the customer uses to deploy the binary to their rootfs. 

Problems they would like to solve:

1. The two recipes do not know about each other, so the user could technically include both recipes (which should throw a very obvious error).

2. If they change the location of libraries, older binaries will no longer be compatible. There is currently no check in place for this situation. They currently use PREFERRED_PROVIDER in the binary recipe, to ensure the correct version is installed.

3. If the customer changes something in their layer which breaks compatibility, the binary will simply break without any warnings or errors at build-time.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>