From c53ba427ef1d21cb5bd5412e9291e37d2e681a4c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 29 Mar 2017 16:23:03 -0700 Subject: dev-manual: Added YP Compatibility feature Fixes [YOCTO #10596] No information existed for the version 1.0 YP Compatibility Program for layers. Additionally, the version 2.0 flavor is adding a script as part of the application process. I put in a new section on the whole topic. Also, integrated the information into relevant sections with some cross-referencing. (From yocto-docs rev: 6341705d4c08901b2657c489f4e995968db00d85) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 219 ++++++++++++++++++++- 1 file changed, 218 insertions(+), 1 deletion(-) (limited to 'documentation') diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index eda8df21f5..935648b2f9 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -237,7 +237,18 @@ In order to be compliant with the Yocto Project, a layer must contain a README file. - + + + + Optionally Test for Compatibility: + If you want permission to use the Yocto Project + Compatibility logo with your layer or application that + uses your layer, perform the steps to apply for + compatibility. + See the + "Making Sure Your Layer is Compatible With Yocto Project" + section for more information. + @@ -412,6 +423,14 @@ We also recommend the following: + If you want permission to use the + Yocto Project Compatibility logo with your layer + or application that uses your layer, perform the + steps to apply for compatibility. + See the + "Making Sure Your Layer is Compatible With Yocto Project" + section for more information. + Store custom layers in a Git repository that uses the meta-layer_name format. @@ -428,6 +447,204 @@ +
+ Making Sure Your Layer is Compatible With Yocto Project + + + When you create a layer used with the Yocto Project, it is + advantageous to make sure that the layer interacts well with + existing Yocto Project layers (i.e. the layer is compatible + with the Yocto Project). + Ensuring compatibility makes the layer easy to be consumed + by others in the Yocto Project community and allows you + permission to use the Yocto Project Compatibility logo. + + + + Version 1.0 of the Yocto Project Compatibility Program has + been in existence for a number of releases. + This version of the program consists of the layer application + process that requests permission to use the Yocto Project + Compatibility logo for your layer and application. + You can find version 1.0 of the form at + . + To be granted permission to use the logo, you need to be able + to answer "Yes" to the questions or have an acceptable + explanation for any questions answered "No". + + + + A second version (2.0) of the Yocto Project Compatibility + Program is currently under development. + Included as part of version 2.0 (and currently available) is + the yocto-compat-layer.py script. + When run against a layer, this script tests the layer against + tighter constraints based on experiences of how layers have + worked in the real world and where pitfalls have been found. + + + + Part of the 2.0 version of the program that is not currently + available but is in development is an updated compatibility + application form. + This updated form, among other questions, specifically + asks if your layer has passed the test using the + yocto-compat-layer.py script. + Tip + Even though the updated application form is currently + unavailable for version 2.0 of the Yocto Project + Compatibility Program, the + yocto-compat-layer.py script is + available in OE-Core. + You can use the script to assess the status of your + layers in advance of the 2.0 release of the program. + + + + + The remainder of this section presents information on the + version 1.0 registration form and on the + yocto-compat-layer.py script. + + +
+ Yocto Project Compatibility Program Application + + + Use the 1.0 version of the form to apply for your + layer's compatibility approval. + Upon successful application, you can use the Yocto + Project Compatibility logo with your layer and the + application that uses your layer. + + + + To access the form, use this link: + . + Follow the instructions on the form to complete your + application. + + + + The application consists of the following sections: + + + Contact Information: + Provide your contact information as the fields + require. + Along with your information, provide the + released versions of the Yocto Project for which + your layer is compatible. + + + Acceptance Criteria: + Provide "Yes" or "No" answers for each of the + items in the checklist. + Space exists at the bottom of the form for any + explanations for items for which you answered "No". + + + Recommendations: + Provide answers for the questions regarding Linux + kernel use and build success. + + + +
+ +
+ <filename>yocto-compat-layer.py</filename> Script + + + The yocto-compat-layer.py script, + which is currently available, provides you a way to + assess how compatible your layer is with the Yocto + Project. + You should run this script prior to using the form to + apply for compatibility as described in the previous + section. + + Because the script is part of the 2.0 release of the + Yocto Project Compatibility Program, you are not + required to successfully run your layer against it + in order to be granted compatibility status. + However, it is a good idea as it promotes + well-behaved layers and gives you an idea of where your + layer stands regarding compatibility. + + + + + The script divides tests into three areas: COMMON, BSD, + and DISTRO. + For example, given a distribution layer (DISTRO), the + layer must pass both the COMMON and DISTRO related tests. + Furthermore, if your layer is a BSP layer, the layer must + pass the COMMON and BSP set of tests. + + + + To execute the script, enter the following commands from + your build directory: + + $ source oe-init-build-env + $ yocto-compat-layer.py your_layer_directory + + Be sure to provide the actual directory for your layer + as part of the command. + + + + Entering the command causes the script to determine the + type of layer and then to execute a set of specific + tests against the layer. + The following list overviews the test: + + + common.test_readme: + Tests if a README file + exists in the layer and the file is not empty. + + + common.test_parse: + Tests to make sure that BitBake can parse the + files without error (i.e. + bitbake -p). + + + common.test_show_environment: + Tests that the global or per-recipe environment + is in order without errors (i.e. + bitbake -e). + + + common.test_signatures: + Tests to be sure that BSP and DISTRO layers do not + come with recipes that change signatures. + + + bsp.test_bsp_defines_machines: + Tests if a BSP layer has machine configurations. + + + bsp.test_bsp_no_set_machine: + Tests to ensure a BSP layer does not set the + machine when the layer is added. + + + distro.test_distro_defines_distros: + Tests if a DISTRO layer has distro configurations. + + + distro.test_distro_no_set_distro: + Tests to ensure a DISTRO layer does not set the + distribution when the layer is added. + + + +
+
+
Enabling Your Layer -- cgit v1.2.3-54-g00ecf