<?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>10596</bug_id>
          
          <creation_ts>2016-11-03 18:00:05 +0000</creation_ts>
          <short_desc>Enable tests of layers for compatibility (YP Compatible v2)</short_desc>
          <delta_ts>2017-03-29 23:34:46 +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>Meta-yocto</product>
          <component>meta-yocto</component>
          <version>2.3</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>27 March 2017: Setting to 2.3 M4</status_whiteboard>
          <keywords></keywords>
          <priority>High</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.3 M4</target_milestone>
          <dependson>5427</dependson>
          <blocked>11131</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>anibal.limon</cc>
    
    <cc>bluelightning</cc>
    
    <cc>dl9pf</cc>
    
    <cc>patrick.ohly</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>srifenbark</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67929</commentid>
    <comment_count>0</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2016-11-03 18:00:05 +0000</bug_when>
    <thetext>The idea behind is explained at [1]. This is the first bug to track this work, but derived bugs may raise one this is investigate further.


[1] https://lists.yoctoproject.org/pipermail/yocto-ab/2016-October/001801.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68214</commentid>
    <comment_count>1</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-11-10 15:38:24 +0000</bug_when>
    <thetext>At OEDEM, Jan-Simon Möller &lt;dl9pf@gmx.de&gt; volunteered to work on the base script that sstate tests would then hook into. The agreement was that I would help find someone to write the sstate tests. I therefore put this as M2 to give Jan-Simon time to do that. This work needs to build off what he does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68267</commentid>
    <comment_count>2</comment_count>
    <who name="Jan-Simon Moeller">dl9pf</who>
    <bug_when>2016-11-13 23:00:21 +0000</bug_when>
    <thetext>I started with the script and the basic requirements listed in the document 
https://github.com/dl9pf/BSP-LAYER_GUIDE

the script is bash right now (bsp-layer-checker).

I&apos;ll work on it if I get to it tomorrow to clean it up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69718</commentid>
    <comment_count>3</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-01-11 15:24:44 +0000</bug_when>
    <thetext>
&gt; I&apos;ll work on it if I get to it tomorrow to clean it up.

Jan, have you already done the clean-up? Anibal is about to jump into this work so just wondering if your pending commits are now at upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69801</commentid>
    <comment_count>4</comment_count>
    <who name="Jan-Simon Moeller">dl9pf</who>
    <bug_when>2017-01-13 11:10:09 +0000</bug_when>
    <thetext>Didn&apos;t get to it between the years. Give me the weekend. Otherwise just go ahead, we can collaborate over on github for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69889</commentid>
    <comment_count>5</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-01-18 17:17:44 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Didn&apos;t get to it between the years. Give me the weekend. Otherwise just go
&gt; ahead, we can collaborate over on github for this.

Hi Jan,

I will start to code DISTRO layer tests on Python, and the plan is to port your shell script for BSP layer tests to Python, the reason is there are some functionality already written in python for make sstate checks.

Thanks for your help,
Anibal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69892</commentid>
    <comment_count>6</comment_count>
    <who name="Jan-Simon Moeller">dl9pf</who>
    <bug_when>2017-01-18 17:44:42 +0000</bug_when>
    <thetext>Ok, then go ahead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70390</commentid>
    <comment_count>7</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-02-02 17:11:20 +0000</bug_when>
    <thetext>I&apos;m working in this branch, currently only contains the detection of layer(s) and it&apos;s types.

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=alimon/yp_compatible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70400</commentid>
    <comment_count>8</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-02-02 18:42:42 +0000</bug_when>
    <thetext>Thanks Anibal for copying me on this bug.  I will monitor and wait for some solution and then we can figure where (if needed) to update the documentation.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70459</commentid>
    <comment_count>9</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-02-06 22:59:06 +0000</bug_when>
    <thetext>*** Bug 5427 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70648</commentid>
    <comment_count>10</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-02-11 17:55:30 +0000</bug_when>
    <thetext>A RFC was sent to the ML,

https://lists.yoctoproject.org/pipermail/yocto/2017-February/034489.html

I expect comments to add more tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71097</commentid>
    <comment_count>11</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-06 21:09:26 +0000</bug_when>
    <thetext>The main script and the basic tests was implemented, merged at,

