dev-manual, ref-manual: Updates for BBPATH.

Two things fixed:

1. A couple examples for setting up a layer.conf file were
   using the meta-yocto configuration file as an example.
   Turns out this is a bad example because the BBPATH variable
   is appended to the LAYERDIR when setting BBPATH rather
   than the other way around.  That is because meta-yocto
   is a distro layer.  BSP layers, however, are not distro
   layers and are the norm here.  So I switched up the way
   BBPATH was set and actually called out meta-yocto-bsp
   config file as a template.

2. Added a link for the BBPATH variable in the
   FILESYSTEM_PERMS_TABLES variable description in the
   glossary.  Just happened to notice this so I fixed it

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 1a594b6dde1a494a5f7322b510e1e67d23635298)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-02-01 15:10:01 -06:00 committed by Richard Purdie
parent 718e3b4984
commit 093b0079ce
2 changed files with 52 additions and 25 deletions

View File

@ -102,37 +102,64 @@
layer folder, you need to create a <filename>conf/layer.conf</filename> file. layer folder, you need to create a <filename>conf/layer.conf</filename> file.
It is easiest to take an existing layer configuration file and copy that to your It is easiest to take an existing layer configuration file and copy that to your
layer's <filename>conf</filename> directory and then modify the file as needed.</para> layer's <filename>conf</filename> directory and then modify the file as needed.</para>
<para>The <filename>meta-yocto/conf/layer.conf</filename> file demonstrates the <para>The <filename>meta-yocto-bsp/conf/layer.conf</filename> file demonstrates the
required syntax: required syntax:
<literallayout class='monospaced'> <literallayout class='monospaced'>
# We have a conf and classes directory, add to BBPATH # We have a conf and classes directory, add to BBPATH
BBPATH := "${LAYERDIR}:${BBPATH}" BBPATH := "${BBPATH}:${LAYERDIR}"
# We have recipes-* directories, add to BBFILES # We have a packages directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \ BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend" ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "yocto" BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yocto := "^${LAYERDIR}/" BBFILE_PATTERN_yoctobsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_yocto = "5" BBFILE_PRIORITY_yoctobsp = "5"
</literallayout></para> </literallayout></para>
<para>In the previous example, the recipes for the layers are added to <para>Here is an explanation of the example:
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILES'>BBFILES</ulink></filename>. <itemizedlist>
The <listitem><para>The configuration and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</ulink></filename> classes directory is appended to
variable is then appended with the layer name. <ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink>.
The <note>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PATTERN'>BBFILE_PATTERN</ulink></filename> All non-distro layers, which include all BSP
variable is set to a regular expression and is used to match files layers, are expected to append the layer
from <filename>BBFILES</filename> into a particular layer. directory to the
In this case, immediate expansion of <filename>BBPATH</filename>.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename> On the other hand, distro layers, such as
sets <filename>BBFILE_PATTERN</filename> to the layer's path. <filename>meta-yocto</filename>, can choose
The to enforce their own precedence over
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY'>BBFILE_PRIORITY</ulink></filename> <filename>BBPATH</filename>.
variable then assigns a priority to the layer. For an example of that syntax, see the
Applying priorities is useful in situations where the same package might appear in multiple <filename>layer.conf</filename> file for
layers and allows you to choose what layer should take precedence.</para> the <filename>meta-yocto</filename> layer.
</note></para></listitem>
<listitem><para>The recipes for the layers are
appended to
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILES'>BBFILES</ulink></filename>.
</para></listitem>
<listitem><para>The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</ulink></filename>
variable is then appended with the layer name.
</para></listitem>
<listitem><para>The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PATTERN'>BBFILE_PATTERN</ulink></filename>
variable is set to a regular expression and is
used to match files from
<filename>BBFILES</filename> into a particular
layer.
In this case, immediate expansion of
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename>
sets <filename>BBFILE_PATTERN</filename> to the
layer's path.</para></listitem>
<listitem><para>The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY'>BBFILE_PRIORITY</ulink></filename>
variable then assigns a priority to the layer.
Applying priorities is useful in situations
where the same package might appear in multiple
layers and allows you to choose what layer
should take precedence.</para></listitem>
</itemizedlist></para>
<para>Note the use of the <para>Note the use of the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename> <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename>
variable with the immediate expansion operator. variable with the immediate expansion operator.
@ -1769,7 +1796,7 @@
the <filename>layer.conf</filename> file as follows: the <filename>layer.conf</filename> file as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
# We have a conf and classes directory, add to BBPATH # We have a conf and classes directory, add to BBPATH
BBPATH := "${LAYERDIR}:${BBPATH}" BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a packages directory, add to BBFILES # We have a packages directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \ BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \

View File

@ -1138,7 +1138,7 @@ Core layer for images cannot be removed
point to your custom <filename>fs-perms.txt</filename>. point to your custom <filename>fs-perms.txt</filename>.
You can specify more than a single file permissions setting table. You can specify more than a single file permissions setting table.
The paths you specify to these files must be defined within the The paths you specify to these files must be defined within the
<filename>BBPATH</filename> variable. <link linkend='var-BBPATH'><filename>BBPATH</filename></link> variable.
</para> </para>
<para> <para>
For guidance on how to create your own file permissions settings table file, For guidance on how to create your own file permissions settings table file,