1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

ref-manual: Added more detail to note for FILESEXTRAPATHS use.

Some discussion about this variable indicated that the importance
of the immediate expansion operator was not being called out
enough.  I added further information to the existing note that
states to be sure to use ":=" when using the variable.

(From yocto-docs rev: b97d3fa714a7c71356cd00548d3d01280034afc2)

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-05-13 10:44:45 +03:00
committed by Richard Purdie
parent 97c48dbc6c
commit b47c993ca0
+159 -150
View File
@@ -600,31 +600,31 @@ Core layer for images cannot be removed
<glossentry id='var-COMPATIBLE_HOST'><glossterm>COMPATIBLE_HOST</glossterm> <glossentry id='var-COMPATIBLE_HOST'><glossterm>COMPATIBLE_HOST</glossterm>
<glossdef> <glossdef>
<para>A regular expression that resolves to one or more hosts <para>A regular expression that resolves to one or more hosts
(when the recipe is native) or one or more targets (when (when the recipe is native) or one or more targets (when
the recipe is non-native) with which a recipe is compatible. the recipe is non-native) with which a recipe is compatible.
The regular expression is matched against The regular expression is matched against
<link linkend="var-HOST_SYS"><filename>HOST_SYS</filename></link>. <link linkend="var-HOST_SYS"><filename>HOST_SYS</filename></link>.
You can use the variable to stop recipes from being built You can use the variable to stop recipes from being built
for classes of systems with which the recipes are not for classes of systems with which the recipes are not
compatible. compatible.
Stopping these builds is particularly useful with kernels. Stopping these builds is particularly useful with kernels.
The variable also helps to increase parsing speed The variable also helps to increase parsing speed
since the build system skips parsing recipes not since the build system skips parsing recipes not
compatible with the current system.</para> compatible with the current system.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-COMPATIBLE_MACHINE'><glossterm>COMPATIBLE_MACHINE</glossterm> <glossentry id='var-COMPATIBLE_MACHINE'><glossterm>COMPATIBLE_MACHINE</glossterm>
<glossdef> <glossdef>
<para>A regular expression that resolves to one or more <para>A regular expression that resolves to one or more
target machines with which a recipe is compatible. target machines with which a recipe is compatible.
The regular expression is matched against The regular expression is matched against
<link linkend="var-MACHINEOVERRIDES"><filename>MACHINEOVERRIDES</filename></link>. <link linkend="var-MACHINEOVERRIDES"><filename>MACHINEOVERRIDES</filename></link>.
You can use the variable to stop recipes from being built You can use the variable to stop recipes from being built
for machines with which the recipes are not compatible. for machines with which the recipes are not compatible.
Stopping these builds is particularly useful with kernels. Stopping these builds is particularly useful with kernels.
The variable also helps to increase parsing speed The variable also helps to increase parsing speed
since the build system skips parsing recipes not since the build system skips parsing recipes not
compatible with the current machine.</para> compatible with the current machine.</para>
</glossdef> </glossdef>
@@ -746,8 +746,8 @@ Core layer for images cannot be removed
Specifies a weak bias for recipe selection priority. Specifies a weak bias for recipe selection priority.
</para> </para>
<para> <para>
The most common usage of this is variable is to set The most common usage of this is variable is to set
it to "-1" within a recipe for a development version of a it to "-1" within a recipe for a development version of a
piece of software. piece of software.
Using the variable in this way causes the stable version Using the variable in this way causes the stable version
of the recipe to build by default in the absence of of the recipe to build by default in the absence of
@@ -755,10 +755,10 @@ Core layer for images cannot be removed
being used to build the development version. being used to build the development version.
</para> </para>
<note> <note>
The bias provided by <filename>DEFAULT_PREFERENCE</filename> The bias provided by <filename>DEFAULT_PREFERENCE</filename>
is weak and is overridden by is weak and is overridden by
<filename><link linkend='var-BBFILE_PRIORITY'>BBFILE_PRIORITY</link></filename> <filename><link linkend='var-BBFILE_PRIORITY'>BBFILE_PRIORITY</link></filename>
if the that variable is different between two layers if the that variable is different between two layers
that contain different versions of the same recipe. that contain different versions of the same recipe.
</note> </note>
</glossdef> </glossdef>
@@ -909,12 +909,12 @@ Core layer for images cannot be removed
<glossentry id='var-DISTROOVERRIDES'><glossterm>DISTROOVERRIDES</glossterm> <glossentry id='var-DISTROOVERRIDES'><glossterm>DISTROOVERRIDES</glossterm>
<glossdef> <glossdef>
<para> <para>
This variable lists overrides specific to the current This variable lists overrides specific to the current
distribution. distribution.
By default, the variable list includes the value of the By default, the variable list includes the value of the
<filename><link linkend='var-DISTRO'>DISTRO</link></filename> <filename><link linkend='var-DISTRO'>DISTRO</link></filename>
variable. variable.
You can extend the variable to apply any variable overrides You can extend the variable to apply any variable overrides
you want as part of the distribution and are not you want as part of the distribution and are not
already in <filename>OVERRIDES</filename> through already in <filename>OVERRIDES</filename> through
some other means. some other means.
@@ -1158,16 +1158,16 @@ Core layer for images cannot be removed
Extends the search path the OpenEmbedded build system uses Extends the search path the OpenEmbedded build system uses
when looking for files and patches as it processes recipes when looking for files and patches as it processes recipes
and append files. and append files.
The directories BitBake uses when it processes recipes The directories BitBake uses when it processes recipes
are defined by the are defined by the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link> <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable, and can be extended using variable, and can be extended using
<filename>FILESEXTRAPATHS</filename>. <filename>FILESEXTRAPATHS</filename>.
</para> </para>
<para> <para>
Best practices dictate that you accomplish this by using the Best practices dictate that you accomplish this by using the
variable from within a <filename>.bbappend</filename> file variable from within a <filename>.bbappend</filename> file
and that you prepend paths as follows: and that you prepend paths as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -1175,13 +1175,27 @@ Core layer for images cannot be removed
In the above example, the build system looks for files in In the above example, the build system looks for files in
a directory that has the same name as the corresponding a directory that has the same name as the corresponding
append file. append file.
<note>
When using the <filename>FILESEXTRAPATHS</filename>,
be sure to use the immediate expansion
(<filename>:=</filename>) operator and include
the trailing separating colon character.
Immediate expansion makes sure that BitBake evaluates
<filename>THISDIR</filename> at the time the directive
is encountered rather than at some later time when
expansion might result in a directory that does not
contain the files you need.
The trailing colon character is necessary because you
are directing BitBake to extend the path by prepending
directories to the search path.
</note>
Here is another common use: Here is another common use:
<literallayout class='monospaced'> <literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
</literallayout> </literallayout>
In this example, the build system extends the In this example, the build system extends the
<filename>FILESPATH</filename> variable to include a <filename>FILESPATH</filename> variable to include a
directory named <filename>files</filename> that is in the directory named <filename>files</filename> that is in the
same directory as the corresponding append file. same directory as the corresponding append file.
</para> </para>
@@ -1195,13 +1209,8 @@ Core layer for images cannot be removed
<para> <para>
By prepending paths in <filename>.bbappend</filename> By prepending paths in <filename>.bbappend</filename>
files, you allow multiple append files that reside in files, you allow multiple append files that reside in
different layers but are used for the same recipe to different layers but are used for the same recipe to
correctly extend the path. correctly extend the path.
<note>
Be sure to use the immediate expansion
(<filename>:=</filename>) operator and include
the trailing separating colon character.
</note>
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -1209,17 +1218,17 @@ Core layer for images cannot be removed
<glossentry id='var-FILESPATH'><glossterm>FILESPATH</glossterm> <glossentry id='var-FILESPATH'><glossterm>FILESPATH</glossterm>
<glossdef> <glossdef>
<para> <para>
The default set of directories the OpenEmbedded build system The default set of directories the OpenEmbedded build system
uses when searching for patches and files. uses when searching for patches and files.
During the build process, BitBake searches each directory in During the build process, BitBake searches each directory in
<filename>FILESPATH</filename> in the specified order when <filename>FILESPATH</filename> in the specified order when
looking for files and patches specified by each looking for files and patches specified by each
<filename>file://</filename> URI in a recipe. <filename>file://</filename> URI in a recipe.
</para> </para>
<para> <para>
The default value for the <filename>FILESPATH</filename> The default value for the <filename>FILESPATH</filename>
variable is defined in the <filename>base.bbclass</filename> variable is defined in the <filename>base.bbclass</filename>
class found in <filename>meta/classes</filename> in the class found in <filename>meta/classes</filename> in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>: <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@@ -1227,18 +1236,18 @@ Core layer for images cannot be removed
"${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
</literallayout> </literallayout>
<note> <note>
Do not hand-edit the <filename>FILESPATH</filename> Do not hand-edit the <filename>FILESPATH</filename>
variable. variable.
</note> </note>
Be aware that the default <filename>FILESPATH</filename> Be aware that the default <filename>FILESPATH</filename>
directories do not map to directories in custom layers directories do not map to directories in custom layers
where append files (<filename>.bbappend</filename>) where append files (<filename>.bbappend</filename>)
are used. are used.
If you want the build system to find patches or files If you want the build system to find patches or files
that reside with your append files, you need to extend that reside with your append files, you need to extend
the <filename>FILESPATH</filename> variable by using the <filename>FILESPATH</filename> variable by using
the the
<link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link> <link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link>
variable. variable.
</para> </para>
</glossdef> </glossdef>
@@ -1306,10 +1315,10 @@ Core layer for images cannot be removed
<glossentry id='var-HOST_SYS'><glossterm>HOST_SYS</glossterm> <glossentry id='var-HOST_SYS'><glossterm>HOST_SYS</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies the system, including the architecture and the Specifies the system, including the architecture and the
operating system, for with the build is occurring operating system, for with the build is occurring
in the context of the current in the context of the current
recipe. recipe.
The OpenEmbedded build system automatically sets this The OpenEmbedded build system automatically sets this
variable. variable.
You do not need to set the variable yourself. You do not need to set the variable yourself.
@@ -1319,12 +1328,12 @@ Core layer for images cannot be removed
Here are two examples: Here are two examples:
<itemizedlist> <itemizedlist>
<listitem><para>Given a native recipe on a 32-bit <listitem><para>Given a native recipe on a 32-bit
x86 machine running Linux, the value is x86 machine running Linux, the value is
"i686-linux". "i686-linux".
</para></listitem> </para></listitem>
<listitem><para>Given a recipe being built for a <listitem><para>Given a recipe being built for a
little-endian MIPS target running Linux, little-endian MIPS target running Linux,
the value might be "mipsel-linux". the value might be "mipsel-linux".
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@@ -1419,24 +1428,24 @@ Core layer for images cannot be removed
<para> <para>
Specifies the list of locales to install into the image Specifies the list of locales to install into the image
during the root filesystem construction process. during the root filesystem construction process.
The OpenEmbedded build system automatically splits locale The OpenEmbedded build system automatically splits locale
files, which are used for localization, into separate files, which are used for localization, into separate
packages. packages.
Setting the <filename>IMAGE_LINGUAS</filename> variable Setting the <filename>IMAGE_LINGUAS</filename> variable
ensures that any locale packages that correspond to packages ensures that any locale packages that correspond to packages
already selected for installation into the image are also already selected for installation into the image are also
installed. installed.
Here is an example: Here is an example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
IMAGE_LINGUAS = "pt-br de-de" IMAGE_LINGUAS = "pt-br de-de"
</literallayout> </literallayout>
In this example, the build system ensures any Brazilian In this example, the build system ensures any Brazilian
Portuguese and German locale files that correspond to Portuguese and German locale files that correspond to
packages in the image are installed (i.e. packages in the image are installed (i.e.
<filename>*-locale-pt-br</filename> <filename>*-locale-pt-br</filename>
and <filename>*-locale-de-de</filename> as well as and <filename>*-locale-de-de</filename> as well as
<filename>*-locale-pt</filename> <filename>*-locale-pt</filename>
and <filename>*-locale-de</filename>, since some software and <filename>*-locale-de</filename>, since some software
packages only provide locale files by language and not by packages only provide locale files by language and not by
country-specific language). country-specific language).
</para> </para>
@@ -1672,12 +1681,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-INSANE_SKIP'><glossterm>INSANE_SKIP</glossterm> <glossentry id='var-INSANE_SKIP'><glossterm>INSANE_SKIP</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies the QA checks to skip for a specific package Specifies the QA checks to skip for a specific package
within a recipe. within a recipe.
For example, to skip the check for symbolic link For example, to skip the check for symbolic link
<filename>.so</filename> files in the main package of a <filename>.so</filename> files in the main package of a
recipe, add the following to the recipe. recipe, add the following to the recipe.
The package name override must be used, which in this The package name override must be used, which in this
example is <filename>${PN}</filename>: example is <filename>${PN}</filename>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
INSANE_SKIP_${PN} += "dev-so" INSANE_SKIP_${PN} += "dev-so"
@@ -1685,7 +1694,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para> </para>
<para> <para>
See the "<link linkend='ref-classes-insane'>Generated Output Quality Assurance Checks - <filename>insane.bbclass</filename></link>" See the "<link linkend='ref-classes-insane'>Generated Output Quality Assurance Checks - <filename>insane.bbclass</filename></link>"
section for a list of the valid QA checks you can section for a list of the valid QA checks you can
specify using this variable. specify using this variable.
</para> </para>
</glossdef> </glossdef>
@@ -2199,7 +2208,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-LOG_DIR'><glossterm>LOG_DIR</glossterm> <glossentry id='var-LOG_DIR'><glossterm>LOG_DIR</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies the directory to which the OpenEmbedded build Specifies the directory to which the OpenEmbedded build
system writes overall log files. system writes overall log files.
The default directory is <filename>${TMPDIR}/log</filename>. The default directory is <filename>${TMPDIR}/log</filename>.
</para> </para>
@@ -2474,22 +2483,22 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-MACHINEOVERRIDES'><glossterm>MACHINEOVERRIDES</glossterm> <glossentry id='var-MACHINEOVERRIDES'><glossterm>MACHINEOVERRIDES</glossterm>
<glossdef> <glossdef>
<para> <para>
Lists overrides specific to the current machine. Lists overrides specific to the current machine.
By default, this list includes the value By default, this list includes the value
of <filename><link linkend='var-MACHINE'>MACHINE</link></filename>. of <filename><link linkend='var-MACHINE'>MACHINE</link></filename>.
You can extend the list to apply variable overrides for You can extend the list to apply variable overrides for
classes of machines. classes of machines.
For example, all QEMU emulated machines (e.g. qemuarm, For example, all QEMU emulated machines (e.g. qemuarm,
qemux86, and so forth) include a common file named qemux86, and so forth) include a common file named
<filename>meta/conf/machine/include/qemu.inc</filename> <filename>meta/conf/machine/include/qemu.inc</filename>
that prepends <filename>MACHINEOVERRIDES</filename> with that prepends <filename>MACHINEOVERRIDES</filename> with
the following variable override: the following variable override:
<literallayout class='monospaced'> <literallayout class='monospaced'>
MACHINEOVERRIDES =. "qemuall:" MACHINEOVERRIDES =. "qemuall:"
</literallayout> </literallayout>
Applying an override like <filename>qemuall</filename> Applying an override like <filename>qemuall</filename>
affects all QEMU emulated machines elsewhere. affects all QEMU emulated machines elsewhere.
Here is an example from the Here is an example from the
<filename>connman-conf</filename> recipe: <filename>connman-conf</filename> recipe:
<literallayout class='monospaced'> <literallayout class='monospaced'>
SRC_URI_append_qemuall = "file://wired.config \ SRC_URI_append_qemuall = "file://wired.config \
@@ -2578,18 +2587,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<para> <para>
A string identifying the host distribution. A string identifying the host distribution.
Strings consist of the host distributor ID Strings consist of the host distributor ID
followed by the release, as reported by the followed by the release, as reported by the
<filename>lsb_release</filename> tool <filename>lsb_release</filename> tool
or as read from <filename>/etc/lsb-release</filename>. or as read from <filename>/etc/lsb-release</filename>.
For example, when running a build on Ubuntu 12.10, the value For example, when running a build on Ubuntu 12.10, the value
is "Ubuntu-12.10". is "Ubuntu-12.10".
If this information is unable to be determined, the value If this information is unable to be determined, the value
resolves to "Unknown". resolves to "Unknown".
</para> </para>
<para> <para>
This variable is used by default to isolate native shared This variable is used by default to isolate native shared
state packages for different distributions (e.g. to avoid state packages for different distributions (e.g. to avoid
problems with <filename>glibc</filename> version problems with <filename>glibc</filename> version
incompatibilities). incompatibilities).
Additionally, the variable is checked against Additionally, the variable is checked against
<link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link> <link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link>
@@ -2920,15 +2929,15 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-PROVIDES'><glossterm>PROVIDES</glossterm> <glossentry id='var-PROVIDES'><glossterm>PROVIDES</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of aliases that a recipe also provides. A list of aliases that a recipe also provides.
These aliases are useful for satisfying dependencies of These aliases are useful for satisfying dependencies of
other recipes during the build (as specified by other recipes during the build (as specified by
<filename><link linkend='var-DEPENDS'>DEPENDS</link></filename>). <filename><link linkend='var-DEPENDS'>DEPENDS</link></filename>).
<note> <note>
A recipe's own A recipe's own
<filename><link linkend='var-PN'>PN</link></filename> <filename><link linkend='var-PN'>PN</link></filename>
is implicitly already in its is implicitly already in its
<filename>PROVIDES</filename> list. <filename>PROVIDES</filename> list.
</note> </note>
</para> </para>
</glossdef> </glossdef>
@@ -3090,8 +3099,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-RM_WORK_EXCLUDE'><glossterm>RM_WORK_EXCLUDE</glossterm> <glossentry id='var-RM_WORK_EXCLUDE'><glossterm>RM_WORK_EXCLUDE</glossterm>
<glossdef> <glossdef>
<para> <para>
With <filename>rm_work</filename> enabled, this With <filename>rm_work</filename> enabled, this
variable specifies a list of packages whose work directories variable specifies a list of packages whose work directories
should not be removed. should not be removed.
See the "<link linkend='ref-classes-rm-work'>Removing Work Files During the Build - <filename>rm_work.bbclass</filename></link>" See the "<link linkend='ref-classes-rm-work'>Removing Work Files During the Build - <filename>rm_work.bbclass</filename></link>"
section for more details. section for more details.
@@ -3102,9 +3111,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-RPROVIDES'><glossterm>RPROVIDES</glossterm> <glossentry id='var-RPROVIDES'><glossterm>RPROVIDES</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of package name aliases that a package also provides. A list of package name aliases that a package also provides.
These aliases are useful for satisfying runtime dependencies These aliases are useful for satisfying runtime dependencies
of other packages both during the build and on the target of other packages both during the build and on the target
(as specified by (as specified by
<filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>). <filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>).
<note> <note>
@@ -3113,7 +3122,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</note> </note>
</para> </para>
<para> <para>
As with all package-controlling variables, you must always As with all package-controlling variables, you must always
use the variable in conjunction with a package name override. use the variable in conjunction with a package name override.
Here is an example: Here is an example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@@ -3163,18 +3172,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-RREPLACES'><glossterm>RREPLACES</glossterm> <glossentry id='var-RREPLACES'><glossterm>RREPLACES</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of packages replaced by a package. A list of packages replaced by a package.
The package manager uses this variable to determine which The package manager uses this variable to determine which
package should be installed to replace other package(s) package should be installed to replace other package(s)
during an upgrade. during an upgrade.
In order to also have the other package(s) removed at the In order to also have the other package(s) removed at the
same time, you must add the name of the other same time, you must add the name of the other
package to the package to the
<filename><link linkend='var-RCONFLICTS'>RCONFLICTS</link></filename> variable. <filename><link linkend='var-RCONFLICTS'>RCONFLICTS</link></filename> variable.
</para> </para>
<para> <para>
As with all package-controlling variables, you must use As with all package-controlling variables, you must use
this variable in conjunction with a package name this variable in conjunction with a package name
override. override.
Here is an example: Here is an example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@@ -3187,14 +3196,14 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-RSUGGESTS'><glossterm>RSUGGESTS</glossterm> <glossentry id='var-RSUGGESTS'><glossterm>RSUGGESTS</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of additional packages that you can suggest for A list of additional packages that you can suggest for
installation by the package manager at the time a package installation by the package manager at the time a package
is installed. is installed.
Not all package managers support this functionality. Not all package managers support this functionality.
</para> </para>
<para> <para>
As with all package-controlling variables, you must always As with all package-controlling variables, you must always
use this variable in conjunction with a package name use this variable in conjunction with a package name
override. override.
Here is an example: Here is an example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@@ -3239,19 +3248,19 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SANITY_TESTED_DISTROS'><glossterm>SANITY_TESTED_DISTROS</glossterm> <glossentry id='var-SANITY_TESTED_DISTROS'><glossterm>SANITY_TESTED_DISTROS</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of the host distribution identifiers that the A list of the host distribution identifiers that the
build system has been tested against. build system has been tested against.
Identifiers consist of the host distributor ID Identifiers consist of the host distributor ID
followed by the release, followed by the release,
as reported by the <filename>lsb_release</filename> tool as reported by the <filename>lsb_release</filename> tool
or as read from <filename>/etc/lsb-release</filename>. or as read from <filename>/etc/lsb-release</filename>.
Separate the list items with explicit newline Separate the list items with explicit newline
characters (<filename>\n</filename>). characters (<filename>\n</filename>).
If <filename>SANITY_TESTED_DISTROS</filename> is not empty If <filename>SANITY_TESTED_DISTROS</filename> is not empty
and the current value of and the current value of
<link linkend='var-NATIVELSBSTRING'><filename>NATIVELSBSTRING</filename></link> <link linkend='var-NATIVELSBSTRING'><filename>NATIVELSBSTRING</filename></link>
does not appear in the list, then the build system reports does not appear in the list, then the build system reports
a warning that indicates the current host distribution has a warning that indicates the current host distribution has
not been tested as a build host. not been tested as a build host.
</para> </para>
</glossdef> </glossdef>
@@ -3302,17 +3311,17 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SIGGEN_EXCLUDERECIPES_ABISAFE'><glossterm>SIGGEN_EXCLUDERECIPES_ABISAFE</glossterm> <glossentry id='var-SIGGEN_EXCLUDERECIPES_ABISAFE'><glossterm>SIGGEN_EXCLUDERECIPES_ABISAFE</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of recipes that are completely stable and will A list of recipes that are completely stable and will
never change. never change.
The ABI for the recipes in the list are presented by The ABI for the recipes in the list are presented by
output from the tasks run to build the recipe. output from the tasks run to build the recipe.
Use of this variable is one way to remove dependencies from Use of this variable is one way to remove dependencies from
one recipe on another that affect task signatures and one recipe on another that affect task signatures and
thus force rebuilds when the recipe changes. thus force rebuilds when the recipe changes.
<caution> <caution>
If you add an inappropriate variable to this list, If you add an inappropriate variable to this list,
the software might break at runtime if the the software might break at runtime if the
interface of the recipe was changed after the other interface of the recipe was changed after the other
had been built. had been built.
</caution> </caution>
</para> </para>
@@ -3322,25 +3331,25 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS'><glossterm>SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS</glossterm> <glossentry id='var-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS'><glossterm>SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of recipe dependencies that should not be used to A list of recipe dependencies that should not be used to
determine signatures of tasks from one recipe when they determine signatures of tasks from one recipe when they
depend on tasks from another recipe. depend on tasks from another recipe.
For example: For example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "intone->mplayer2" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "intone->mplayer2"
</literallayout> </literallayout>
In this example, <filename>intone</filename> depends on In this example, <filename>intone</filename> depends on
<filename>mplayer2</filename>. <filename>mplayer2</filename>.
</para> </para>
<para> <para>
Use of this variable is one mechanism to remove dependencies Use of this variable is one mechanism to remove dependencies
that affect task signatures and thus force rebuilds when a that affect task signatures and thus force rebuilds when a
recipe changes. recipe changes.
<caution> <caution>
If you add an inappropriate dependency for a recipe If you add an inappropriate dependency for a recipe
relationship, the software might break during relationship, the software might break during
runtime if the interface of the second recipe was runtime if the interface of the second recipe was
changed after the first recipe had been built. changed after the first recipe had been built.
</caution> </caution>
</para> </para>
@@ -3369,12 +3378,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossdef> <glossdef>
<para> <para>
Groups together machines based upon the same family Groups together machines based upon the same family
of SOC (System On Chip). of SOC (System On Chip).
You typically set this variable in a common You typically set this variable in a common
<filename>.inc</filename> file that you include in the <filename>.inc</filename> file that you include in the
configuration files of all the machines. configuration files of all the machines.
<note> <note>
You must include You must include
<filename>conf/machine/include/soc-family.inc</filename> <filename>conf/machine/include/soc-family.inc</filename>
for this variable to appear in for this variable to appear in
<link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link>. <link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link>.
@@ -3397,56 +3406,56 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm> <glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
<glossdef> <glossdef>
<para>The list of source files - local or remote. <para>The list of source files - local or remote.
This variable tells the OpenEmbedded build system which bits This variable tells the OpenEmbedded build system which bits
to pull in for the build and how to pull them in. to pull in for the build and how to pull them in.
For example, if the recipe or append file only needs to For example, if the recipe or append file only needs to
fetch a tarball from the Internet, the recipe or fetch a tarball from the Internet, the recipe or
append file uses a single <filename>SRC_URI</filename> append file uses a single <filename>SRC_URI</filename>
entry. entry.
On the other hand, if the recipe or append file needs to On the other hand, if the recipe or append file needs to
fetch a tarball, apply two patches, and include a custom fetch a tarball, apply two patches, and include a custom
file, the recipe or append file would include four file, the recipe or append file would include four
instances of the variable.</para> instances of the variable.</para>
<para>The following list explains the available URI protocols: <para>The following list explains the available URI protocols:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis><filename>file://</filename> -</emphasis> <listitem><para><emphasis><filename>file://</filename> -</emphasis>
Fetches files, which are usually files shipped with Fetches files, which are usually files shipped with
the the
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>, <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>,
from the local machine. from the local machine.
The path is relative to the The path is relative to the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link> <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable. variable.
Thus, the build system searches, in order, from the Thus, the build system searches, in order, from the
following directories, which are assumed to be a following directories, which are assumed to be a
subdirectories of the directory in which the subdirectories of the directory in which the
recipe file (<filename>.bb</filename>) or recipe file (<filename>.bb</filename>) or
append file (<filename>.bbappend</filename>) append file (<filename>.bbappend</filename>)
resides: resides:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis><filename>${BPN}</filename> -</emphasis> <listitem><para><emphasis><filename>${BPN}</filename> -</emphasis>
The base recipe name without any special The base recipe name without any special
suffix or version numbers. suffix or version numbers.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>${BP}</filename> -</emphasis> <listitem><para><emphasis><filename>${BP}</filename> -</emphasis>
<filename>${<link linkend='var-BPN'>BPN</link>}-${PV}</filename>. <filename>${<link linkend='var-BPN'>BPN</link>}-${PV}</filename>.
The base recipe name and version but without The base recipe name and version but without
any special package name suffix. any special package name suffix.
</para></listitem> </para></listitem>
<listitem><para><emphasis>files -</emphasis> <listitem><para><emphasis>files -</emphasis>
Files within a directory, which is named Files within a directory, which is named
<filename>files</filename> and is also <filename>files</filename> and is also
alongside the recipe or append file. alongside the recipe or append file.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
<note> <note>
If you want the build system to pick up files If you want the build system to pick up files
specified through a specified through a
<filename>SRC_URI</filename> <filename>SRC_URI</filename>
statement from your append file, you need to be statement from your append file, you need to be
sure to extend the sure to extend the
<filename>FILESPATH</filename> <filename>FILESPATH</filename>
variable by also using the variable by also using the
<link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link> <link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link>
variable from within your append file. variable from within your append file.
</note> </note>
@@ -3691,9 +3700,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-STAMPS_DIR'><glossterm>STAMPS_DIR</glossterm> <glossentry id='var-STAMPS_DIR'><glossterm>STAMPS_DIR</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies the base directory in which the OpenEmbedded Specifies the base directory in which the OpenEmbedded
build system places stamps. build system places stamps.
The default directory is The default directory is
<filename>${TMPDIR}/stamps</filename>. <filename>${TMPDIR}/stamps</filename>.
</para> </para>
</glossdef> </glossdef>
@@ -3715,10 +3724,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SYSROOT_PREPROCESS_FUNCS'><glossterm>SYSROOT_PREPROCESS_FUNCS</glossterm> <glossentry id='var-SYSROOT_PREPROCESS_FUNCS'><glossterm>SYSROOT_PREPROCESS_FUNCS</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of functions to execute after files are staged into A list of functions to execute after files are staged into
the sysroot. the sysroot.
These functions are usually used to apply additional These functions are usually used to apply additional
processing on the staged files, or to stage additional processing on the staged files, or to stage additional
files. files.
</para> </para>
</glossdef> </glossdef>
@@ -3730,15 +3739,15 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-T'><glossterm>T</glossterm> <glossentry id='var-T'><glossterm>T</glossterm>
<glossdef> <glossdef>
<para>This variable points to a directory were BitBake places <para>This variable points to a directory were BitBake places
temporary files, which consist mostly of task logs and temporary files, which consist mostly of task logs and
scripts, when building a particular recipe. scripts, when building a particular recipe.
The variable is typically set as follows: The variable is typically set as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
T = "${WORKDIR}/temp" T = "${WORKDIR}/temp"
</literallayout> </literallayout>
The <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> The <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
is the directory into which BitBake unpacks and builds the is the directory into which BitBake unpacks and builds the
recipe. recipe.
The default <filename>bitbake.conf</filename> file sets this variable.</para> The default <filename>bitbake.conf</filename> file sets this variable.</para>
<para>The <filename>T</filename> variable is not to be confused with <para>The <filename>T</filename> variable is not to be confused with