https://bugzilla.yoctoproject.org/show_bug.cgi?id=11131

A new bug was load to add more tests #11131.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71270</commentid>
    <comment_count>12</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-14 18:05:01 +0000</bug_when>
    <thetext>Hi, 

Right now this bug has been set to RESOLVED.  Can someone tell me if there is a documentation component still?  The doc flag is set to &quot;yes&quot; but sometimes when people resolve a bug they forget about that flag.  Do we need to have some documentation changes associated with this bug?

Soctt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71273</commentid>
    <comment_count>13</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-14 18:17:39 +0000</bug_when>
    <thetext>(In reply to comment #12)
&gt; Hi, 
&gt; 
&gt; Right now this bug has been set to RESOLVED.  Can someone tell me if there
&gt; is a documentation component still?  The doc flag is set to &quot;yes&quot; but
&gt; sometimes when people resolve a bug they forget about that flag.  Do we need
&gt; to have some documentation changes associated with this bug?
&gt; 
&gt; Soctt

The current functionality is very basic to test if a layer is compatible you need to run:

$ source oe-init-build-env
$ yocto-compat-layer.py LAYER_DIR

The layer is tested and generates a result log in the form of 
yocto-compat-layer-TIMESTAMP.log.

The current implemented tests are in the commit description [1]. 

Richard what you think about add a manual section about this script?

[1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/scripts/yocto-compat-layer.py?id=93633edcf84dbf5d97a43cb8d1ebff790a6ab334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71455</commentid>
    <comment_count>14</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2017-03-20 16:57:24 +0000</bug_when>
    <thetext>(In reply to comment #13)
&gt; The current functionality is very basic to test if a layer is compatible you
&gt; need to run:
&gt; 
&gt; $ source oe-init-build-env
&gt; $ yocto-compat-layer.py LAYER_DIR
&gt; 
&gt; The layer is tested and generates a result log in the form of 
&gt; yocto-compat-layer-TIMESTAMP.log.
&gt; 
&gt; The current implemented tests are in the commit description [1]. 
&gt; 
&gt; Richard what you think about add a manual section about this script?
&gt; 
&gt; [1]
&gt; http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/scripts/yocto-compat-
&gt; layer.py?id=93633edcf84dbf5d97a43cb8d1ebff790a6ab334

YP Compatible is important and I believe we need to document:

a) What it is
b) What being YP Compatible requires
c) How you can use the script to test this

so you cover c) above but there some other pieces of this we also need to document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71526</commentid>
    <comment_count>15</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-21 16:57:35 +0000</bug_when>
    <thetext>Anibal, 

Can you address points &quot;a&quot; and &quot;b&quot; from Richard&apos;s Comment 14?

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71599</commentid>
    <comment_count>16</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-22 18:28:11 +0000</bug_when>
    <thetext>(In reply to comment #15)
&gt; Anibal, 
&gt; 
&gt; Can you address points &quot;a&quot; and &quot;b&quot; from Richard&apos;s Comment 14?
&gt; 
&gt; Thanks

a) point we need to explain that the tool helps the users to validate the alignment with Yocto project compatible programee [1], i don&apos;t know if we have documented this into the manual.

b) The requirements to be Yocto Project compatible also are described in the registration form [2] like have a README file, the tool now has some tests implemented in the tool here a description in the commit message [2], the tests are divided into COMMON, BSD and DISTRO. For example if a layer is a DISTRO one needs to pass COMMON + DISTRO tests, if it is a BSP layer needs to pass COMMON + BSP otherwise only COMMON.

Feel free to ask more questions,

Anibal

[1] https://www.yoctoproject.org/webform/yocto-project-compatible-registration
[2] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/scripts/yocto-compat-layer.py?id=93633edcf84dbf5d97a43cb8d1ebff790a6ab334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71749</commentid>
    <comment_count>17</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-27 16:53:37 +0000</bug_when>
    <thetext>Anibal, 

The compliance worksheet (https://www.yoctoproject.org/webform/yocto-project-compatible-registration)... is that implemented?  If not, where exactly will it reside in the yoctoproject website?  What are the menu selections I use to get to it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71750</commentid>
    <comment_count>18</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-27 16:55:43 +0000</bug_when>
    <thetext>Anibal, 

this issue also transcends BSP layers correct?  It can be for any layer a person wants to use with YP correct?

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71751</commentid>
    <comment_count>19</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-27 16:56:41 +0000</bug_when>
    <thetext>Moving target to 2.3 M4 for the documentation component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71752</commentid>
    <comment_count>20</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-27 17:01:27 +0000</bug_when>
    <thetext>Richard and Anibal, 

I am thinking of adding a new section right above this one - http://www.yoctoproject.org/docs/2.3/dev-manual/dev-manual.html#enabling-your-layer - in the dev-manual to address this layer compatibility issue.  I would title it something like &quot;Making sure your layers are compatible&quot;.  I would introduce the concept, the reasoning, the script, and provide an example.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71753</commentid>
    <comment_count>21</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-27 17:07:28 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; Anibal, 
&gt; 
&gt; this issue also transcends BSP layers correct?  It can be for any layer a
&gt; person wants to use with YP correct?

That&apos;s right,

Anibal

&gt; 
&gt; Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71754</commentid>
    <comment_count>22</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-27 17:08:13 +0000</bug_when>
    <thetext>(In reply to comment #17)
&gt; Anibal, 
&gt; 
&gt; The compliance worksheet
&gt; (https://www.yoctoproject.org/webform/yocto-project-compatible-registration).
&gt; .. is that implemented?  If not, where exactly will it reside in the
&gt; yoctoproject website?  What are the menu selections I use to get to it?

Let me review the registration form to make a mapping in the tests and the points on the form.

Anibal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71773</commentid>
    <comment_count>23</comment_count>
    <who name="Patrick Ohly">patrick.ohly</who>
    <bug_when>2017-03-27 19:52:13 +0000</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #17)
&gt; &gt; Anibal, 
&gt; &gt; 
&gt; &gt; The compliance worksheet
&gt; &gt; (https://www.yoctoproject.org/webform/yocto-project-compatible-registration).
&gt; &gt; .. is that implemented?  If not, where exactly will it reside in the
&gt; &gt; yoctoproject website?  What are the menu selections I use to get to it?
&gt; 
&gt; Let me review the registration form to make a mapping in the tests and the
&gt; points on the form.

Isn&apos;t the form out-dated, i.e. it needs to be updated to work for &quot;Yocto Compatibility 2.0&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71775</commentid>
    <comment_count>24</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-27 20:55:31 +0000</bug_when>
    <thetext>I also need to know how to find the form itself from the YP website.  Currently, I don&apos;t know how to find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71782</commentid>
    <comment_count>25</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-27 21:39:15 +0000</bug_when>
    <thetext>(In reply to comment #24)
&gt; I also need to know how to find the form itself from the YP website. 
&gt; Currently, I don&apos;t know how to find it.

Yes there is a problem in the navigation in the website :/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71783</commentid>
    <comment_count>26</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-27 21:40:35 +0000</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; Anibal, 
&gt; &gt; &gt; 
&gt; &gt; &gt; The compliance worksheet
&gt; &gt; &gt; (https://www.yoctoproject.org/webform/yocto-project-compatible-registration).
&gt; &gt; &gt; .. is that implemented?  If not, where exactly will it reside in the
&gt; &gt; &gt; yoctoproject website?  What are the menu selections I use to get to it?
&gt; &gt; 
&gt; &gt; Let me review the registration form to make a mapping in the tests and the
&gt; &gt; points on the form.
&gt; 
&gt; Isn&apos;t the form out-dated, i.e. it needs to be updated to work for &quot;Yocto
&gt; Compatibility 2.0&quot;?

As i know the form is on usage but yes it needs to be updated to YP Compatible 2.0, anyway the basic test cases were based on that form.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71819</commentid>
    <comment_count>27</comment_count>
    <who name="Aníbal Limón">anibal.limon</who>
    <bug_when>2017-03-28 16:47:53 +0000</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #23)
&gt; &gt; (In reply to comment #22)
&gt; &gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; &gt; Anibal, 
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; The compliance worksheet
&gt; &gt; &gt; &gt; (https://www.yoctoproject.org/webform/yocto-project-compatible-registration).
&gt; &gt; &gt; &gt; .. is that implemented?  If not, where exactly will it reside in the
&gt; &gt; &gt; &gt; yoctoproject website?  What are the menu selections I use to get to it?
&gt; &gt; &gt; 
&gt; &gt; &gt; Let me review the registration form to make a mapping in the tests and the
&gt; &gt; &gt; points on the form.
&gt; &gt; 
&gt; &gt; Isn&apos;t the form out-dated, i.e. it needs to be updated to work for &quot;Yocto
&gt; &gt; Compatibility 2.0&quot;?
&gt; 
&gt; As i know the form is on usage but yes it needs to be updated to YP
&gt; Compatible 2.0, anyway the basic test cases were based on that form.

The current tests covers next points partially see after :,

- Do all layers contain a README file which details the origin of the layer, its maintainer, where to submit changes, and any dependencies or version requirements?: ONLY search if README exists.

- Do all layers build without errors against OpenEmbedded-Core with only the dependencies/requirements listed in their README file?: The bitbake environment (bitbake -e) and parsing (bitbake -p world) is executed but not a full build.

The next points are covered fully:

- Are hardware support, configuration (distro) policy, and recipe metadata separated into different layers which do not depend on each other?: 

  -- That&apos;s implemented when discover if a layer is BSP, DISTRO or SOFTWARE, isn&apos;t  allow to be more than one profile.
  -- The other implemented functionality is to check if a BSP or a DISTRO layer
     doesn&apos;t change signatures of software recipes because isn&apos;t allowed to do 
     that only adding the layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71879</commentid>
    <comment_count>28</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-29 20:42:56 +0000</bug_when>
    <thetext>Anibal, 

So Comment 27 relates to the form on the website correct?  

We will need a real link that I can put in the docs when that form is accessible and correct.  For now, I am going to use the link you have in the comments here for this bug.  

I am moving forward with the proposed new section as I suggested in Comment 20.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71880</commentid>
    <comment_count>29</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2017-03-29 21:26:16 +0000</bug_when>
    <thetext>We have a small issue in that the new website will cover Yocto Project Compatible v2 and we don&apos;t have the new website yet. We do have an idea what YP Compat 2 consists of though and we&apos;re preparing the script now. Therefore there isn&apos;t a link, yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71881</commentid>
    <comment_count>30</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2017-03-29 21:37:43 +0000</bug_when>
    <thetext>Scott, I propose something like the following section in the location you mention:

Yocto Project Layer Compatibility Programme
===========================================

The Yocto project runs a programme which encourages layers to conform to certain standards and best practises. You can put anything in a layer but there are some best practises which if followed, maximise on the chances that your layer will interact well with other layers.

The first version, 1.0 of the programme has been running for a number of years. There is a form on the Yocto Project website which you can fill in to request permission to use the Yocto Project Compatible logo for your layer and application is open to Yocto Project members and non-commercial open source projects. You would need to be able to answer &quot;Yes&quot; to the questions, or have a good explanation for why you couldn&apos;t answer yes.

The second version, 2.0 of the programme is also in development and will include some tighter constraints based on experience of how layers have worked in the real world and where pitfalls have been found. A change is that starting with 2.0, a script is available to test some components of layer compatibility. As part of the submission process, people will be required to confirm that they have run the script against their layer and that it passed the tests. Whilst YP Compat 2.0 has not officially launched yet, the script is available in OE-Core and can be used to assess the status of layers in advance of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71883</commentid>
    <comment_count>31</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-03-29 23:34:46 +0000</bug_when>
    <thetext>Hi, 

I have created some stuff in the dev-manual to deal with this new script and the evolving YP Compatibility Program situation.  See these areas and provide comments and feedback.

 * A new step 5 in this list that generalizes how to create a layer.  See http://www.yoctoproject.org/docs/2.3/dev-manual/dev-manual.html#creating-your-own-layer.

 * The first bullet in this list of other recommendations.  See http://www.yoctoproject.org/docs/2.3/dev-manual/dev-manual.html#other-recommendations

 * The new section on YP Compatibility.  See http://www.yoctoproject.org/docs/2.3/dev-manual/dev-manual.html#making-sure-your-layer-is-compatible-with-yocto-project.  Note that for the bsp.test_bsp_no_set_machine and distro.test_distro_no_set_distro tests the description as written in the commit did not make sense to me.  I could use some clarification on them both.

Thanks, 
Scott</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>