diff options
author | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2020-07-24 16:27:54 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-17 10:09:33 +0100 |
commit | c473fa229239752367c5d573160fc8738cf1907e (patch) | |
tree | f8520ba3aa3cf911333dbd31e38e9a52203a0285 /documentation/dev-manual/dev-manual-common-tasks.rst | |
parent | 4cd953989de42c7a83f666c23e077d53b016a1f1 (diff) | |
download | poky-c473fa229239752367c5d573160fc8738cf1907e.tar.gz |
sphinx: fix internal links
Many of the internal links were not converted probably from DocBook
using pandoc. After looking at the various patterns, the follow series
of 'naive' Python regexp were used to perform some additional
automatic conversion.
Also, since we rely on built-in glossary, all links to terms need to
use the sphinx :term: syntax.
This commit is generated using the following Python series of regexp:
line = re.sub("`+(\w+)`* <(\&YOCTO_DOCS_REF_URL;)?#var-\\1>`__",
":term:`\\1`",
line)
line = re.sub("`+do_([a-z_]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-tasks-\\1>`__",
":ref:`ref-tasks-\\1`",
line)
line = re.sub("`+([a-z_\-\*\.]+).bbclass`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__",
":ref:`\\1.bbclass <ref-classes-\\1>`",
line)
line = re.sub("`+([a-z_\-\*\.]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__",
":ref:`\\1 <ref-classes-\\1>`",
line)
line = re.sub("`Source Directory <(\&YOCTO_DOCS_REF_URL;)?#source-directory>`__",
":term:`Source Directory`",
line)
line = re.sub("`Build Directory <(\&YOCTO_DOCS_REF_URL;)?#build-directory>`__",
":term:`Build Directory`",
line)
line = re.sub("`Metadata <(\&YOCTO_DOCS_REF_URL;)?#metadata>`__",
":term:`Metadata`",
line)
line = re.sub("`BitBake <(\&YOCTO_DOCS_REF_URL;)?#bitbake-term>`__",
":term:`BitBake`",
line)
line = re.sub("`Images <(\&YOCTO_DOCS_REF_URL;)?#ref-images>`__",
":ref:`ref-manual/ref-images:Images`",
line)
line = re.sub("`Classes <(\&YOCTO_DOCS_REF_URL;)?#ref-classes>`__",
":ref:`ref-manual/ref-classes:Classes`",
line)
line = re.sub("`workspace <(\&YOCTO_DOCS_REF_URL;)?#devtool-the-workspace-layer-structure>`__",
":ref:`devtool-the-workspace-layer-structure`",
line)
line = re.sub("`Open-?Embedded b?B?uild s?S?ystem <(\&YOCTO_DOCS_REF_URL;)?#build-system-term>`__",
":term:`OpenEmbedded Build System`",
line)
line = re.sub("`(OpenEmbedded-Core )?(\(?OE-Core\)? )?<(\&YOCTO_DOCS_REF_URL;)?#oe-core>`__",
":term:`OpenEmbedded-Core (OE-Core)`",
line)
It won't catch multiline strings, but it catches a very large number
of occurences!
(From yocto-docs rev: 3f537d17de5b1fb76ba3bee196481984a4826378)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.rst')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.rst | 768 |
1 files changed, 384 insertions, 384 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.rst b/documentation/dev-manual/dev-manual-common-tasks.rst index 133a3dd31c..ae26172f6c 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.rst +++ b/documentation/dev-manual/dev-manual-common-tasks.rst | |||
@@ -14,7 +14,7 @@ Understanding and Creating Layers | |||
14 | ================================= | 14 | ================================= |
15 | 15 | ||
16 | The OpenEmbedded build system supports organizing | 16 | The OpenEmbedded build system supports organizing |
17 | `Metadata <&YOCTO_DOCS_REF_URL;#metadata>`__ into multiple layers. | 17 | :term:`Metadata` into multiple layers. |
18 | Layers allow you to isolate different types of customizations from each | 18 | Layers allow you to isolate different types of customizations from each |
19 | other. For introductory information on the Yocto Project Layer Model, | 19 | other. For introductory information on the Yocto Project Layer Model, |
20 | see the "`The Yocto Project Layer | 20 | see the "`The Yocto Project Layer |
@@ -81,7 +81,7 @@ Follow these general steps to create your layer without using tools: | |||
81 | = "4" LAYERSERIES_COMPAT_yoctobsp = "DISTRO_NAME_NO_CAP" Following is | 81 | = "4" LAYERSERIES_COMPAT_yoctobsp = "DISTRO_NAME_NO_CAP" Following is |
82 | an explanation of the layer configuration file: | 82 | an explanation of the layer configuration file: |
83 | 83 | ||
84 | - ```BBPATH`` <&YOCTO_DOCS_REF_URL;#var-BBPATH>`__: Adds the layer's | 84 | - :term:`BBPATH`: Adds the layer's |
85 | root directory to BitBake's search path. Through the use of the | 85 | root directory to BitBake's search path. Through the use of the |
86 | ``BBPATH`` variable, BitBake locates class files (``.bbclass``), | 86 | ``BBPATH`` variable, BitBake locates class files (``.bbclass``), |
87 | configuration files, and files that are included with ``include`` | 87 | configuration files, and files that are included with ``include`` |
@@ -91,35 +91,35 @@ Follow these general steps to create your layer without using tools: | |||
91 | is recommended, therefore, that you use unique class and | 91 | is recommended, therefore, that you use unique class and |
92 | configuration filenames in your custom layer. | 92 | configuration filenames in your custom layer. |
93 | 93 | ||
94 | - ```BBFILES`` <&YOCTO_DOCS_REF_URL;#var-BBFILES>`__: Defines the | 94 | - :term:`BBFILES`: Defines the |
95 | location for all recipes in the layer. | 95 | location for all recipes in the layer. |
96 | 96 | ||
97 | - ```BBFILE_COLLECTIONS`` <&YOCTO_DOCS_REF_URL;#var-BBFILE_COLLECTIONS>`__: | 97 | - :term:`BBFILE_COLLECTIONS`: |
98 | Establishes the current layer through a unique identifier that is | 98 | Establishes the current layer through a unique identifier that is |
99 | used throughout the OpenEmbedded build system to refer to the | 99 | used throughout the OpenEmbedded build system to refer to the |
100 | layer. In this example, the identifier "yoctobsp" is the | 100 | layer. In this example, the identifier "yoctobsp" is the |
101 | representation for the container layer named "meta-yocto-bsp". | 101 | representation for the container layer named "meta-yocto-bsp". |
102 | 102 | ||
103 | - ```BBFILE_PATTERN`` <&YOCTO_DOCS_REF_URL;#var-BBFILE_PATTERN>`__: | 103 | - :term:`BBFILE_PATTERN`: |
104 | Expands immediately during parsing to provide the directory of the | 104 | Expands immediately during parsing to provide the directory of the |
105 | layer. | 105 | layer. |
106 | 106 | ||
107 | - ```BBFILE_PRIORITY`` <&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY>`__: | 107 | - :term:`BBFILE_PRIORITY`: |
108 | Establishes a priority to use for recipes in the layer when the | 108 | Establishes a priority to use for recipes in the layer when the |
109 | OpenEmbedded build finds recipes of the same name in different | 109 | OpenEmbedded build finds recipes of the same name in different |
110 | layers. | 110 | layers. |
111 | 111 | ||
112 | - ```LAYERVERSION`` <&YOCTO_DOCS_REF_URL;#var-LAYERVERSION>`__: | 112 | - :term:`LAYERVERSION`: |
113 | Establishes a version number for the layer. You can use this | 113 | Establishes a version number for the layer. You can use this |
114 | version number to specify this exact version of the layer as a | 114 | version number to specify this exact version of the layer as a |
115 | dependency when using the | 115 | dependency when using the |
116 | ```LAYERDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-LAYERDEPENDS>`__ | 116 | :term:`LAYERDEPENDS` |
117 | variable. | 117 | variable. |
118 | 118 | ||
119 | - ```LAYERDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-LAYERDEPENDS>`__: | 119 | - :term:`LAYERDEPENDS`: |
120 | Lists all layers on which this layer depends (if any). | 120 | Lists all layers on which this layer depends (if any). |
121 | 121 | ||
122 | - ```LAYERSERIES_COMPAT`` <&YOCTO_DOCS_REF_URL;#var-LAYERSERIES_COMPAT>`__: | 122 | - :term:`LAYERSERIES_COMPAT`: |
123 | Lists the `Yocto Project <&YOCTO_WIKI_URL;/wiki/Releases>`__ | 123 | Lists the `Yocto Project <&YOCTO_WIKI_URL;/wiki/Releases>`__ |
124 | releases for which the current version is compatible. This | 124 | releases for which the current version is compatible. This |
125 | variable is a good way to indicate if your particular layer is | 125 | variable is a good way to indicate if your particular layer is |
@@ -184,7 +184,7 @@ following list: | |||
184 | have a layer named ``meta-one`` that adds support for building | 184 | have a layer named ``meta-one`` that adds support for building |
185 | machine "one". To do so, you use an append file named | 185 | machine "one". To do so, you use an append file named |
186 | ``base-files.bbappend`` and create a dependency on "foo" by | 186 | ``base-files.bbappend`` and create a dependency on "foo" by |
187 | altering the ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ | 187 | altering the :term:`DEPENDS` |
188 | variable: DEPENDS = "foo" The dependency is created during any | 188 | variable: DEPENDS = "foo" The dependency is created during any |
189 | build that includes the layer ``meta-one``. However, you might not | 189 | build that includes the layer ``meta-one``. However, you might not |
190 | want this dependency for all machines. For example, suppose you | 190 | want this dependency for all machines. For example, suppose you |
@@ -221,13 +221,13 @@ following list: | |||
221 | 221 | ||
222 | - *Place Machine-Specific Files in Machine-Specific Locations:* When | 222 | - *Place Machine-Specific Files in Machine-Specific Locations:* When |
223 | you have a base recipe, such as ``base-files.bb``, that contains a | 223 | you have a base recipe, such as ``base-files.bb``, that contains a |
224 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statement to a | 224 | :term:`SRC_URI` statement to a |
225 | file, you can use an append file to cause the build to use your | 225 | file, you can use an append file to cause the build to use your |
226 | own version of the file. For example, an append file in your layer | 226 | own version of the file. For example, an append file in your layer |
227 | at ``meta-one/recipes-core/base-files/base-files.bbappend`` could | 227 | at ``meta-one/recipes-core/base-files/base-files.bbappend`` could |
228 | extend ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ | 228 | extend :term:`FILESPATH` |
229 | using | 229 | using |
230 | ```FILESEXTRAPATHS`` <&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS>`__ | 230 | :term:`FILESEXTRAPATHS` |
231 | as follows: FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" The | 231 | as follows: FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" The |
232 | build for machine "one" will pick up your machine-specific file as | 232 | build for machine "one" will pick up your machine-specific file as |
233 | long as you have the file in | 233 | long as you have the file in |
@@ -401,7 +401,7 @@ Enabling Your Layer | |||
401 | Before the OpenEmbedded build system can use your new layer, you need to | 401 | Before the OpenEmbedded build system can use your new layer, you need to |
402 | enable it. To enable your layer, simply add your layer's path to the | 402 | enable it. To enable your layer, simply add your layer's path to the |
403 | ``BBLAYERS`` variable in your ``conf/bblayers.conf`` file, which is | 403 | ``BBLAYERS`` variable in your ``conf/bblayers.conf`` file, which is |
404 | found in the `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 404 | found in the :term:`Build Directory`. |
405 | The following example shows how to enable a layer named | 405 | The following example shows how to enable a layer named |
406 | ``meta-mylayer``: # POKY_BBLAYERS_CONF_VERSION is increased each time | 406 | ``meta-mylayer``: # POKY_BBLAYERS_CONF_VERSION is increased each time |
407 | build/conf/bblayers.conf # changes incompatibly | 407 | build/conf/bblayers.conf # changes incompatibly |
@@ -445,7 +445,7 @@ newer version, you must also rename and possibly update the | |||
445 | corresponding ``.bbappend`` as well. During the build process, BitBake | 445 | corresponding ``.bbappend`` as well. During the build process, BitBake |
446 | displays an error on starting if it detects a ``.bbappend`` file that | 446 | displays an error on starting if it detects a ``.bbappend`` file that |
447 | does not have a corresponding recipe with a matching name. See the | 447 | does not have a corresponding recipe with a matching name. See the |
448 | ```BB_DANGLINGAPPENDS_WARNONLY`` <&YOCTO_DOCS_REF_URL;#var-BB_DANGLINGAPPENDS_WARNONLY>`__ | 448 | :term:`BB_DANGLINGAPPENDS_WARNONLY` |
449 | variable for information on how to handle this error. | 449 | variable for information on how to handle this error. |
450 | 450 | ||
451 | As an example, consider the main formfactor recipe and a corresponding | 451 | As an example, consider the main formfactor recipe and a corresponding |
@@ -462,7 +462,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" INHIBIT_DEFAULT_DEPS = "1" do_install() | |||
462 | ${D}${sysconfdir}/formfactor/ install -m 0644 ${S}/config | 462 | ${D}${sysconfdir}/formfactor/ install -m 0644 ${S}/config |
463 | ${D}${sysconfdir}/formfactor/ if [ -s "${S}/machconfig" ]; then install | 463 | ${D}${sysconfdir}/formfactor/ if [ -s "${S}/machconfig" ]; then install |
464 | -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/ fi } In the main | 464 | -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/ fi } In the main |
465 | recipe, note the ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ | 465 | recipe, note the :term:`SRC_URI` |
466 | variable, which tells the OpenEmbedded build system where to find files | 466 | variable, which tells the OpenEmbedded build system where to find files |
467 | during the build. | 467 | during the build. |
468 | 468 | ||
@@ -472,15 +472,15 @@ file is in the layer at ``recipes-bsp/formfactor``: | |||
472 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 472 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
473 | 473 | ||
474 | By default, the build system uses the | 474 | By default, the build system uses the |
475 | ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable to | 475 | :term:`FILESPATH` variable to |
476 | locate files. This append file extends the locations by setting the | 476 | locate files. This append file extends the locations by setting the |
477 | ```FILESEXTRAPATHS`` <&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS>`__ | 477 | :term:`FILESEXTRAPATHS` |
478 | variable. Setting this variable in the ``.bbappend`` file is the most | 478 | variable. Setting this variable in the ``.bbappend`` file is the most |
479 | reliable and recommended method for adding directories to the search | 479 | reliable and recommended method for adding directories to the search |
480 | path used by the build system to find files. | 480 | path used by the build system to find files. |
481 | 481 | ||
482 | The statement in this example extends the directories to include | 482 | The statement in this example extends the directories to include |
483 | ``${``\ ```THISDIR`` <&YOCTO_DOCS_REF_URL;#var-THISDIR>`__\ ``}/${``\ ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__\ ``}``, | 483 | ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``, |
484 | which resolves to a directory named ``formfactor`` in the same directory | 484 | which resolves to a directory named ``formfactor`` in the same directory |
485 | in which the append file resides (i.e. | 485 | in which the append file resides (i.e. |
486 | ``meta-raspberrypi/recipes-bsp/formfactor``. This implies that you must | 486 | ``meta-raspberrypi/recipes-bsp/formfactor``. This implies that you must |
@@ -514,13 +514,13 @@ applied. You can either specify the priority manually, or allow the | |||
514 | build system to calculate it based on the layer's dependencies. | 514 | build system to calculate it based on the layer's dependencies. |
515 | 515 | ||
516 | To specify the layer's priority manually, use the | 516 | To specify the layer's priority manually, use the |
517 | ```BBFILE_PRIORITY`` <&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY>`__ | 517 | :term:`BBFILE_PRIORITY` |
518 | variable and append the layer's root name: BBFILE_PRIORITY_mylayer = "1" | 518 | variable and append the layer's root name: BBFILE_PRIORITY_mylayer = "1" |
519 | 519 | ||
520 | .. note:: | 520 | .. note:: |
521 | 521 | ||
522 | It is possible for a recipe with a lower version number | 522 | It is possible for a recipe with a lower version number |
523 | ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ in a layer that has a higher | 523 | :term:`PV` in a layer that has a higher |
524 | priority to take precedence. | 524 | priority to take precedence. |
525 | 525 | ||
526 | Also, the layer priority does not currently affect the precedence | 526 | Also, the layer priority does not currently affect the precedence |
@@ -665,7 +665,7 @@ meta-scottrif' | |||
665 | If you want to set the priority of the layer to other than the default | 665 | If you want to set the priority of the layer to other than the default |
666 | value of "6", you can either use the ``DASHDASHpriority`` option or you | 666 | value of "6", you can either use the ``DASHDASHpriority`` option or you |
667 | can edit the | 667 | can edit the |
668 | ```BBFILE_PRIORITY`` <&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY>`__ value | 668 | :term:`BBFILE_PRIORITY` value |
669 | in the ``conf/layer.conf`` after the script creates it. Furthermore, if | 669 | in the ``conf/layer.conf`` after the script creates it. Furthermore, if |
670 | you want to give the example recipe file some name other than the | 670 | you want to give the example recipe file some name other than the |
671 | default, you can use the ``DASHDASHexample-recipe-name`` option. | 671 | default, you can use the ``DASHDASHexample-recipe-name`` option. |
@@ -764,8 +764,8 @@ Customizing Images Using Custom ``IMAGE_FEATURES`` and ``EXTRA_IMAGE_FEATURES`` | |||
764 | 764 | ||
765 | Another method for customizing your image is to enable or disable | 765 | Another method for customizing your image is to enable or disable |
766 | high-level image features by using the | 766 | high-level image features by using the |
767 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__ and | 767 | :term:`IMAGE_FEATURES` and |
768 | ```EXTRA_IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES>`__ | 768 | :term:`EXTRA_IMAGE_FEATURES` |
769 | variables. Although the functions for both variables are nearly | 769 | variables. Although the functions for both variables are nearly |
770 | equivalent, best practices dictate using ``IMAGE_FEATURES`` from within | 770 | equivalent, best practices dictate using ``IMAGE_FEATURES`` from within |
771 | a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your | 771 | a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your |
@@ -782,7 +782,7 @@ In summary, the file looks at the contents of the ``IMAGE_FEATURES`` | |||
782 | variable and then maps or configures the feature accordingly. Based on | 782 | variable and then maps or configures the feature accordingly. Based on |
783 | this information, the build system automatically adds the appropriate | 783 | this information, the build system automatically adds the appropriate |
784 | packages or configurations to the | 784 | packages or configurations to the |
785 | ```IMAGE_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL>`__ variable. | 785 | :term:`IMAGE_INSTALL` variable. |
786 | Effectively, you are enabling extra features by extending the class or | 786 | Effectively, you are enabling extra features by extending the class or |
787 | creating a custom class for use with specialized image ``.bb`` files. | 787 | creating a custom class for use with specialized image ``.bb`` files. |
788 | 788 | ||
@@ -893,7 +893,7 @@ Customizing an Image Hostname | |||
893 | 893 | ||
894 | By default, the configured hostname (i.e. ``/etc/hostname``) in an image | 894 | By default, the configured hostname (i.e. ``/etc/hostname``) in an image |
895 | is the same as the machine name. For example, if | 895 | is the same as the machine name. For example, if |
896 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ equals "qemux86", the | 896 | :term:`MACHINE` equals "qemux86", the |
897 | configured hostname written to ``/etc/hostname`` is "qemux86". | 897 | configured hostname written to ``/etc/hostname`` is "qemux86". |
898 | 898 | ||
899 | You can customize this name by altering the value of the "hostname" | 899 | You can customize this name by altering the value of the "hostname" |
@@ -1072,7 +1072,7 @@ the recipe. | |||
1072 | 1072 | ||
1073 | - *Storing Your Recipe:* The OpenEmbedded build system locates your | 1073 | - *Storing Your Recipe:* The OpenEmbedded build system locates your |
1074 | recipe through the layer's ``conf/layer.conf`` file and the | 1074 | recipe through the layer's ``conf/layer.conf`` file and the |
1075 | ```BBFILES`` <&YOCTO_DOCS_REF_URL;#var-BBFILES>`__ variable. This | 1075 | :term:`BBFILES` variable. This |
1076 | variable sets up a path from which the build system can locate | 1076 | variable sets up a path from which the build system can locate |
1077 | recipes. Here is the typical use: BBFILES += | 1077 | recipes. Here is the typical use: BBFILES += |
1078 | "${LAYERDIR}/recipes-*/*/*.bb \\ ${LAYERDIR}/recipes-*/*/*.bbappend" | 1078 | "${LAYERDIR}/recipes-*/*/*.bb \\ ${LAYERDIR}/recipes-*/*/*.bbappend" |
@@ -1101,14 +1101,14 @@ progressively discover and add information to the recipe file. | |||
1101 | 1101 | ||
1102 | Assuming you have sourced the build environment setup script (i.e. | 1102 | Assuming you have sourced the build environment setup script (i.e. |
1103 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__) and you are in | 1103 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__) and you are in |
1104 | the `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, use | 1104 | the :term:`Build Directory`, use |
1105 | BitBake to process your recipe. All you need to provide is the | 1105 | BitBake to process your recipe. All you need to provide is the |
1106 | ``basename`` of the recipe as described in the previous section: $ | 1106 | ``basename`` of the recipe as described in the previous section: $ |
1107 | bitbake basename | 1107 | bitbake basename |
1108 | 1108 | ||
1109 | During the build, the OpenEmbedded build system creates a temporary work | 1109 | During the build, the OpenEmbedded build system creates a temporary work |
1110 | directory for each recipe | 1110 | directory for each recipe |
1111 | (``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}``) | 1111 | (``${``\ :term:`WORKDIR`\ ``}``) |
1112 | where it keeps extracted source files, log files, intermediate | 1112 | where it keeps extracted source files, log files, intermediate |
1113 | compilation and packaging files, and so forth. | 1113 | compilation and packaging files, and so forth. |
1114 | 1114 | ||
@@ -1154,26 +1154,26 @@ Fetching Code | |||
1154 | 1154 | ||
1155 | The first thing your recipe must do is specify how to fetch the source | 1155 | The first thing your recipe must do is specify how to fetch the source |
1156 | files. Fetching is controlled mainly through the | 1156 | files. Fetching is controlled mainly through the |
1157 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ variable. Your recipe | 1157 | :term:`SRC_URI` variable. Your recipe |
1158 | must have a ``SRC_URI`` variable that points to where the source is | 1158 | must have a ``SRC_URI`` variable that points to where the source is |
1159 | located. For a graphical representation of source locations, see the | 1159 | located. For a graphical representation of source locations, see the |
1160 | "`Sources <&YOCTO_DOCS_OM_URL;#sources-dev-environment>`__" section in | 1160 | "`Sources <&YOCTO_DOCS_OM_URL;#sources-dev-environment>`__" section in |
1161 | the Yocto Project Overview and Concepts Manual. | 1161 | the Yocto Project Overview and Concepts Manual. |
1162 | 1162 | ||
1163 | The ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ task uses | 1163 | The :ref:`ref-tasks-fetch` task uses |
1164 | the prefix of each entry in the ``SRC_URI`` variable value to determine | 1164 | the prefix of each entry in the ``SRC_URI`` variable value to determine |
1165 | which `fetcher <&YOCTO_DOCS_BB_URL;#bb-fetchers>`__ to use to get your | 1165 | which `fetcher <&YOCTO_DOCS_BB_URL;#bb-fetchers>`__ to use to get your |
1166 | source files. It is the ``SRC_URI`` variable that triggers the fetcher. | 1166 | source files. It is the ``SRC_URI`` variable that triggers the fetcher. |
1167 | The ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task uses | 1167 | The :ref:`ref-tasks-patch` task uses |
1168 | the variable after source is fetched to apply patches. The OpenEmbedded | 1168 | the variable after source is fetched to apply patches. The OpenEmbedded |
1169 | build system uses | 1169 | build system uses |
1170 | ```FILESOVERRIDES`` <&YOCTO_DOCS_REF_URL;#var-FILESOVERRIDES>`__ for | 1170 | :term:`FILESOVERRIDES` for |
1171 | scanning directory locations for local files in ``SRC_URI``. | 1171 | scanning directory locations for local files in ``SRC_URI``. |
1172 | 1172 | ||
1173 | The ``SRC_URI`` variable in your recipe must define each unique location | 1173 | The ``SRC_URI`` variable in your recipe must define each unique location |
1174 | for your source files. It is good practice to not hard-code version | 1174 | for your source files. It is good practice to not hard-code version |
1175 | numbers in a URL used in ``SRC_URI``. Rather than hard-code these | 1175 | numbers in a URL used in ``SRC_URI``. Rather than hard-code these |
1176 | values, use ``${``\ ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__\ ``}``, | 1176 | values, use ``${``\ :term:`PV`\ ``}``, |
1177 | which causes the fetch process to use the version specified in the | 1177 | which causes the fetch process to use the version specified in the |
1178 | recipe filename. Specifying the version in this manner means that | 1178 | recipe filename. Specifying the version in this manner means that |
1179 | upgrading the recipe to a future version is as simple as renaming the | 1179 | upgrading the recipe to a future version is as simple as renaming the |
@@ -1182,20 +1182,20 @@ recipe to match the new version. | |||
1182 | Here is a simple example from the | 1182 | Here is a simple example from the |
1183 | ``meta/recipes-devtools/strace/strace_5.5.bb`` recipe where the source | 1183 | ``meta/recipes-devtools/strace/strace_5.5.bb`` recipe where the source |
1184 | comes from a single tarball. Notice the use of the | 1184 | comes from a single tarball. Notice the use of the |
1185 | ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ variable: SRC_URI = | 1185 | :term:`PV` variable: SRC_URI = |
1186 | "https://strace.io/files/${PV}/strace-${PV}.tar.xz \\ | 1186 | "https://strace.io/files/${PV}/strace-${PV}.tar.xz \\ |
1187 | 1187 | ||
1188 | Files mentioned in ``SRC_URI`` whose names end in a typical archive | 1188 | Files mentioned in ``SRC_URI`` whose names end in a typical archive |
1189 | extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so | 1189 | extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so |
1190 | forth), are automatically extracted during the | 1190 | forth), are automatically extracted during the |
1191 | ```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ task. For | 1191 | :ref:`ref-tasks-unpack` task. For |
1192 | another example that specifies these types of files, see the | 1192 | another example that specifies these types of files, see the |
1193 | "`Autotooled Package <#new-recipe-autotooled-package>`__" section. | 1193 | "`Autotooled Package <#new-recipe-autotooled-package>`__" section. |
1194 | 1194 | ||
1195 | Another way of specifying source is from an SCM. For Git repositories, | 1195 | Another way of specifying source is from an SCM. For Git repositories, |
1196 | you must specify ```SRCREV`` <&YOCTO_DOCS_REF_URL;#var-SRCREV>`__ and | 1196 | you must specify :term:`SRCREV` and |
1197 | you should specify ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ to include | 1197 | you should specify :term:`PV` to include |
1198 | the revision with ```SRCPV`` <&YOCTO_DOCS_REF_URL;#var-SRCPV>`__. Here | 1198 | the revision with :term:`SRCPV`. Here |
1199 | is an example from the recipe | 1199 | is an example from the recipe |
1200 | ``meta/recipes-kernel/blktrace/blktrace_git.bb``: SRCREV = | 1200 | ``meta/recipes-kernel/blktrace/blktrace_git.bb``: SRCREV = |
1201 | "d6918c8832793b4205ed3bfede78c2f915c23385" PR = "r6" PV = | 1201 | "d6918c8832793b4205ed3bfede78c2f915c23385" PR = "r6" PV = |
@@ -1254,10 +1254,10 @@ file://xwc.patch \\ file://rxvt.desktop \\ file://rxvt.png" | |||
1254 | 1254 | ||
1255 | When you specify local files using the ``file://`` URI protocol, the | 1255 | When you specify local files using the ``file://`` URI protocol, the |
1256 | build system fetches files from the local machine. The path is relative | 1256 | build system fetches files from the local machine. The path is relative |
1257 | to the ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable | 1257 | to the :term:`FILESPATH` variable |
1258 | and searches specific directories in a certain order: | 1258 | and searches specific directories in a certain order: |
1259 | ``${``\ ```BP`` <&YOCTO_DOCS_REF_URL;#var-BP>`__\ ``}``, | 1259 | ``${``\ :term:`BP`\ ``}``, |
1260 | ``${``\ ```BPN`` <&YOCTO_DOCS_REF_URL;#var-BPN>`__\ ``}``, and | 1260 | ``${``\ :term:`BPN`\ ``}``, and |
1261 | ``files``. The directories are assumed to be subdirectories of the | 1261 | ``files``. The directories are assumed to be subdirectories of the |
1262 | directory in which the recipe or append file resides. For another | 1262 | directory in which the recipe or append file resides. For another |
1263 | example that specifies these types of files, see the "`Single .c File | 1263 | example that specifies these types of files, see the "`Single .c File |
@@ -1276,14 +1276,14 @@ Unpacking Code | |||
1276 | -------------- | 1276 | -------------- |
1277 | 1277 | ||
1278 | During the build, the | 1278 | During the build, the |
1279 | ```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ task unpacks | 1279 | :ref:`ref-tasks-unpack` task unpacks |
1280 | the source with ``${``\ ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__\ ``}`` | 1280 | the source with ``${``\ :term:`S`\ ``}`` |
1281 | pointing to where it is unpacked. | 1281 | pointing to where it is unpacked. |
1282 | 1282 | ||
1283 | If you are fetching your source files from an upstream source archived | 1283 | If you are fetching your source files from an upstream source archived |
1284 | tarball and the tarball's internal structure matches the common | 1284 | tarball and the tarball's internal structure matches the common |
1285 | convention of a top-level subdirectory named | 1285 | convention of a top-level subdirectory named |
1286 | ``${``\ ```BPN`` <&YOCTO_DOCS_REF_URL;#var-BPN>`__\ ``}-${``\ ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__\ ``}``, | 1286 | ``${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, |
1287 | then you do not need to set ``S``. However, if ``SRC_URI`` specifies to | 1287 | then you do not need to set ``S``. However, if ``SRC_URI`` specifies to |
1288 | fetch source from an archive that does not use this convention, or from | 1288 | fetch source from an archive that does not use this convention, or from |
1289 | an SCM like Git or Subversion, your recipe needs to define ``S``. | 1289 | an SCM like Git or Subversion, your recipe needs to define ``S``. |
@@ -1301,7 +1301,7 @@ Sometimes it is necessary to patch code after it has been fetched. Any | |||
1301 | files mentioned in ``SRC_URI`` whose names end in ``.patch`` or | 1301 | files mentioned in ``SRC_URI`` whose names end in ``.patch`` or |
1302 | ``.diff`` or compressed versions of these suffixes (e.g. ``diff.gz`` are | 1302 | ``.diff`` or compressed versions of these suffixes (e.g. ``diff.gz`` are |
1303 | treated as patches. The | 1303 | treated as patches. The |
1304 | ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task | 1304 | :ref:`ref-tasks-patch` task |
1305 | automatically applies these patches. | 1305 | automatically applies these patches. |
1306 | 1306 | ||
1307 | The build system should be able to apply patches with the "-p1" option | 1307 | The build system should be able to apply patches with the "-p1" option |
@@ -1313,11 +1313,11 @@ specific subdirectory that is not specified in the patch file, use the | |||
1313 | "patchdir" option in the entry. | 1313 | "patchdir" option in the entry. |
1314 | 1314 | ||
1315 | As with all local files referenced in | 1315 | As with all local files referenced in |
1316 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ using ``file://``, | 1316 | :term:`SRC_URI` using ``file://``, |
1317 | you should place patch files in a directory next to the recipe either | 1317 | you should place patch files in a directory next to the recipe either |
1318 | named the same as the base name of the recipe | 1318 | named the same as the base name of the recipe |
1319 | (```BP`` <&YOCTO_DOCS_REF_URL;#var-BP>`__ and | 1319 | (:term:`BP` and |
1320 | ```BPN`` <&YOCTO_DOCS_REF_URL;#var-BPN>`__) or "files". | 1320 | :term:`BPN`) or "files". |
1321 | 1321 | ||
1322 | .. _new-recipe-licensing: | 1322 | .. _new-recipe-licensing: |
1323 | 1323 | ||
@@ -1325,8 +1325,8 @@ Licensing | |||
1325 | --------- | 1325 | --------- |
1326 | 1326 | ||
1327 | Your recipe needs to have both the | 1327 | Your recipe needs to have both the |
1328 | ```LICENSE`` <&YOCTO_DOCS_REF_URL;#var-LICENSE>`__ and | 1328 | :term:`LICENSE` and |
1329 | ```LIC_FILES_CHKSUM`` <&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM>`__ | 1329 | :term:`LIC_FILES_CHKSUM` |
1330 | variables: | 1330 | variables: |
1331 | 1331 | ||
1332 | - *``LICENSE``:* This variable specifies the license for the software. | 1332 | - *``LICENSE``:* This variable specifies the license for the software. |
@@ -1383,15 +1383,15 @@ software is built; and runtime dependencies, which are required to be | |||
1383 | installed on the target in order for the software to run. | 1383 | installed on the target in order for the software to run. |
1384 | 1384 | ||
1385 | Within a recipe, you specify build-time dependencies using the | 1385 | Within a recipe, you specify build-time dependencies using the |
1386 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ variable. Although | 1386 | :term:`DEPENDS` variable. Although |
1387 | nuances exist, items specified in ``DEPENDS`` should be names of other | 1387 | nuances exist, items specified in ``DEPENDS`` should be names of other |
1388 | recipes. It is important that you specify all build-time dependencies | 1388 | recipes. It is important that you specify all build-time dependencies |
1389 | explicitly. If you do not, due to the parallel nature of BitBake's | 1389 | explicitly. If you do not, due to the parallel nature of BitBake's |
1390 | execution, you can end up with a race condition where the dependency is | 1390 | execution, you can end up with a race condition where the dependency is |
1391 | present for one task of a recipe (e.g. | 1391 | present for one task of a recipe (e.g. |
1392 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__) and | 1392 | :ref:`ref-tasks-configure`) and |
1393 | then gone when the next task runs (e.g. | 1393 | then gone when the next task runs (e.g. |
1394 | ```do_compile`` <&YOCTO_DOCS_REF_URL;#ref-tasks-compile>`__). | 1394 | :ref:`ref-tasks-compile`). |
1395 | 1395 | ||
1396 | Another consideration is that configure scripts might automatically | 1396 | Another consideration is that configure scripts might automatically |
1397 | check for optional dependencies and enable corresponding functionality | 1397 | check for optional dependencies and enable corresponding functionality |
@@ -1402,18 +1402,18 @@ configure script explicitly to disable the functionality. If you wish to | |||
1402 | make a recipe that is more generally useful (e.g. publish the recipe in | 1402 | make a recipe that is more generally useful (e.g. publish the recipe in |
1403 | a layer for others to use), instead of hard-disabling the functionality, | 1403 | a layer for others to use), instead of hard-disabling the functionality, |
1404 | you can use the | 1404 | you can use the |
1405 | ```PACKAGECONFIG`` <&YOCTO_DOCS_REF_URL;#var-PACKAGECONFIG>`__ variable | 1405 | :term:`PACKAGECONFIG` variable |
1406 | to allow functionality and the corresponding dependencies to be enabled | 1406 | to allow functionality and the corresponding dependencies to be enabled |
1407 | and disabled easily by other users of the recipe. | 1407 | and disabled easily by other users of the recipe. |
1408 | 1408 | ||
1409 | Similar to build-time dependencies, you specify runtime dependencies | 1409 | Similar to build-time dependencies, you specify runtime dependencies |
1410 | through a variable - | 1410 | through a variable - |
1411 | ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__, which is | 1411 | :term:`RDEPENDS`, which is |
1412 | package-specific. All variables that are package-specific need to have | 1412 | package-specific. All variables that are package-specific need to have |
1413 | the name of the package added to the end as an override. Since the main | 1413 | the name of the package added to the end as an override. Since the main |
1414 | package for a recipe has the same name as the recipe, and the recipe's | 1414 | package for a recipe has the same name as the recipe, and the recipe's |
1415 | name can be found through the | 1415 | name can be found through the |
1416 | ``${``\ ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__\ ``}`` variable, then | 1416 | ``${``\ :term:`PN`\ ``}`` variable, then |
1417 | you specify the dependencies for the main package by setting | 1417 | you specify the dependencies for the main package by setting |
1418 | ``RDEPENDS_${PN}``. If the package were named ``${PN}-tools``, then you | 1418 | ``RDEPENDS_${PN}``. If the package were named ``${PN}-tools``, then you |
1419 | would set ``RDEPENDS_${PN}-tools``, and so forth. | 1419 | would set ``RDEPENDS_${PN}-tools``, and so forth. |
@@ -1455,7 +1455,7 @@ A major part of build-time configuration is about checking for | |||
1455 | build-time dependencies and possibly enabling optional functionality as | 1455 | build-time dependencies and possibly enabling optional functionality as |
1456 | a result. You need to specify any build-time dependencies for the | 1456 | a result. You need to specify any build-time dependencies for the |
1457 | software you are building in your recipe's | 1457 | software you are building in your recipe's |
1458 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ value, in terms of | 1458 | :term:`DEPENDS` value, in terms of |
1459 | other recipes that satisfy those dependencies. You can often find | 1459 | other recipes that satisfy those dependencies. You can often find |
1460 | build-time or runtime dependencies described in the software's | 1460 | build-time or runtime dependencies described in the software's |
1461 | documentation. | 1461 | documentation. |
@@ -1468,13 +1468,13 @@ your software is built: | |||
1468 | need to worry about modifying the configuration. | 1468 | need to worry about modifying the configuration. |
1469 | 1469 | ||
1470 | When using Autotools, your recipe needs to inherit the | 1470 | When using Autotools, your recipe needs to inherit the |
1471 | ```autotools`` <&YOCTO_DOCS_REF_URL;#ref-classes-autotools>`__ class | 1471 | :ref:`autotools <ref-classes-autotools>` class |
1472 | and your recipe does not have to contain a | 1472 | and your recipe does not have to contain a |
1473 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ task. | 1473 | :ref:`ref-tasks-configure` task. |
1474 | However, you might still want to make some adjustments. For example, | 1474 | However, you might still want to make some adjustments. For example, |
1475 | you can set | 1475 | you can set |
1476 | ```EXTRA_OECONF`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_OECONF>`__ or | 1476 | :term:`EXTRA_OECONF` or |
1477 | ```PACKAGECONFIG_CONFARGS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGECONFIG_CONFARGS>`__ | 1477 | :term:`PACKAGECONFIG_CONFARGS` |
1478 | to pass any needed configure options that are specific to the recipe. | 1478 | to pass any needed configure options that are specific to the recipe. |
1479 | 1479 | ||
1480 | - *CMake:* If your source files have a ``CMakeLists.txt`` file, then | 1480 | - *CMake:* If your source files have a ``CMakeLists.txt`` file, then |
@@ -1482,11 +1482,11 @@ your software is built: | |||
1482 | need to worry about modifying the configuration. | 1482 | need to worry about modifying the configuration. |
1483 | 1483 | ||
1484 | When you use CMake, your recipe needs to inherit the | 1484 | When you use CMake, your recipe needs to inherit the |
1485 | ```cmake`` <&YOCTO_DOCS_REF_URL;#ref-classes-cmake>`__ class and your | 1485 | :ref:`cmake <ref-classes-cmake>` class and your |
1486 | recipe does not have to contain a | 1486 | recipe does not have to contain a |
1487 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ task. | 1487 | :ref:`ref-tasks-configure` task. |
1488 | You can make some adjustments by setting | 1488 | You can make some adjustments by setting |
1489 | ```EXTRA_OECMAKE`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_OECMAKE>`__ to | 1489 | :term:`EXTRA_OECMAKE` to |
1490 | pass any needed configure options that are specific to the recipe. | 1490 | pass any needed configure options that are specific to the recipe. |
1491 | 1491 | ||
1492 | .. note:: | 1492 | .. note:: |
@@ -1503,7 +1503,7 @@ your software is built: | |||
1503 | ``CMakeLists.txt`` file, then your software is built using some | 1503 | ``CMakeLists.txt`` file, then your software is built using some |
1504 | method other than Autotools or CMake. If this is the case, you | 1504 | method other than Autotools or CMake. If this is the case, you |
1505 | normally need to provide a | 1505 | normally need to provide a |
1506 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ task | 1506 | :ref:`ref-tasks-configure` task |
1507 | in your recipe unless, of course, there is nothing to configure. | 1507 | in your recipe unless, of course, there is nothing to configure. |
1508 | 1508 | ||
1509 | Even if your software is not being built by Autotools or CMake, you | 1509 | Even if your software is not being built by Autotools or CMake, you |
@@ -1591,7 +1591,7 @@ Consider a case where your kernel is older and you need an older | |||
1591 | standard mainline kernel, not your own custom one. | 1591 | standard mainline kernel, not your own custom one. |
1592 | 1592 | ||
1593 | When you use custom kernel headers you need to get them from | 1593 | When you use custom kernel headers you need to get them from |
1594 | ```STAGING_KERNEL_DIR`` <&YOCTO_DOCS_REF_URL;#var-STAGING_KERNEL_DIR>`__, | 1594 | :term:`STAGING_KERNEL_DIR`, |
1595 | which is the directory with kernel headers that are required to build | 1595 | which is the directory with kernel headers that are required to build |
1596 | out-of-tree modules. Your recipe will also need the following: | 1596 | out-of-tree modules. Your recipe will also need the following: |
1597 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | 1597 | do_configure[depends] += "virtual/kernel:do_shared_workdir" |
@@ -1629,7 +1629,7 @@ Here are some common issues that cause failures. | |||
1629 | To fix the problem, you need to either satisfy the missing dependency | 1629 | To fix the problem, you need to either satisfy the missing dependency |
1630 | in the Makefile or whatever script produced the Makefile, or (as a | 1630 | in the Makefile or whatever script produced the Makefile, or (as a |
1631 | workaround) set | 1631 | workaround) set |
1632 | ```PARALLEL_MAKE`` <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE>`__ to an | 1632 | :term:`PARALLEL_MAKE` to an |
1633 | empty string: PARALLEL_MAKE = "" | 1633 | empty string: PARALLEL_MAKE = "" |
1634 | 1634 | ||
1635 | For information on parallel Makefile issues, see the "`Debugging | 1635 | For information on parallel Makefile issues, see the "`Debugging |
@@ -1647,7 +1647,7 @@ Here are some common issues that cause failures. | |||
1647 | 1647 | ||
1648 | - *Failure to find required libraries/headers:* If a build-time | 1648 | - *Failure to find required libraries/headers:* If a build-time |
1649 | dependency is missing because it has not been declared in | 1649 | dependency is missing because it has not been declared in |
1650 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__, or because the | 1650 | :term:`DEPENDS`, or because the |
1651 | dependency exists but the path used by the build process to find the | 1651 | dependency exists but the path used by the build process to find the |
1652 | file is incorrect and the configure step did not detect it, the | 1652 | file is incorrect and the configure step did not detect it, the |
1653 | compilation process could fail. For either of these failures, the | 1653 | compilation process could fail. For either of these failures, the |
@@ -1671,10 +1671,10 @@ Installing | |||
1671 | During ``do_install``, the task copies the built files along with their | 1671 | During ``do_install``, the task copies the built files along with their |
1672 | hierarchy to locations that would mirror their locations on the target | 1672 | hierarchy to locations that would mirror their locations on the target |
1673 | device. The installation process copies files from the | 1673 | device. The installation process copies files from the |
1674 | ``${``\ ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__\ ``}``, | 1674 | ``${``\ :term:`S`\ ``}``, |
1675 | ``${``\ ```B`` <&YOCTO_DOCS_REF_URL;#var-B>`__\ ``}``, and | 1675 | ``${``\ :term:`B`\ ``}``, and |
1676 | ``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}`` | 1676 | ``${``\ :term:`WORKDIR`\ ``}`` |
1677 | directories to the ``${``\ ```D`` <&YOCTO_DOCS_REF_URL;#var-D>`__\ ``}`` | 1677 | directories to the ``${``\ :term:`D`\ ``}`` |
1678 | directory to create the structure as it should appear on the target | 1678 | directory to create the structure as it should appear on the target |
1679 | system. | 1679 | system. |
1680 | 1680 | ||
@@ -1707,7 +1707,7 @@ the software being built: | |||
1707 | - *Manual:* You need to define a ``do_install`` function in your | 1707 | - *Manual:* You need to define a ``do_install`` function in your |
1708 | recipe. The function must first use ``install -d`` to create the | 1708 | recipe. The function must first use ``install -d`` to create the |
1709 | directories under | 1709 | directories under |
1710 | ``${``\ ```D`` <&YOCTO_DOCS_REF_URL;#var-D>`__\ ``}``. Once the | 1710 | ``${``\ :term:`D`\ ``}``. Once the |
1711 | directories exist, your function can use ``install`` to manually | 1711 | directories exist, your function can use ``install`` to manually |
1712 | install the built software into the directories. | 1712 | install the built software into the directories. |
1713 | 1713 | ||
@@ -1734,21 +1734,21 @@ installed correctly. | |||
1734 | 1734 | ||
1735 | - ``oe_runmake install``, which can be run directly or can be run | 1735 | - ``oe_runmake install``, which can be run directly or can be run |
1736 | indirectly by the | 1736 | indirectly by the |
1737 | ```autotools`` <&YOCTO_DOCS_REF_URL;#ref-classes-autotools>`__ and | 1737 | :ref:`autotools <ref-classes-autotools>` and |
1738 | ```cmake`` <&YOCTO_DOCS_REF_URL;#ref-classes-cmake>`__ classes, | 1738 | :ref:`cmake <ref-classes-cmake>` classes, |
1739 | runs ``make install`` in parallel. Sometimes, a Makefile can have | 1739 | runs ``make install`` in parallel. Sometimes, a Makefile can have |
1740 | missing dependencies between targets that can result in race | 1740 | missing dependencies between targets that can result in race |
1741 | conditions. If you experience intermittent failures during | 1741 | conditions. If you experience intermittent failures during |
1742 | ``do_install``, you might be able to work around them by disabling | 1742 | ``do_install``, you might be able to work around them by disabling |
1743 | parallel Makefile installs by adding the following to the recipe: | 1743 | parallel Makefile installs by adding the following to the recipe: |
1744 | PARALLEL_MAKEINST = "" See | 1744 | PARALLEL_MAKEINST = "" See |
1745 | ```PARALLEL_MAKEINST`` <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST>`__ | 1745 | :term:`PARALLEL_MAKEINST` |
1746 | for additional information. | 1746 | for additional information. |
1747 | 1747 | ||
1748 | - If you need to install one or more custom CMake toolchain files | 1748 | - If you need to install one or more custom CMake toolchain files |
1749 | that are supplied by the application you are building, install the | 1749 | that are supplied by the application you are building, install the |
1750 | files to ``${D}${datadir}/cmake/`` Modules during | 1750 | files to ``${D}${datadir}/cmake/`` Modules during |
1751 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__. | 1751 | :ref:`ref-tasks-install`. |
1752 | 1752 | ||
1753 | .. _new-recipe-enabling-system-services: | 1753 | .. _new-recipe-enabling-system-services: |
1754 | 1754 | ||
@@ -1781,15 +1781,15 @@ different ways: | |||
1781 | shutdown of all other programs. | 1781 | shutdown of all other programs. |
1782 | 1782 | ||
1783 | To enable a service using SysVinit, your recipe needs to inherit the | 1783 | To enable a service using SysVinit, your recipe needs to inherit the |
1784 | ```update-rc.d`` <&YOCTO_DOCS_REF_URL;#ref-classes-update-rc.d>`__ | 1784 | :ref:`update-rc.d <ref-classes-update-rc.d>` |
1785 | class. The class helps facilitate safely installing the package on | 1785 | class. The class helps facilitate safely installing the package on |
1786 | the target. | 1786 | the target. |
1787 | 1787 | ||
1788 | You will need to set the | 1788 | You will need to set the |
1789 | ```INITSCRIPT_PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-INITSCRIPT_PACKAGES>`__, | 1789 | :term:`INITSCRIPT_PACKAGES`, |
1790 | ```INITSCRIPT_NAME`` <&YOCTO_DOCS_REF_URL;#var-INITSCRIPT_NAME>`__, | 1790 | :term:`INITSCRIPT_NAME`, |
1791 | and | 1791 | and |
1792 | ```INITSCRIPT_PARAMS`` <&YOCTO_DOCS_REF_URL;#var-INITSCRIPT_PARAMS>`__ | 1792 | :term:`INITSCRIPT_PARAMS` |
1793 | variables within your recipe. | 1793 | variables within your recipe. |
1794 | 1794 | ||
1795 | - *systemd:* System Management Daemon (systemd) was designed to replace | 1795 | - *systemd:* System Management Daemon (systemd) was designed to replace |
@@ -1798,7 +1798,7 @@ different ways: | |||
1798 | ` <http://freedesktop.org/wiki/Software/systemd/>`__. | 1798 | ` <http://freedesktop.org/wiki/Software/systemd/>`__. |
1799 | 1799 | ||
1800 | To enable a service using systemd, your recipe needs to inherit the | 1800 | To enable a service using systemd, your recipe needs to inherit the |
1801 | ```systemd`` <&YOCTO_DOCS_REF_URL;#ref-classes-systemd>`__ class. See | 1801 | :ref:`systemd <ref-classes-systemd>` class. See |
1802 | the ``systemd.bbclass`` file located in your `Source | 1802 | the ``systemd.bbclass`` file located in your `Source |
1803 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. section for | 1803 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. section for |
1804 | more information. | 1804 | more information. |
@@ -1819,24 +1819,24 @@ take. The following list describes the process: | |||
1819 | task ensures that files are split up and packaged correctly. | 1819 | task ensures that files are split up and packaged correctly. |
1820 | 1820 | ||
1821 | - *Running QA Checks*: The | 1821 | - *Running QA Checks*: The |
1822 | ```insane`` <&YOCTO_DOCS_REF_URL;#ref-classes-insane>`__ class adds a | 1822 | :ref:`insane <ref-classes-insane>` class adds a |
1823 | step to the package generation process so that output quality | 1823 | step to the package generation process so that output quality |
1824 | assurance checks are generated by the OpenEmbedded build system. This | 1824 | assurance checks are generated by the OpenEmbedded build system. This |
1825 | step performs a range of checks to be sure the build's output is free | 1825 | step performs a range of checks to be sure the build's output is free |
1826 | of common problems that show up during runtime. For information on | 1826 | of common problems that show up during runtime. For information on |
1827 | these checks, see the | 1827 | these checks, see the |
1828 | ```insane`` <&YOCTO_DOCS_REF_URL;#ref-classes-insane>`__ class and | 1828 | :ref:`insane <ref-classes-insane>` class and |
1829 | the "`QA Error and Warning | 1829 | the "`QA Error and Warning |
1830 | Messages <&YOCTO_DOCS_REF_URL;#ref-qa-checks>`__" chapter in the | 1830 | Messages <&YOCTO_DOCS_REF_URL;#ref-qa-checks>`__" chapter in the |
1831 | Yocto Project Reference Manual. | 1831 | Yocto Project Reference Manual. |
1832 | 1832 | ||
1833 | - *Hand-Checking Your Packages*: After you build your software, you | 1833 | - *Hand-Checking Your Packages*: After you build your software, you |
1834 | need to be sure your packages are correct. Examine the | 1834 | need to be sure your packages are correct. Examine the |
1835 | ``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}/packages-split`` | 1835 | ``${``\ :term:`WORKDIR`\ ``}/packages-split`` |
1836 | directory and make sure files are where you expect them to be. If you | 1836 | directory and make sure files are where you expect them to be. If you |
1837 | discover problems, you can set | 1837 | discover problems, you can set |
1838 | ```PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES>`__, | 1838 | :term:`PACKAGES`, |
1839 | ```FILES`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__, | 1839 | :term:`FILES`, |
1840 | ``do_install(_append)``, and so forth as needed. | 1840 | ``do_install(_append)``, and so forth as needed. |
1841 | 1841 | ||
1842 | - *Splitting an Application into Multiple Packages*: If you need to | 1842 | - *Splitting an Application into Multiple Packages*: If you need to |
@@ -1858,7 +1858,7 @@ take. The following list describes the process: | |||
1858 | By default, packages apply to any machine with the same architecture | 1858 | By default, packages apply to any machine with the same architecture |
1859 | as the target machine. When a recipe produces packages that are | 1859 | as the target machine. When a recipe produces packages that are |
1860 | machine-specific (e.g. the | 1860 | machine-specific (e.g. the |
1861 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ value is passed | 1861 | :term:`MACHINE` value is passed |
1862 | into the configure script or a patch is applied only for a particular | 1862 | into the configure script or a patch is applied only for a particular |
1863 | machine), you should mark them as such by adding the following to the | 1863 | machine), you should mark them as such by adding the following to the |
1864 | recipe: PACKAGE_ARCH = "${MACHINE_ARCH}" | 1864 | recipe: PACKAGE_ARCH = "${MACHINE_ARCH}" |
@@ -1867,7 +1867,7 @@ take. The following list describes the process: | |||
1867 | contain anything specific to the target machine or architecture at | 1867 | contain anything specific to the target machine or architecture at |
1868 | all (e.g. recipes that simply package script files or configuration | 1868 | all (e.g. recipes that simply package script files or configuration |
1869 | files), you should use the | 1869 | files), you should use the |
1870 | ```allarch`` <&YOCTO_DOCS_REF_URL;#ref-classes-allarch>`__ class to | 1870 | :ref:`allarch <ref-classes-allarch>` class to |
1871 | do this for you by adding this to your recipe: inherit allarch | 1871 | do this for you by adding this to your recipe: inherit allarch |
1872 | Ensuring that the package architecture is correct is not critical | 1872 | Ensuring that the package architecture is correct is not critical |
1873 | while you are doing the first few builds of your recipe. However, it | 1873 | while you are doing the first few builds of your recipe. However, it |
@@ -1900,28 +1900,28 @@ recipe has two sysroots in its work directory, one for target files | |||
1900 | Recipes should never populate the sysroot directly (i.e. write files | 1900 | Recipes should never populate the sysroot directly (i.e. write files |
1901 | into sysroot). Instead, files should be installed into standard | 1901 | into sysroot). Instead, files should be installed into standard |
1902 | locations during the | 1902 | locations during the |
1903 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__ task within | 1903 | :ref:`ref-tasks-install` task within |
1904 | the ``${``\ ```D`` <&YOCTO_DOCS_REF_URL;#var-D>`__\ ``}`` directory. The | 1904 | the ``${``\ :term:`D`\ ``}`` directory. The |
1905 | reason for this limitation is that almost all files that populate the | 1905 | reason for this limitation is that almost all files that populate the |
1906 | sysroot are cataloged in manifests in order to ensure the files can be | 1906 | sysroot are cataloged in manifests in order to ensure the files can be |
1907 | removed later when a recipe is either modified or removed. Thus, the | 1907 | removed later when a recipe is either modified or removed. Thus, the |
1908 | sysroot is able to remain free from stale files. | 1908 | sysroot is able to remain free from stale files. |
1909 | 1909 | ||
1910 | A subset of the files installed by the | 1910 | A subset of the files installed by the |
1911 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__ task are | 1911 | :ref:`ref-tasks-install` task are |
1912 | used by the | 1912 | used by the |
1913 | ```do_populate_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-populate_sysroot>`__ | 1913 | :ref:`ref-tasks-populate_sysroot` |
1914 | task as defined by the the | 1914 | task as defined by the the |
1915 | ```SYSROOT_DIRS`` <&YOCTO_DOCS_REF_URL;#var-SYSROOT_DIRS>`__ variable to | 1915 | :term:`SYSROOT_DIRS` variable to |
1916 | automatically populate the sysroot. It is possible to modify the list of | 1916 | automatically populate the sysroot. It is possible to modify the list of |
1917 | directories that populate the sysroot. The following example shows how | 1917 | directories that populate the sysroot. The following example shows how |
1918 | you could add the ``/opt`` directory to the list of directories within a | 1918 | you could add the ``/opt`` directory to the list of directories within a |
1919 | recipe: SYSROOT_DIRS += "/opt" | 1919 | recipe: SYSROOT_DIRS += "/opt" |
1920 | 1920 | ||
1921 | For a more complete description of the | 1921 | For a more complete description of the |
1922 | ```do_populate_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-populate_sysroot>`__ | 1922 | :ref:`ref-tasks-populate_sysroot` |
1923 | task and its associated functions, see the | 1923 | task and its associated functions, see the |
1924 | ```staging`` <&YOCTO_DOCS_REF_URL;#ref-classes-staging>`__ class. | 1924 | :ref:`staging <ref-classes-staging>` class. |
1925 | 1925 | ||
1926 | .. _metadata-virtual-providers: | 1926 | .. _metadata-virtual-providers: |
1927 | 1927 | ||
@@ -1935,12 +1935,12 @@ determined at build-time. | |||
1935 | 1935 | ||
1936 | A common scenario where a virtual provider is used would be for the | 1936 | A common scenario where a virtual provider is used would be for the |
1937 | kernel recipe. Suppose you have three kernel recipes whose | 1937 | kernel recipe. Suppose you have three kernel recipes whose |
1938 | ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__ values map to ``kernel-big``, | 1938 | :term:`PN` values map to ``kernel-big``, |
1939 | ``kernel-mid``, and ``kernel-small``. Furthermore, each of these recipes | 1939 | ``kernel-mid``, and ``kernel-small``. Furthermore, each of these recipes |
1940 | in some way uses a ```PROVIDES`` <&YOCTO_DOCS_REF_URL;#var-PROVIDES>`__ | 1940 | in some way uses a :term:`PROVIDES` |
1941 | statement that essentially identifies itself as being able to provide | 1941 | statement that essentially identifies itself as being able to provide |
1942 | ``virtual/kernel``. Here is one way through the | 1942 | ``virtual/kernel``. Here is one way through the |
1943 | ```kernel`` <&YOCTO_DOCS_REF_URL;#ref-classes-kernel>`__ class: PROVIDES | 1943 | :ref:`kernel <ref-classes-kernel>` class: PROVIDES |
1944 | += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == | 1944 | += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == |
1945 | "kernel") else "" }" Any recipe that inherits the ``kernel`` class is | 1945 | "kernel") else "" }" Any recipe that inherits the ``kernel`` class is |
1946 | going to utilize a ``PROVIDES`` statement that identifies that recipe as | 1946 | going to utilize a ``PROVIDES`` statement that identifies that recipe as |
@@ -1949,11 +1949,11 @@ being able to provide the ``virtual/kernel`` item. | |||
1949 | Now comes the time to actually build an image and you need a kernel | 1949 | Now comes the time to actually build an image and you need a kernel |
1950 | recipe, but which one? You can configure your build to call out the | 1950 | recipe, but which one? You can configure your build to call out the |
1951 | kernel recipe you want by using the | 1951 | kernel recipe you want by using the |
1952 | ```PREFERRED_PROVIDER`` <&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER>`__ | 1952 | :term:`PREFERRED_PROVIDER` |
1953 | variable. As an example, consider the | 1953 | variable. As an example, consider the |
1954 | ```x86-base.inc`` <https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/machine/include/x86-base.inc>`__ | 1954 | ```x86-base.inc`` <https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/machine/include/x86-base.inc>`__ |
1955 | include file, which is a machine (i.e. | 1955 | include file, which is a machine (i.e. |
1956 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__) configuration file. | 1956 | :term:`MACHINE`) configuration file. |
1957 | This include file is the reason all x86-based machines use the | 1957 | This include file is the reason all x86-based machines use the |
1958 | ``linux-yocto`` kernel. Here are the relevant lines from the include | 1958 | ``linux-yocto`` kernel. Here are the relevant lines from the include |
1959 | file: PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" | 1959 | file: PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" |
@@ -1961,7 +1961,7 @@ PREFERRED_VERSION_linux-yocto ??= "4.15%" | |||
1961 | 1961 | ||
1962 | When you use a virtual provider, you do not have to "hard code" a recipe | 1962 | When you use a virtual provider, you do not have to "hard code" a recipe |
1963 | name as a build dependency. You can use the | 1963 | name as a build dependency. You can use the |
1964 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ variable to state the | 1964 | :term:`DEPENDS` variable to state the |
1965 | build is dependent on ``virtual/kernel`` for example: DEPENDS = | 1965 | build is dependent on ``virtual/kernel`` for example: DEPENDS = |
1966 | "virtual/kernel" During the build, the OpenEmbedded build system picks | 1966 | "virtual/kernel" During the build, the OpenEmbedded build system picks |
1967 | the correct recipe needed for the ``virtual/kernel`` dependency based on | 1967 | the correct recipe needed for the ``virtual/kernel`` dependency based on |
@@ -2014,7 +2014,7 @@ build system and package managers, so the resulting packages will not | |||
2014 | correctly trigger an upgrade. | 2014 | correctly trigger an upgrade. |
2015 | 2015 | ||
2016 | In order to ensure the versions compare properly, the recommended | 2016 | In order to ensure the versions compare properly, the recommended |
2017 | convention is to set ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ within the | 2017 | convention is to set :term:`PV` within the |
2018 | recipe to "previous_version+current_version". You can use an additional | 2018 | recipe to "previous_version+current_version". You can use an additional |
2019 | variable so that you can use the current version elsewhere. Here is an | 2019 | variable so that you can use the current version elsewhere. Here is an |
2020 | example: REALPV = "0.8.16-rc1" PV = "0.8.15+${REALPV}" | 2020 | example: REALPV = "0.8.16-rc1" PV = "0.8.15+${REALPV}" |
@@ -2032,7 +2032,7 @@ image. To add a post-installation script to a package, add a | |||
2032 | to attach to the ``postinst`` script. To apply the post-installation | 2032 | to attach to the ``postinst`` script. To apply the post-installation |
2033 | script to the main package for the recipe, which is usually what is | 2033 | script to the main package for the recipe, which is usually what is |
2034 | required, specify | 2034 | required, specify |
2035 | ``${``\ ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__\ ``}`` in place of | 2035 | ``${``\ :term:`PN`\ ``}`` in place of |
2036 | PACKAGENAME. | 2036 | PACKAGENAME. |
2037 | 2037 | ||
2038 | A post-installation function has the following structure: | 2038 | A post-installation function has the following structure: |
@@ -2057,12 +2057,12 @@ target. You can use ``pkg_postinst_ontarget()`` or call | |||
2057 | ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. Any | 2057 | ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. Any |
2058 | failure of a ``pkg_postinst()`` script (including exit 1) triggers an | 2058 | failure of a ``pkg_postinst()`` script (including exit 1) triggers an |
2059 | error during the | 2059 | error during the |
2060 | ```do_rootfs`` <&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs>`__ task. | 2060 | :ref:`ref-tasks-rootfs` task. |
2061 | 2061 | ||
2062 | If you have recipes that use ``pkg_postinst`` function and they require | 2062 | If you have recipes that use ``pkg_postinst`` function and they require |
2063 | the use of non-standard native tools that have dependencies during | 2063 | the use of non-standard native tools that have dependencies during |
2064 | rootfs construction, you need to use the | 2064 | rootfs construction, you need to use the |
2065 | ```PACKAGE_WRITE_DEPS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_WRITE_DEPS>`__ | 2065 | :term:`PACKAGE_WRITE_DEPS` |
2066 | variable in your recipe to list these tools. If you do not use this | 2066 | variable in your recipe to list these tools. If you do not use this |
2067 | variable, the tools might be missing and execution of the | 2067 | variable, the tools might be missing and execution of the |
2068 | post-installation script is deferred until first boot. Deferring the | 2068 | post-installation script is deferred until first boot. Deferring the |
@@ -2126,7 +2126,7 @@ under ``files``) requires a recipe that has the file listed in the | |||
2126 | ``SRC_URI`` variable. Additionally, you need to manually write the | 2126 | ``SRC_URI`` variable. Additionally, you need to manually write the |
2127 | ``do_compile`` and ``do_install`` tasks. The ``S`` variable defines the | 2127 | ``do_compile`` and ``do_install`` tasks. The ``S`` variable defines the |
2128 | directory containing the source code, which is set to | 2128 | directory containing the source code, which is set to |
2129 | ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__ in this case - the | 2129 | :term:`WORKDIR` in this case - the |
2130 | directory BitBake uses for the build. SUMMARY = "Simple helloworld | 2130 | directory BitBake uses for the build. SUMMARY = "Simple helloworld |
2131 | application" SECTION = "examples" LICENSE = "MIT" LIC_FILES_CHKSUM = | 2131 | application" SECTION = "examples" LICENSE = "MIT" LIC_FILES_CHKSUM = |
2132 | "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | 2132 | "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |
@@ -2148,7 +2148,7 @@ Autotooled Package | |||
2148 | Applications that use Autotools such as ``autoconf`` and ``automake`` | 2148 | Applications that use Autotools such as ``autoconf`` and ``automake`` |
2149 | require a recipe that has a source archive listed in ``SRC_URI`` and | 2149 | require a recipe that has a source archive listed in ``SRC_URI`` and |
2150 | also inherit the | 2150 | also inherit the |
2151 | ```autotools`` <&YOCTO_DOCS_REF_URL;#ref-classes-autotools>`__ class, | 2151 | :ref:`autotools <ref-classes-autotools>` class, |
2152 | which contains the definitions of all the steps needed to build an | 2152 | which contains the definitions of all the steps needed to build an |
2153 | Autotool-based application. The result of the build is automatically | 2153 | Autotool-based application. The result of the build is automatically |
2154 | packaged. And, if the application uses NLS for localization, packages | 2154 | packaged. And, if the application uses NLS for localization, packages |
@@ -2174,8 +2174,8 @@ source archive listed in ``SRC_URI``. You do not need to add a | |||
2174 | ``do_compile`` step since by default BitBake starts the ``make`` command | 2174 | ``do_compile`` step since by default BitBake starts the ``make`` command |
2175 | to compile the application. If you need additional ``make`` options, you | 2175 | to compile the application. If you need additional ``make`` options, you |
2176 | should store them in the | 2176 | should store them in the |
2177 | ```EXTRA_OEMAKE`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_OEMAKE>`__ or | 2177 | :term:`EXTRA_OEMAKE` or |
2178 | ```PACKAGECONFIG_CONFARGS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGECONFIG_CONFARGS>`__ | 2178 | :term:`PACKAGECONFIG_CONFARGS` |
2179 | variables. BitBake passes these options into the GNU ``make`` | 2179 | variables. BitBake passes these options into the GNU ``make`` |
2180 | invocation. Note that a ``do_install`` task is still required. | 2180 | invocation. Note that a ``do_install`` task is still required. |
2181 | Otherwise, BitBake runs an empty ``do_install`` task by default. | 2181 | Otherwise, BitBake runs an empty ``do_install`` task by default. |
@@ -2242,7 +2242,7 @@ needs to use those binaries as part of an image that you are building | |||
2242 | using the OpenEmbedded build system. Since you only have the binaries | 2242 | using the OpenEmbedded build system. Since you only have the binaries |
2243 | and not the source code, you cannot use a typical recipe that expects to | 2243 | and not the source code, you cannot use a typical recipe that expects to |
2244 | fetch the source specified in | 2244 | fetch the source specified in |
2245 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ and then compile it. | 2245 | :term:`SRC_URI` and then compile it. |
2246 | 2246 | ||
2247 | One method is to package the binaries and then install them as part of | 2247 | One method is to package the binaries and then install them as part of |
2248 | the image. Generally, it is not a good idea to package binaries since, | 2248 | the image. Generally, it is not a good idea to package binaries since, |
@@ -2256,23 +2256,23 @@ and to be sure that you are using default locations for build artifacts. | |||
2256 | In most cases, the ``bin_package`` class handles "skipping" the | 2256 | In most cases, the ``bin_package`` class handles "skipping" the |
2257 | configure and compile steps as well as sets things up to grab packages | 2257 | configure and compile steps as well as sets things up to grab packages |
2258 | from the appropriate area. In particular, this class sets ``noexec`` on | 2258 | from the appropriate area. In particular, this class sets ``noexec`` on |
2259 | both the ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ | 2259 | both the :ref:`ref-tasks-configure` |
2260 | and ```do_compile`` <&YOCTO_DOCS_REF_URL;#ref-tasks-compile>`__ tasks, | 2260 | and :ref:`ref-tasks-compile` tasks, |
2261 | sets ``FILES_${PN}`` to "/" so that it picks up all files, and sets up a | 2261 | sets ``FILES_${PN}`` to "/" so that it picks up all files, and sets up a |
2262 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__ task, which | 2262 | :ref:`ref-tasks-install` task, which |
2263 | effectively copies all files from ``${S}`` to ``${D}``. The | 2263 | effectively copies all files from ``${S}`` to ``${D}``. The |
2264 | ``bin_package`` class works well when the files extracted into ``${S}`` | 2264 | ``bin_package`` class works well when the files extracted into ``${S}`` |
2265 | are already laid out in the way they should be laid out on the target. | 2265 | are already laid out in the way they should be laid out on the target. |
2266 | For more information on these variables, see the | 2266 | For more information on these variables, see the |
2267 | ```FILES`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__, | 2267 | :term:`FILES`, |
2268 | ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__, | 2268 | :term:`PN`, |
2269 | ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__, and | 2269 | :term:`S`, and |
2270 | ```D`` <&YOCTO_DOCS_REF_URL;#var-D>`__ variables in the Yocto Project | 2270 | :term:`D` variables in the Yocto Project |
2271 | Reference Manual's variable glossary. | 2271 | Reference Manual's variable glossary. |
2272 | 2272 | ||
2273 | .. note:: | 2273 | .. note:: |
2274 | 2274 | ||
2275 | - Using ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ is a good | 2275 | - Using :term:`DEPENDS` is a good |
2276 | idea even for components distributed in binary form, and is often | 2276 | idea even for components distributed in binary form, and is often |
2277 | necessary for shared libraries. For a shared library, listing the | 2277 | necessary for shared libraries. For a shared library, listing the |
2278 | library dependencies in ``DEPENDS`` makes sure that the libraries | 2278 | library dependencies in ``DEPENDS`` makes sure that the libraries |
@@ -2291,12 +2291,12 @@ If you cannot use the ``bin_package`` class, you need to be sure you are | |||
2291 | doing the following: | 2291 | doing the following: |
2292 | 2292 | ||
2293 | - Create a recipe where the | 2293 | - Create a recipe where the |
2294 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ and | 2294 | :ref:`ref-tasks-configure` and |
2295 | ```do_compile`` <&YOCTO_DOCS_REF_URL;#ref-tasks-compile>`__ tasks do | 2295 | :ref:`ref-tasks-compile` tasks do |
2296 | nothing: It is usually sufficient to just not define these tasks in | 2296 | nothing: It is usually sufficient to just not define these tasks in |
2297 | the recipe, because the default implementations do nothing unless a | 2297 | the recipe, because the default implementations do nothing unless a |
2298 | Makefile is found in | 2298 | Makefile is found in |
2299 | ``${``\ ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__\ ``}``. | 2299 | ``${``\ :term:`S`\ ``}``. |
2300 | 2300 | ||
2301 | If ``${S}`` might contain a Makefile, or if you inherit some class | 2301 | If ``${S}`` might contain a Makefile, or if you inherit some class |
2302 | that replaces ``do_configure`` and ``do_compile`` with custom | 2302 | that replaces ``do_configure`` and ``do_compile`` with custom |
@@ -2306,17 +2306,17 @@ doing the following: | |||
2306 | = "1" do_compile[noexec] = "1" Unlike | 2306 | = "1" do_compile[noexec] = "1" Unlike |
2307 | ```deleting the tasks`` <&YOCTO_DOCS_BB_URL;#deleting-a-task>`__, | 2307 | ```deleting the tasks`` <&YOCTO_DOCS_BB_URL;#deleting-a-task>`__, |
2308 | using the flag preserves the dependency chain from the | 2308 | using the flag preserves the dependency chain from the |
2309 | ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__, | 2309 | :ref:`ref-tasks-fetch`, |
2310 | ```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__, and | 2310 | :ref:`ref-tasks-unpack`, and |
2311 | ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ tasks to the | 2311 | :ref:`ref-tasks-patch` tasks to the |
2312 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__ task. | 2312 | :ref:`ref-tasks-install` task. |
2313 | 2313 | ||
2314 | - Make sure your ``do_install`` task installs the binaries | 2314 | - Make sure your ``do_install`` task installs the binaries |
2315 | appropriately. | 2315 | appropriately. |
2316 | 2316 | ||
2317 | - Ensure that you set up ```FILES`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__ | 2317 | - Ensure that you set up :term:`FILES` |
2318 | (usually | 2318 | (usually |
2319 | ``FILES_${``\ ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__\ ``}``) to | 2319 | ``FILES_${``\ :term:`PN`\ ``}``) to |
2320 | point to the files you have installed, which of course depends on | 2320 | point to the files you have installed, which of course depends on |
2321 | where you have installed them and whether those files are in | 2321 | where you have installed them and whether those files are in |
2322 | different locations than the defaults. | 2322 | different locations than the defaults. |
@@ -2482,16 +2482,16 @@ in the BitBake User Manual. | |||
2482 | 2482 | ||
2483 | - *Overrides:* You can use overrides to set a value conditionally, | 2483 | - *Overrides:* You can use overrides to set a value conditionally, |
2484 | typically based on how the recipe is being built. For example, to set | 2484 | typically based on how the recipe is being built. For example, to set |
2485 | the ```KBRANCH`` <&YOCTO_DOCS_REF_URL;#var-KBRANCH>`__ variable's | 2485 | the :term:`KBRANCH` variable's |
2486 | value to "standard/base" for any target | 2486 | value to "standard/base" for any target |
2487 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__, except for | 2487 | :term:`MACHINE`, except for |
2488 | qemuarm where it should be set to "standard/arm-versatile-926ejs", | 2488 | qemuarm where it should be set to "standard/arm-versatile-926ejs", |
2489 | you would do the following: KBRANCH = "standard/base" KBRANCH_qemuarm | 2489 | you would do the following: KBRANCH = "standard/base" KBRANCH_qemuarm |
2490 | = "standard/arm-versatile-926ejs" Overrides are also used to separate | 2490 | = "standard/arm-versatile-926ejs" Overrides are also used to separate |
2491 | alternate values of a variable in other situations. For example, when | 2491 | alternate values of a variable in other situations. For example, when |
2492 | setting variables such as | 2492 | setting variables such as |
2493 | ```FILES`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__ and | 2493 | :term:`FILES` and |
2494 | ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__ that are | 2494 | :term:`RDEPENDS` that are |
2495 | specific to individual packages produced by a recipe, you should | 2495 | specific to individual packages produced by a recipe, you should |
2496 | always use an override that specifies the name of the package. | 2496 | always use an override that specifies the name of the package. |
2497 | 2497 | ||
@@ -2713,7 +2713,7 @@ The following steps describe how to set up the AUH utility: | |||
2713 | 499), reused 703 (delta 434) Receiving objects: 100% (768/768), | 2713 | 499), reused 703 (delta 434) Receiving objects: 100% (768/768), |
2714 | 191.47 KiB \| 98.00 KiB/s, done. Resolving deltas: 100% (499/499), | 2714 | 191.47 KiB \| 98.00 KiB/s, done. Resolving deltas: 100% (499/499), |
2715 | done. Checking connectivity... done. AUH is not part of the | 2715 | done. Checking connectivity... done. AUH is not part of the |
2716 | `OpenEmbedded-Core (OE-Core) <&YOCTO_DOCS_REF_URL;#oe-core>`__ or | 2716 | :term:`OpenEmbedded-Core (OE-Core)` or |
2717 | `Poky <&YOCTO_DOCS_REF_URL;#poky>`__ repositories. | 2717 | `Poky <&YOCTO_DOCS_REF_URL;#poky>`__ repositories. |
2718 | 2718 | ||
2719 | 4. *Create a Dedicated Build Directory:* Run the | 2719 | 4. *Create a Dedicated Build Directory:* Run the |
@@ -2956,13 +2956,13 @@ edit the recipe files to upgrade the versions. | |||
2956 | To manually upgrade recipe versions, follow these general steps: | 2956 | To manually upgrade recipe versions, follow these general steps: |
2957 | 2957 | ||
2958 | 1. *Change the Version:* Rename the recipe such that the version (i.e. | 2958 | 1. *Change the Version:* Rename the recipe such that the version (i.e. |
2959 | the ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ part of the recipe name) | 2959 | the :term:`PV` part of the recipe name) |
2960 | changes appropriately. If the version is not part of the recipe name, | 2960 | changes appropriately. If the version is not part of the recipe name, |
2961 | change the value as it is set for ``PV`` within the recipe itself. | 2961 | change the value as it is set for ``PV`` within the recipe itself. |
2962 | 2962 | ||
2963 | 2. *Update ``SRCREV`` if Needed:* If the source code your recipe builds | 2963 | 2. *Update ``SRCREV`` if Needed:* If the source code your recipe builds |
2964 | is fetched from Git or some other version control system, update | 2964 | is fetched from Git or some other version control system, update |
2965 | ```SRCREV`` <&YOCTO_DOCS_REF_URL;#var-SRCREV>`__ to point to the | 2965 | :term:`SRCREV` to point to the |
2966 | commit hash that matches the new version. | 2966 | commit hash that matches the new version. |
2967 | 2967 | ||
2968 | 3. *Build the Software:* Try to build the recipe using BitBake. Typical | 2968 | 3. *Build the Software:* Try to build the recipe using BitBake. Typical |
@@ -2970,8 +2970,8 @@ To manually upgrade recipe versions, follow these general steps: | |||
2970 | 2970 | ||
2971 | - License statements were updated for the new version. For this | 2971 | - License statements were updated for the new version. For this |
2972 | case, you need to review any changes to the license and update the | 2972 | case, you need to review any changes to the license and update the |
2973 | values of ```LICENSE`` <&YOCTO_DOCS_REF_URL;#var-LICENSE>`__ and | 2973 | values of :term:`LICENSE` and |
2974 | ```LIC_FILES_CHKSUM`` <&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM>`__ | 2974 | :term:`LIC_FILES_CHKSUM` |
2975 | as needed. | 2975 | as needed. |
2976 | 2976 | ||
2977 | .. note:: | 2977 | .. note:: |
@@ -2989,7 +2989,7 @@ To manually upgrade recipe versions, follow these general steps: | |||
2989 | 4. *Optionally Attempt to Build for Several Architectures:* Once you | 2989 | 4. *Optionally Attempt to Build for Several Architectures:* Once you |
2990 | successfully build the new software for a given architecture, you | 2990 | successfully build the new software for a given architecture, you |
2991 | could test the build for other architectures by changing the | 2991 | could test the build for other architectures by changing the |
2992 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ variable and | 2992 | :term:`MACHINE` variable and |
2993 | rebuilding the software. This optional step is especially important | 2993 | rebuilding the software. This optional step is especially important |
2994 | if the recipe is to be released publicly. | 2994 | if the recipe is to be released publicly. |
2995 | 2995 | ||
@@ -3022,7 +3022,7 @@ patches. | |||
3022 | 3022 | ||
3023 | During a build, the unpacked temporary source code used by recipes to | 3023 | During a build, the unpacked temporary source code used by recipes to |
3024 | build packages is available in the Build Directory as defined by the | 3024 | build packages is available in the Build Directory as defined by the |
3025 | ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__ variable. Below is the default | 3025 | :term:`S` variable. Below is the default |
3026 | value for the ``S`` variable as defined in the | 3026 | value for the ``S`` variable as defined in the |
3027 | ``meta/conf/bitbake.conf`` configuration file in the `Source | 3027 | ``meta/conf/bitbake.conf`` configuration file in the `Source |
3028 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__: S = | 3028 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__: S = |
@@ -3042,26 +3042,26 @@ usually set ``S`` to ``${WORKDIR}/git``. | |||
3042 | 3042 | ||
3043 | 3043 | ||
3044 | The path to the work directory for the recipe | 3044 | The path to the work directory for the recipe |
3045 | (```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__) is defined as | 3045 | (:term:`WORKDIR`) is defined as |
3046 | follows: | 3046 | follows: |
3047 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} The | 3047 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} The |
3048 | actual directory depends on several things: | 3048 | actual directory depends on several things: |
3049 | 3049 | ||
3050 | - ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__: The top-level build | 3050 | - :term:`TMPDIR`: The top-level build |
3051 | output directory. | 3051 | output directory. |
3052 | 3052 | ||
3053 | - ```MULTIMACH_TARGET_SYS`` <&YOCTO_DOCS_REF_URL;#var-MULTIMACH_TARGET_SYS>`__: | 3053 | - :term:`MULTIMACH_TARGET_SYS`: |
3054 | The target system identifier. | 3054 | The target system identifier. |
3055 | 3055 | ||
3056 | - ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__: The recipe name. | 3056 | - :term:`PN`: The recipe name. |
3057 | 3057 | ||
3058 | - ```EXTENDPE`` <&YOCTO_DOCS_REF_URL;#var-EXTENDPE>`__: The epoch - (if | 3058 | - :term:`EXTENDPE`: The epoch - (if |
3059 | ```PE`` <&YOCTO_DOCS_REF_URL;#var-PE>`__ is not specified, which is | 3059 | :term:`PE` is not specified, which is |
3060 | usually the case for most recipes, then ``EXTENDPE`` is blank). | 3060 | usually the case for most recipes, then ``EXTENDPE`` is blank). |
3061 | 3061 | ||
3062 | - ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__: The recipe version. | 3062 | - :term:`PV`: The recipe version. |
3063 | 3063 | ||
3064 | - ```PR`` <&YOCTO_DOCS_REF_URL;#var-PR>`__: The recipe revision. | 3064 | - :term:`PR`: The recipe revision. |
3065 | 3065 | ||
3066 | As an example, assume a Source Directory top-level folder named | 3066 | As an example, assume a Source Directory top-level folder named |
3067 | ``poky``, a default Build Directory at ``poky/build``, and a | 3067 | ``poky``, a default Build Directory at ``poky/build``, and a |
@@ -3105,7 +3105,7 @@ Follow these general steps: | |||
3105 | 3105 | ||
3106 | 2. *Change Your Working Directory:* You need to be in the directory that | 3106 | 2. *Change Your Working Directory:* You need to be in the directory that |
3107 | has the temporary source code. That directory is defined by the | 3107 | has the temporary source code. That directory is defined by the |
3108 | ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__ variable. | 3108 | :term:`S` variable. |
3109 | 3109 | ||
3110 | 3. *Create a New Patch:* Before modifying source code, you need to | 3110 | 3. *Create a New Patch:* Before modifying source code, you need to |
3111 | create a new patch. To create a new patch file, use ``quilt new`` as | 3111 | create a new patch. To create a new patch file, use ``quilt new`` as |
@@ -3170,9 +3170,9 @@ Using a Development Shell | |||
3170 | When debugging certain commands or even when just editing packages, | 3170 | When debugging certain commands or even when just editing packages, |
3171 | ``devshell`` can be a useful tool. When you invoke ``devshell``, all | 3171 | ``devshell`` can be a useful tool. When you invoke ``devshell``, all |
3172 | tasks up to and including | 3172 | tasks up to and including |
3173 | ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ are run for the | 3173 | :ref:`ref-tasks-patch` are run for the |
3174 | specified target. Then, a new terminal is opened and you are placed in | 3174 | specified target. Then, a new terminal is opened and you are placed in |
3175 | ``${``\ ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__\ ``}``, the source | 3175 | ``${``\ :term:`S`\ ``}``, the source |
3176 | directory. In the new terminal, all the OpenEmbedded build-related | 3176 | directory. In the new terminal, all the OpenEmbedded build-related |
3177 | environment variables are still defined so you can use commands such as | 3177 | environment variables are still defined so you can use commands such as |
3178 | ``configure`` and ``make``. The commands execute just as if the | 3178 | ``configure`` and ``make``. The commands execute just as if the |
@@ -3185,7 +3185,7 @@ Following is an example that uses ``devshell`` on a target named | |||
3185 | 3185 | ||
3186 | This command spawns a terminal with a shell prompt within the | 3186 | This command spawns a terminal with a shell prompt within the |
3187 | OpenEmbedded build environment. The | 3187 | OpenEmbedded build environment. The |
3188 | ```OE_TERMINAL`` <&YOCTO_DOCS_REF_URL;#var-OE_TERMINAL>`__ variable | 3188 | :term:`OE_TERMINAL` variable |
3189 | controls what type of shell is opened. | 3189 | controls what type of shell is opened. |
3190 | 3190 | ||
3191 | For spawned terminals, the following occurs: | 3191 | For spawned terminals, the following occurs: |
@@ -3200,11 +3200,11 @@ For spawned terminals, the following occurs: | |||
3200 | Within this environment, you can run configure or compile commands as if | 3200 | Within this environment, you can run configure or compile commands as if |
3201 | they were being run by the OpenEmbedded build system itself. As noted | 3201 | they were being run by the OpenEmbedded build system itself. As noted |
3202 | earlier, the working directory also automatically changes to the Source | 3202 | earlier, the working directory also automatically changes to the Source |
3203 | Directory (```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__). | 3203 | Directory (:term:`S`). |
3204 | 3204 | ||
3205 | To manually run a specific task using ``devshell``, run the | 3205 | To manually run a specific task using ``devshell``, run the |
3206 | corresponding ``run.*`` script in the | 3206 | corresponding ``run.*`` script in the |
3207 | ``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}/temp`` | 3207 | ``${``\ :term:`WORKDIR`\ ``}/temp`` |
3208 | directory (e.g., ``run.do_configure.``\ pid). If a task's script does | 3208 | directory (e.g., ``run.do_configure.``\ pid). If a task's script does |
3209 | not exist, which would be the case if the task was skipped by way of the | 3209 | not exist, which would be the case if the task was skipped by way of the |
3210 | sstate cache, you can create the task by first running it outside of the | 3210 | sstate cache, you can create the task by first running it outside of the |
@@ -3250,7 +3250,7 @@ previous section, you can also spawn and work within an interactive | |||
3250 | Python development shell. When debugging certain commands or even when | 3250 | Python development shell. When debugging certain commands or even when |
3251 | just editing packages, ``devpyshell`` can be a useful tool. When you | 3251 | just editing packages, ``devpyshell`` can be a useful tool. When you |
3252 | invoke ``devpyshell``, all tasks up to and including | 3252 | invoke ``devpyshell``, all tasks up to and including |
3253 | ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ are run for the | 3253 | :ref:`ref-tasks-patch` are run for the |
3254 | specified target. Then a new terminal is opened. Additionally, key | 3254 | specified target. Then a new terminal is opened. Additionally, key |
3255 | Python objects and code are available in the same way they are to | 3255 | Python objects and code are available in the same way they are to |
3256 | BitBake tasks, in particular, the data store 'd'. So, commands such as | 3256 | BitBake tasks, in particular, the data store 'd'. So, commands such as |
@@ -3270,7 +3270,7 @@ Following is an example that uses ``devpyshell`` on a target named | |||
3270 | 3270 | ||
3271 | This command spawns a terminal and places you in an interactive Python | 3271 | This command spawns a terminal and places you in an interactive Python |
3272 | interpreter within the OpenEmbedded build environment. The | 3272 | interpreter within the OpenEmbedded build environment. The |
3273 | ```OE_TERMINAL`` <&YOCTO_DOCS_REF_URL;#var-OE_TERMINAL>`__ variable | 3273 | :term:`OE_TERMINAL` variable |
3274 | controls what type of shell is opened. | 3274 | controls what type of shell is opened. |
3275 | 3275 | ||
3276 | When you are finished using ``devpyshell``, you can exit the shell | 3276 | When you are finished using ``devpyshell``, you can exit the shell |
@@ -3357,9 +3357,9 @@ The following figure and list overviews the build process: | |||
3357 | of the build environment including the target machine architecture | 3357 | of the build environment including the target machine architecture |
3358 | through the ``MACHINE`` variable, the packaging format used during | 3358 | through the ``MACHINE`` variable, the packaging format used during |
3359 | the build | 3359 | the build |
3360 | (```PACKAGE_CLASSES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES>`__), | 3360 | (:term:`PACKAGE_CLASSES`), |
3361 | and a centralized tarball download directory through the | 3361 | and a centralized tarball download directory through the |
3362 | ```DL_DIR`` <&YOCTO_DOCS_REF_URL;#var-DL_DIR>`__ variable. | 3362 | :term:`DL_DIR` variable. |
3363 | 3363 | ||
3364 | 4. *Build the Image:* Build the image using the ``bitbake`` command: $ | 3364 | 4. *Build the Image:* Build the image using the ``bitbake`` command: $ |
3365 | bitbake target | 3365 | bitbake target |
@@ -3377,7 +3377,7 @@ The following figure and list overviews the build process: | |||
3377 | can be the name of a recipe for a specific piece of software such as | 3377 | can be the name of a recipe for a specific piece of software such as |
3378 | BusyBox. For more details about the images the OpenEmbedded build | 3378 | BusyBox. For more details about the images the OpenEmbedded build |
3379 | system supports, see the | 3379 | system supports, see the |
3380 | "`Images <&YOCTO_DOCS_REF_URL;#ref-images>`__" chapter in the Yocto | 3380 | ":ref:`ref-manual/ref-images:Images`" chapter in the Yocto |
3381 | Project Reference Manual. | 3381 | Project Reference Manual. |
3382 | 3382 | ||
3383 | As an example, the following command builds the | 3383 | As an example, the following command builds the |
@@ -3413,7 +3413,7 @@ Setting Up and Running a Multiple Configuration Build | |||
3413 | 3413 | ||
3414 | To accomplish a multiple configuration build, you must define each | 3414 | To accomplish a multiple configuration build, you must define each |
3415 | target's configuration separately using a parallel configuration file in | 3415 | target's configuration separately using a parallel configuration file in |
3416 | the `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, and you | 3416 | the :term:`Build Directory`, and you |
3417 | must follow a required file hierarchy. Additionally, you must enable the | 3417 | must follow a required file hierarchy. Additionally, you must enable the |
3418 | multiple configuration builds in your ``local.conf`` file. | 3418 | multiple configuration builds in your ``local.conf`` file. |
3419 | 3419 | ||
@@ -3426,9 +3426,9 @@ Follow these steps to set up and execute multiple configuration builds: | |||
3426 | dictates that you do not overlap the temporary directories used | 3426 | dictates that you do not overlap the temporary directories used |
3427 | during the builds. However, it is possible that you can share the | 3427 | during the builds. However, it is possible that you can share the |
3428 | temporary directory | 3428 | temporary directory |
3429 | (```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__). For example, | 3429 | (:term:`TMPDIR`). For example, |
3430 | consider a scenario with two different multiconfigs for the same | 3430 | consider a scenario with two different multiconfigs for the same |
3431 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__: "qemux86" built | 3431 | :term:`MACHINE`: "qemux86" built |
3432 | for two distributions such as "poky" and "poky-lsb". In this case, | 3432 | for two distributions such as "poky" and "poky-lsb". In this case, |
3433 | you might want to use the same ``TMPDIR``. | 3433 | you might want to use the same ``TMPDIR``. |
3434 | 3434 | ||
@@ -3450,7 +3450,7 @@ Follow these steps to set up and execute multiple configuration builds: | |||
3450 | 3450 | ||
3451 | - *Add the BitBake Multi-configuration Variable to the Local | 3451 | - *Add the BitBake Multi-configuration Variable to the Local |
3452 | Configuration File*: Use the | 3452 | Configuration File*: Use the |
3453 | ```BBMULTICONFIG`` <&YOCTO_DOCS_REF_URL;#var-BBMULTICONFIG>`__ | 3453 | :term:`BBMULTICONFIG` |
3454 | variable in your ``conf/local.conf`` configuration file to specify | 3454 | variable in your ``conf/local.conf`` configuration file to specify |
3455 | each multiconfig. Continuing with the example from the previous | 3455 | each multiconfig. Continuing with the example from the previous |
3456 | figure, the ``BBMULTICONFIG`` variable needs to enable two | 3456 | figure, the ``BBMULTICONFIG`` variable needs to enable two |
@@ -3498,9 +3498,9 @@ multiple configuration build. For example, suppose that in order to | |||
3498 | build a ``core-image-sato`` image for an "x86" multiconfig, the root | 3498 | build a ``core-image-sato`` image for an "x86" multiconfig, the root |
3499 | filesystem of an "arm" multiconfig must exist. This dependency is | 3499 | filesystem of an "arm" multiconfig must exist. This dependency is |
3500 | essentially that the | 3500 | essentially that the |
3501 | ```do_image`` <&YOCTO_DOCS_REF_URL;#ref-tasks-image>`__ task in the | 3501 | :ref:`ref-tasks-image` task in the |
3502 | ``core-image-sato`` recipe depends on the completion of the | 3502 | ``core-image-sato`` recipe depends on the completion of the |
3503 | ```do_rootfs`` <&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs>`__ task of the | 3503 | :ref:`ref-tasks-rootfs` task of the |
3504 | ``core-image-minimal`` recipe. | 3504 | ``core-image-minimal`` recipe. |
3505 | 3505 | ||
3506 | To enable dependencies in a multiple configuration build, you must | 3506 | To enable dependencies in a multiple configuration build, you must |
@@ -3533,7 +3533,7 @@ create the ``core-image-minimal`` image for the "arm" build since the | |||
3533 | Because "x86" and "arm" are enabled for multiple configuration builds | 3533 | Because "x86" and "arm" are enabled for multiple configuration builds |
3534 | and have separate configuration files, BitBake places the artifacts for | 3534 | and have separate configuration files, BitBake places the artifacts for |
3535 | each build in the respective temporary build directories (i.e. | 3535 | each build in the respective temporary build directories (i.e. |
3536 | ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__). | 3536 | :term:`TMPDIR`). |
3537 | 3537 | ||
3538 | .. _building-an-initramfs-image: | 3538 | .. _building-an-initramfs-image: |
3539 | 3539 | ||
@@ -3564,9 +3564,9 @@ Follow these steps to create an initramfs image: | |||
3564 | 2. *Decide if You Need to Bundle the initramfs Image Into the Kernel | 3564 | 2. *Decide if You Need to Bundle the initramfs Image Into the Kernel |
3565 | Image:* If you want the initramfs image that is built to be bundled | 3565 | Image:* If you want the initramfs image that is built to be bundled |
3566 | in with the kernel image, set the | 3566 | in with the kernel image, set the |
3567 | ```INITRAMFS_IMAGE_BUNDLE`` <&YOCTO_DOCS_REF_URL;#var-INITRAMFS_IMAGE_BUNDLE>`__ | 3567 | :term:`INITRAMFS_IMAGE_BUNDLE` |
3568 | variable to "1" in your ``local.conf`` configuration file and set the | 3568 | variable to "1" in your ``local.conf`` configuration file and set the |
3569 | ```INITRAMFS_IMAGE`` <&YOCTO_DOCS_REF_URL;#var-INITRAMFS_IMAGE>`__ | 3569 | :term:`INITRAMFS_IMAGE` |
3570 | variable in the recipe that builds the kernel image. | 3570 | variable in the recipe that builds the kernel image. |
3571 | 3571 | ||
3572 | .. note:: | 3572 | .. note:: |
@@ -3579,7 +3579,7 @@ Follow these steps to create an initramfs image: | |||
3579 | Setting the ``INITRAMFS_IMAGE_BUNDLE`` flag causes the initramfs | 3579 | Setting the ``INITRAMFS_IMAGE_BUNDLE`` flag causes the initramfs |
3580 | image to be unpacked into the ``${B}/usr/`` directory. The unpacked | 3580 | image to be unpacked into the ``${B}/usr/`` directory. The unpacked |
3581 | initramfs image is then passed to the kernel's ``Makefile`` using the | 3581 | initramfs image is then passed to the kernel's ``Makefile`` using the |
3582 | ```CONFIG_INITRAMFS_SOURCE`` <&YOCTO_DOCS_REF_URL;#var-CONFIG_INITRAMFS_SOURCE>`__ | 3582 | :term:`CONFIG_INITRAMFS_SOURCE` |
3583 | variable, allowing the initramfs image to be built into the kernel | 3583 | variable, allowing the initramfs image to be built into the kernel |
3584 | normally. | 3584 | normally. |
3585 | 3585 | ||
@@ -3601,20 +3601,20 @@ Follow these steps to create an initramfs image: | |||
3601 | 3. *Optionally Add Items to the initramfs Image Through the initramfs | 3601 | 3. *Optionally Add Items to the initramfs Image Through the initramfs |
3602 | Image Recipe:* If you add items to the initramfs image by way of its | 3602 | Image Recipe:* If you add items to the initramfs image by way of its |
3603 | recipe, you should use | 3603 | recipe, you should use |
3604 | ```PACKAGE_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_INSTALL>`__ | 3604 | :term:`PACKAGE_INSTALL` |
3605 | rather than | 3605 | rather than |
3606 | ```IMAGE_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL>`__. | 3606 | :term:`IMAGE_INSTALL`. |
3607 | ``PACKAGE_INSTALL`` gives more direct control of what is added to the | 3607 | ``PACKAGE_INSTALL`` gives more direct control of what is added to the |
3608 | image as compared to the defaults you might not necessarily want that | 3608 | image as compared to the defaults you might not necessarily want that |
3609 | are set by the ```image`` <&YOCTO_DOCS_REF_URL;#ref-classes-image>`__ | 3609 | are set by the :ref:`image <ref-classes-image>` |
3610 | or ```core-image`` <&YOCTO_DOCS_REF_URL;#ref-classes-core-image>`__ | 3610 | or :ref:`core-image <ref-classes-core-image>` |
3611 | classes. | 3611 | classes. |
3612 | 3612 | ||
3613 | 4. *Build the Kernel Image and the initramfs Image:* Build your kernel | 3613 | 4. *Build the Kernel Image and the initramfs Image:* Build your kernel |
3614 | image using BitBake. Because the initramfs image recipe is a | 3614 | image using BitBake. Because the initramfs image recipe is a |
3615 | dependency of the kernel image, the initramfs image is built as well | 3615 | dependency of the kernel image, the initramfs image is built as well |
3616 | and bundled with the kernel image if you used the | 3616 | and bundled with the kernel image if you used the |
3617 | ```INITRAMFS_IMAGE_BUNDLE`` <&YOCTO_DOCS_REF_URL;#var-INITRAMFS_IMAGE_BUNDLE>`__ | 3617 | :term:`INITRAMFS_IMAGE_BUNDLE` |
3618 | variable described earlier. | 3618 | variable described earlier. |
3619 | 3619 | ||
3620 | Building a Tiny System | 3620 | Building a Tiny System |
@@ -3850,7 +3850,7 @@ dependencies as well as removing the package management data itself. | |||
3850 | 3850 | ||
3851 | To eliminate all the packaging requirements for an image, be sure that | 3851 | To eliminate all the packaging requirements for an image, be sure that |
3852 | "package-management" is not part of your | 3852 | "package-management" is not part of your |
3853 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__ | 3853 | :term:`IMAGE_FEATURES` |
3854 | statement for the image. When you remove this feature, you are removing | 3854 | statement for the image. When you remove this feature, you are removing |
3855 | the package manager as well as its dependencies from the root | 3855 | the package manager as well as its dependencies from the root |
3856 | filesystem. | 3856 | filesystem. |
@@ -3866,7 +3866,7 @@ are a couple of areas to experiment with: | |||
3866 | - ``glibc``: In general, follow this process: | 3866 | - ``glibc``: In general, follow this process: |
3867 | 3867 | ||
3868 | 1. Remove ``glibc`` features from | 3868 | 1. Remove ``glibc`` features from |
3869 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__ | 3869 | :term:`DISTRO_FEATURES` |
3870 | that you think you do not need. | 3870 | that you think you do not need. |
3871 | 3871 | ||
3872 | 2. Build your distribution. | 3872 | 2. Build your distribution. |
@@ -3913,7 +3913,7 @@ that are extremely specific to a CPU core used in a system might enable | |||
3913 | some micro optimizations in GCC for that particular system but would | 3913 | some micro optimizations in GCC for that particular system but would |
3914 | otherwise not gain you much of a performance difference across the other | 3914 | otherwise not gain you much of a performance difference across the other |
3915 | systems as compared to using a more general tuning across all the builds | 3915 | systems as compared to using a more general tuning across all the builds |
3916 | (e.g. setting ```DEFAULTTUNE`` <&YOCTO_DOCS_REF_URL;#var-DEFAULTTUNE>`__ | 3916 | (e.g. setting :term:`DEFAULTTUNE` |
3917 | specifically for each machine's build). Rather than "max out" each | 3917 | specifically for each machine's build). Rather than "max out" each |
3918 | build's tunings, you can take steps that cause the OpenEmbedded build | 3918 | build's tunings, you can take steps that cause the OpenEmbedded build |
3919 | system to reuse software across the various machines where it makes | 3919 | system to reuse software across the various machines where it makes |
@@ -3924,9 +3924,9 @@ should consider the points in this section that can help you optimize | |||
3924 | your tunings to best consider build times and package feed maintenance. | 3924 | your tunings to best consider build times and package feed maintenance. |
3925 | 3925 | ||
3926 | - *Share the Build Directory:* If at all possible, share the | 3926 | - *Share the Build Directory:* If at all possible, share the |
3927 | ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__ across builds. The | 3927 | :term:`TMPDIR` across builds. The |
3928 | Yocto Project supports switching between different | 3928 | Yocto Project supports switching between different |
3929 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ values in the same | 3929 | :term:`MACHINE` values in the same |
3930 | ``TMPDIR``. This practice is well supported and regularly used by | 3930 | ``TMPDIR``. This practice is well supported and regularly used by |
3931 | developers when building for multiple machines. When you use the same | 3931 | developers when building for multiple machines. When you use the same |
3932 | ``TMPDIR`` for multiple machine builds, the OpenEmbedded build system | 3932 | ``TMPDIR`` for multiple machine builds, the OpenEmbedded build system |
@@ -3958,7 +3958,7 @@ your tunings to best consider build times and package feed maintenance. | |||
3958 | A recipe that just generates scripts can enable "all" architecture | 3958 | A recipe that just generates scripts can enable "all" architecture |
3959 | because there are no binaries to build. To specifically enable "all" | 3959 | because there are no binaries to build. To specifically enable "all" |
3960 | architecture, be sure your recipe inherits the | 3960 | architecture, be sure your recipe inherits the |
3961 | ```allarch`` <&YOCTO_DOCS_REF_URL;#ref-classes-allarch>`__ class. | 3961 | :ref:`allarch <ref-classes-allarch>` class. |
3962 | This class is useful for "all" architectures because it configures | 3962 | This class is useful for "all" architectures because it configures |
3963 | many variables so packages can be used across multiple architectures. | 3963 | many variables so packages can be used across multiple architectures. |
3964 | 3964 | ||
@@ -3967,12 +3967,12 @@ your tunings to best consider build times and package feed maintenance. | |||
3967 | machine-architecture dependent, which makes your recipe also | 3967 | machine-architecture dependent, which makes your recipe also |
3968 | machine-architecture dependent, make sure your recipe enables the | 3968 | machine-architecture dependent, make sure your recipe enables the |
3969 | "machine" package architecture through the | 3969 | "machine" package architecture through the |
3970 | ```MACHINE_ARCH`` <&YOCTO_DOCS_REF_URL;#var-MACHINE_ARCH>`__ | 3970 | :term:`MACHINE_ARCH` |
3971 | variable: PACKAGE_ARCH = "${MACHINE_ARCH}" When you do not | 3971 | variable: PACKAGE_ARCH = "${MACHINE_ARCH}" When you do not |
3972 | specifically enable a package architecture through the | 3972 | specifically enable a package architecture through the |
3973 | ```PACKAGE_ARCH`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH>`__, The | 3973 | :term:`PACKAGE_ARCH`, The |
3974 | OpenEmbedded build system defaults to the | 3974 | OpenEmbedded build system defaults to the |
3975 | ```TUNE_PKGARCH`` <&YOCTO_DOCS_REF_URL;#var-TUNE_PKGARCH>`__ setting: | 3975 | :term:`TUNE_PKGARCH` setting: |
3976 | PACKAGE_ARCH = "${TUNE_PKGARCH}" | 3976 | PACKAGE_ARCH = "${TUNE_PKGARCH}" |
3977 | 3977 | ||
3978 | - *Choose a Generic Tuning File if Possible:* Some tunes are more | 3978 | - *Choose a Generic Tuning File if Possible:* Some tunes are more |
@@ -4001,11 +4001,11 @@ your tunings to best consider build times and package feed maintenance. | |||
4001 | boards share the Vivante GPU. This class inspects the BitBake | 4001 | boards share the Vivante GPU. This class inspects the BitBake |
4002 | datastore to identify if the package provides or depends on one of | 4002 | datastore to identify if the package provides or depends on one of |
4003 | the sub-architecture values. If so, the class sets the | 4003 | the sub-architecture values. If so, the class sets the |
4004 | ```PACKAGE_ARCH`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH>`__ value | 4004 | :term:`PACKAGE_ARCH` value |
4005 | based on the ``MACHINE_SUBARCH`` value. If the package does not | 4005 | based on the ``MACHINE_SUBARCH`` value. If the package does not |
4006 | provide or depend on one of the sub-architecture values but it | 4006 | provide or depend on one of the sub-architecture values but it |
4007 | matches a value in the machine-specific filter, it sets | 4007 | matches a value in the machine-specific filter, it sets |
4008 | ```MACHINE_ARCH`` <&YOCTO_DOCS_REF_URL;#var-MACHINE_ARCH>`__. This | 4008 | :term:`MACHINE_ARCH`. This |
4009 | behavior reduces the number of packages built and saves build time by | 4009 | behavior reduces the number of packages built and saves build time by |
4010 | reusing binaries. | 4010 | reusing binaries. |
4011 | 4011 | ||
@@ -4014,18 +4014,18 @@ your tunings to best consider build times and package feed maintenance. | |||
4014 | example, the OpenEmbedded build system might not be using shared | 4014 | example, the OpenEmbedded build system might not be using shared |
4015 | state between machines when you think it should be. These types of | 4015 | state between machines when you think it should be. These types of |
4016 | situations are usually due to references to machine-specific | 4016 | situations are usually due to references to machine-specific |
4017 | variables such as ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__, | 4017 | variables such as :term:`MACHINE`, |
4018 | ```SERIAL_CONSOLES`` <&YOCTO_DOCS_REF_URL;#var-SERIAL_CONSOLES>`__, | 4018 | :term:`SERIAL_CONSOLES`, |
4019 | ```XSERVER`` <&YOCTO_DOCS_REF_URL;#var-XSERVER>`__, | 4019 | :term:`XSERVER`, |
4020 | ```MACHINE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES>`__, | 4020 | :term:`MACHINE_FEATURES`, |
4021 | and so forth in code that is supposed to only be tune-specific or | 4021 | and so forth in code that is supposed to only be tune-specific or |
4022 | when the recipe depends | 4022 | when the recipe depends |
4023 | (```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__, | 4023 | (:term:`DEPENDS`, |
4024 | ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__, | 4024 | :term:`RDEPENDS`, |
4025 | ```RRECOMMENDS`` <&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS>`__, | 4025 | :term:`RRECOMMENDS`, |
4026 | ```RSUGGESTS`` <&YOCTO_DOCS_REF_URL;#var-RSUGGESTS>`__, and so forth) | 4026 | :term:`RSUGGESTS`, and so forth) |
4027 | on some other recipe that already has | 4027 | on some other recipe that already has |
4028 | ```PACKAGE_ARCH`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH>`__ defined | 4028 | :term:`PACKAGE_ARCH` defined |
4029 | as "${MACHINE_ARCH}". | 4029 | as "${MACHINE_ARCH}". |
4030 | 4030 | ||
4031 | .. note:: | 4031 | .. note:: |
@@ -4062,14 +4062,14 @@ build system to the development team so that they can focus on their | |||
4062 | project and maintain everyone's workflow as much as possible. In this | 4062 | project and maintain everyone's workflow as much as possible. In this |
4063 | case, you want a kernel source directory on the development machine | 4063 | case, you want a kernel source directory on the development machine |
4064 | where the development occurs. You want the recipe's | 4064 | where the development occurs. You want the recipe's |
4065 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ variable to point to | 4065 | :term:`SRC_URI` variable to point to |
4066 | the external directory and use it as is, not copy it. | 4066 | the external directory and use it as is, not copy it. |
4067 | 4067 | ||
4068 | To build from software that comes from an external source, all you need | 4068 | To build from software that comes from an external source, all you need |
4069 | to do is inherit the | 4069 | to do is inherit the |
4070 | ```externalsrc`` <&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc>`__ class | 4070 | :ref:`externalsrc <ref-classes-externalsrc>` class |
4071 | and then set the | 4071 | and then set the |
4072 | ```EXTERNALSRC`` <&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC>`__ variable to | 4072 | :term:`EXTERNALSRC` variable to |
4073 | point to your external source code. Here are the statements to put in | 4073 | point to your external source code. Here are the statements to put in |
4074 | your ``local.conf`` file: INHERIT += "externalsrc" | 4074 | your ``local.conf`` file: INHERIT += "externalsrc" |
4075 | EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" | 4075 | EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" |
@@ -4087,10 +4087,10 @@ EXTERNALSRC = "path" EXTERNALSRC_BUILD = "path" | |||
4087 | 4087 | ||
4088 | By default, ``externalsrc.bbclass`` builds the source code in a | 4088 | By default, ``externalsrc.bbclass`` builds the source code in a |
4089 | directory separate from the external source directory as specified by | 4089 | directory separate from the external source directory as specified by |
4090 | ```EXTERNALSRC`` <&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC>`__. If you need | 4090 | :term:`EXTERNALSRC`. If you need |
4091 | to have the source built in the same directory in which it resides, or | 4091 | to have the source built in the same directory in which it resides, or |
4092 | some other nominated directory, you can set | 4092 | some other nominated directory, you can set |
4093 | ```EXTERNALSRC_BUILD`` <&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD>`__ | 4093 | :term:`EXTERNALSRC_BUILD` |
4094 | to point to that directory: EXTERNALSRC_BUILD_pn-myrecipe = | 4094 | to point to that directory: EXTERNALSRC_BUILD_pn-myrecipe = |
4095 | "path-to-your-source-tree" | 4095 | "path-to-your-source-tree" |
4096 | 4096 | ||
@@ -4107,7 +4107,7 @@ build. | |||
4107 | Follow these steps to populate your Downloads directory: | 4107 | Follow these steps to populate your Downloads directory: |
4108 | 4108 | ||
4109 | 1. *Create a Clean Downloads Directory:* Start with an empty downloads | 4109 | 1. *Create a Clean Downloads Directory:* Start with an empty downloads |
4110 | directory (```DL_DIR`` <&YOCTO_DOCS_REF_URL;#var-DL_DIR>`__). You | 4110 | directory (:term:`DL_DIR`). You |
4111 | start with an empty downloads directory by either removing the files | 4111 | start with an empty downloads directory by either removing the files |
4112 | in the existing directory or by setting ``DL_DIR`` to point to either | 4112 | in the existing directory or by setting ``DL_DIR`` to point to either |
4113 | an empty location or one that does not yet exist. | 4113 | an empty location or one that does not yet exist. |
@@ -4118,7 +4118,7 @@ Follow these steps to populate your Downloads directory: | |||
4118 | the fetch process in the next step, BitBake gathers the source files | 4118 | the fetch process in the next step, BitBake gathers the source files |
4119 | and creates tarballs in the directory pointed to by ``DL_DIR``. See | 4119 | and creates tarballs in the directory pointed to by ``DL_DIR``. See |
4120 | the | 4120 | the |
4121 | ```BB_GENERATE_MIRROR_TARBALLS`` <&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS>`__ | 4121 | :term:`BB_GENERATE_MIRROR_TARBALLS` |
4122 | variable for more information. | 4122 | variable for more information. |
4123 | 4123 | ||
4124 | 3. *Populate Your Downloads Directory Without Building:* Use BitBake to | 4124 | 3. *Populate Your Downloads Directory Without Building:* Use BitBake to |
@@ -4142,9 +4142,9 @@ Follow these steps to build your target using the files in the downloads | |||
4142 | directory: | 4142 | directory: |
4143 | 4143 | ||
4144 | 1. *Using Local Files Only:* Inside your ``local.conf`` file, add the | 4144 | 1. *Using Local Files Only:* Inside your ``local.conf`` file, add the |
4145 | ```SOURCE_MIRROR_URL`` <&YOCTO_DOCS_REF_URL;#var-SOURCE_MIRROR_URL>`__ | 4145 | :term:`SOURCE_MIRROR_URL` |
4146 | variable, inherit the | 4146 | variable, inherit the |
4147 | ```own-mirrors`` <&YOCTO_DOCS_REF_URL;#ref-classes-own-mirrors>`__ | 4147 | :ref:`own-mirrors <ref-classes-own-mirrors>` |
4148 | class, and use the | 4148 | class, and use the |
4149 | ```BB_NO_NETWORK`` <&YOCTO_DOCS_BB_URL;#var-bb-BB_NO_NETWORK>`__ | 4149 | ```BB_NO_NETWORK`` <&YOCTO_DOCS_BB_URL;#var-bb-BB_NO_NETWORK>`__ |
4150 | variable to your ``local.conf``. SOURCE_MIRROR_URL ?= | 4150 | variable to your ``local.conf``. SOURCE_MIRROR_URL ?= |
@@ -4157,7 +4157,7 @@ directory: | |||
4157 | 4157 | ||
4158 | 2. *Start With a Clean Build:* You can start with a clean build by | 4158 | 2. *Start With a Clean Build:* You can start with a clean build by |
4159 | removing the | 4159 | removing the |
4160 | ``${``\ ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__\ ``}`` | 4160 | ``${``\ :term:`TMPDIR`\ ``}`` |
4161 | directory or using a new `Build | 4161 | directory or using a new `Build |
4162 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 4162 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. |
4163 | 4163 | ||
@@ -4170,8 +4170,8 @@ directory: | |||
4170 | 4170 | ||
4171 | The offline build does not work if recipes attempt to find the | 4171 | The offline build does not work if recipes attempt to find the |
4172 | latest version of software by setting | 4172 | latest version of software by setting |
4173 | ```SRCREV`` <&YOCTO_DOCS_REF_URL;#var-SRCREV>`__ to | 4173 | :term:`SRCREV` to |
4174 | ``${``\ ```AUTOREV`` <&YOCTO_DOCS_REF_URL;#var-AUTOREV>`__\ ``}``: | 4174 | ``${``\ :term:`AUTOREV`\ ``}``: |
4175 | SRCREV = "${AUTOREV}" When a recipe sets ``SRCREV`` to | 4175 | SRCREV = "${AUTOREV}" When a recipe sets ``SRCREV`` to |
4176 | ``${AUTOREV}``, the build system accesses the network in an | 4176 | ``${AUTOREV}``, the build system accesses the network in an |
4177 | attempt to determine the latest version of software from the SCM. | 4177 | attempt to determine the latest version of software from the SCM. |
@@ -4214,12 +4214,12 @@ variable for more information: | |||
4214 | 4214 | ||
4215 | - ```PARALLEL_MAKE``: <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE>`__ Extra | 4215 | - ```PARALLEL_MAKE``: <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE>`__ Extra |
4216 | options passed to the ``make`` command during the | 4216 | options passed to the ``make`` command during the |
4217 | ```do_compile`` <&YOCTO_DOCS_REF_URL;#ref-tasks-compile>`__ task in | 4217 | :ref:`ref-tasks-compile` task in |
4218 | order to specify parallel compilation on the local build host. | 4218 | order to specify parallel compilation on the local build host. |
4219 | 4219 | ||
4220 | - ```PARALLEL_MAKEINST``: <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST>`__ | 4220 | - ```PARALLEL_MAKEINST``: <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST>`__ |
4221 | Extra options passed to the ``make`` command during the | 4221 | Extra options passed to the ``make`` command during the |
4222 | ```do_install`` <&YOCTO_DOCS_REF_URL;#ref-tasks-install>`__ task in | 4222 | :ref:`ref-tasks-install` task in |
4223 | order to specify parallel installation on the local build host. | 4223 | order to specify parallel installation on the local build host. |
4224 | 4224 | ||
4225 | As mentioned, these variables all scale to the number of processor cores | 4225 | As mentioned, these variables all scale to the number of processor cores |
@@ -4249,12 +4249,12 @@ Following are additional factors that can affect build speed: | |||
4249 | IPK is the fastest. Additionally, selecting a singular packaging | 4249 | IPK is the fastest. Additionally, selecting a singular packaging |
4250 | backend also helps. | 4250 | backend also helps. |
4251 | 4251 | ||
4252 | - Using ``tmpfs`` for ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__ | 4252 | - Using ``tmpfs`` for :term:`TMPDIR` |
4253 | as a temporary file system: While this can help speed up the build, | 4253 | as a temporary file system: While this can help speed up the build, |
4254 | the benefits are limited due to the compiler using ``-pipe``. The | 4254 | the benefits are limited due to the compiler using ``-pipe``. The |
4255 | build system goes to some lengths to avoid ``sync()`` calls into the | 4255 | build system goes to some lengths to avoid ``sync()`` calls into the |
4256 | file system on the principle that if there was a significant failure, | 4256 | file system on the principle that if there was a significant failure, |
4257 | the `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ | 4257 | the :term:`Build Directory` |
4258 | contents could easily be rebuilt. | 4258 | contents could easily be rebuilt. |
4259 | 4259 | ||
4260 | - Inheriting the | 4260 | - Inheriting the |
@@ -4262,7 +4262,7 @@ Following are additional factors that can affect build speed: | |||
4262 | Inheriting this class has shown to speed up builds due to | 4262 | Inheriting this class has shown to speed up builds due to |
4263 | significantly lower amounts of data stored in the data cache as well | 4263 | significantly lower amounts of data stored in the data cache as well |
4264 | as on disk. Inheriting this class also makes cleanup of | 4264 | as on disk. Inheriting this class also makes cleanup of |
4265 | ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__ faster, at the | 4265 | :term:`TMPDIR` faster, at the |
4266 | expense of being easily able to dive into the source code. File | 4266 | expense of being easily able to dive into the source code. File |
4267 | system maintainers have recommended that the fastest way to clean up | 4267 | system maintainers have recommended that the fastest way to clean up |
4268 | large numbers of files is to reformat partitions rather than delete | 4268 | large numbers of files is to reformat partitions rather than delete |
@@ -4274,14 +4274,14 @@ Aside from the previous list, you should keep some trade offs in mind | |||
4274 | that can help you speed up the build: | 4274 | that can help you speed up the build: |
4275 | 4275 | ||
4276 | - Remove items from | 4276 | - Remove items from |
4277 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__ | 4277 | :term:`DISTRO_FEATURES` |
4278 | that you might not need. | 4278 | that you might not need. |
4279 | 4279 | ||
4280 | - Exclude debug symbols and other debug information: If you do not need | 4280 | - Exclude debug symbols and other debug information: If you do not need |
4281 | these symbols and other debug information, disabling the ``*-dbg`` | 4281 | these symbols and other debug information, disabling the ``*-dbg`` |
4282 | package generation can speed up the build. You can disable this | 4282 | package generation can speed up the build. You can disable this |
4283 | generation by setting the | 4283 | generation by setting the |
4284 | ```INHIBIT_PACKAGE_DEBUG_SPLIT`` <&YOCTO_DOCS_REF_URL;#var-INHIBIT_PACKAGE_DEBUG_SPLIT>`__ | 4284 | :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` |
4285 | variable to "1". | 4285 | variable to "1". |
4286 | 4286 | ||
4287 | - Disable static library generation for recipes derived from | 4287 | - Disable static library generation for recipes derived from |
@@ -4328,7 +4328,7 @@ If you are building a library and the library offers static linking, you | |||
4328 | can control which static library files (``*.a`` files) get included in | 4328 | can control which static library files (``*.a`` files) get included in |
4329 | the built library. | 4329 | the built library. |
4330 | 4330 | ||
4331 | The ```PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES>`__ and | 4331 | The :term:`PACKAGES` and |
4332 | ```FILES_*`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__ variables in the | 4332 | ```FILES_*`` <&YOCTO_DOCS_REF_URL;#var-FILES>`__ variables in the |
4333 | ``meta/conf/bitbake.conf`` configuration file define how files installed | 4333 | ``meta/conf/bitbake.conf`` configuration file define how files installed |
4334 | by the ``do_install`` task are packaged. By default, the ``PACKAGES`` | 4334 | by the ``do_install`` task are packaged. By default, the ``PACKAGES`` |
@@ -4391,7 +4391,7 @@ libraries could differ in architecture, compiler options, or other | |||
4391 | optimizations. | 4391 | optimizations. |
4392 | 4392 | ||
4393 | Several examples exist in the ``meta-skeleton`` layer found in the | 4393 | Several examples exist in the ``meta-skeleton`` layer found in the |
4394 | `Source Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__: | 4394 | :term:`Source Directory`: |
4395 | 4395 | ||
4396 | - ``conf/multilib-example.conf`` configuration file | 4396 | - ``conf/multilib-example.conf`` configuration file |
4397 | 4397 | ||
@@ -4412,7 +4412,7 @@ already extended and support multiple libraries. You can check in the | |||
4412 | ``meta/conf/multilib.conf`` configuration file in the `Source | 4412 | ``meta/conf/multilib.conf`` configuration file in the `Source |
4413 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ to see how this is | 4413 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ to see how this is |
4414 | done using the | 4414 | done using the |
4415 | ```BBCLASSEXTEND`` <&YOCTO_DOCS_REF_URL;#var-BBCLASSEXTEND>`__ variable. | 4415 | :term:`BBCLASSEXTEND` variable. |
4416 | Eventually, all recipes will be covered and this list will not be | 4416 | Eventually, all recipes will be covered and this list will not be |
4417 | needed. | 4417 | needed. |
4418 | 4418 | ||
@@ -4420,12 +4420,12 @@ For the most part, the Multilib class extension works automatically to | |||
4420 | extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where | 4420 | extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where |
4421 | ``MLPREFIX`` is the particular multilib (e.g. "lib32-" or "lib64-"). | 4421 | ``MLPREFIX`` is the particular multilib (e.g. "lib32-" or "lib64-"). |
4422 | Standard variables such as | 4422 | Standard variables such as |
4423 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__, | 4423 | :term:`DEPENDS`, |
4424 | ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__, | 4424 | :term:`RDEPENDS`, |
4425 | ```RPROVIDES`` <&YOCTO_DOCS_REF_URL;#var-RPROVIDES>`__, | 4425 | :term:`RPROVIDES`, |
4426 | ```RRECOMMENDS`` <&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS>`__, | 4426 | :term:`RRECOMMENDS`, |
4427 | ```PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES>`__, and | 4427 | :term:`PACKAGES`, and |
4428 | ```PACKAGES_DYNAMIC`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES_DYNAMIC>`__ are | 4428 | :term:`PACKAGES_DYNAMIC` are |
4429 | automatically extended by the system. If you are extending any manual | 4429 | automatically extended by the system. If you are extending any manual |
4430 | code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure | 4430 | code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure |
4431 | those names are extended correctly. This automatic extension code | 4431 | those names are extended correctly. This automatic extension code |
@@ -4462,12 +4462,12 @@ that exist regardless of the package management system: | |||
4462 | 4462 | ||
4463 | - The typical convention used for the class extension code as used by | 4463 | - The typical convention used for the class extension code as used by |
4464 | Multilib assumes that all package names specified in | 4464 | Multilib assumes that all package names specified in |
4465 | ```PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES>`__ that contain | 4465 | :term:`PACKAGES` that contain |
4466 | ``${PN}`` have ``${PN}`` at the start of the name. When that | 4466 | ``${PN}`` have ``${PN}`` at the start of the name. When that |
4467 | convention is not followed and ``${PN}`` appears at the middle or the | 4467 | convention is not followed and ``${PN}`` appears at the middle or the |
4468 | end of a name, problems occur. | 4468 | end of a name, problems occur. |
4469 | 4469 | ||
4470 | - The ```TARGET_VENDOR`` <&YOCTO_DOCS_REF_URL;#var-TARGET_VENDOR>`__ | 4470 | - The :term:`TARGET_VENDOR` |
4471 | value under Multilib will be extended to "-vendormlmultilib" (e.g. | 4471 | value under Multilib will be extended to "-vendormlmultilib" (e.g. |
4472 | "-pokymllib32" for a "lib32" Multilib with Poky). The reason for this | 4472 | "-pokymllib32" for a "lib32" Multilib with Poky). The reason for this |
4473 | slightly unwieldy contraction is that any "-" characters in the | 4473 | slightly unwieldy contraction is that any "-" characters in the |
@@ -4479,7 +4479,7 @@ details exist: | |||
4479 | 4479 | ||
4480 | - A unique architecture is defined for the Multilib packages, along | 4480 | - A unique architecture is defined for the Multilib packages, along |
4481 | with creating a unique deploy folder under ``tmp/deploy/rpm`` in the | 4481 | with creating a unique deploy folder under ``tmp/deploy/rpm`` in the |
4482 | `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. For | 4482 | :term:`Build Directory`. For |
4483 | example, consider ``lib32`` in a ``qemux86-64`` image. The possible | 4483 | example, consider ``lib32`` in a ``qemux86-64`` image. The possible |
4484 | architectures in the system are "all", "qemux86_64", | 4484 | architectures in the system are "all", "qemux86_64", |
4485 | "lib32_qemux86_64", and "lib32_x86". | 4485 | "lib32_qemux86_64", and "lib32_x86". |
@@ -4525,7 +4525,7 @@ versions of the same library in parallel on the same system. | |||
4525 | The process is straightforward as long as the libraries use proper | 4525 | The process is straightforward as long as the libraries use proper |
4526 | versioning. With properly versioned libraries, all you need to do to | 4526 | versioning. With properly versioned libraries, all you need to do to |
4527 | individually specify the libraries is create separate, appropriately | 4527 | individually specify the libraries is create separate, appropriately |
4528 | named recipes where the ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__ part of | 4528 | named recipes where the :term:`PN` part of |
4529 | the name includes a portion that differentiates each library version | 4529 | the name includes a portion that differentiates each library version |
4530 | (e.g.the major part of the version number). Thus, instead of having a | 4530 | (e.g.the major part of the version number). Thus, instead of having a |
4531 | single recipe that loads one version of a library (e.g. ``clutter``), | 4531 | single recipe that loads one version of a library (e.g. ``clutter``), |
@@ -4534,7 +4534,7 @@ libraries you want. As an example, the following two recipes would allow | |||
4534 | the two separate versions of the ``clutter`` library to co-exist on the | 4534 | the two separate versions of the ``clutter`` library to co-exist on the |
4535 | same system: clutter-1.6_1.6.20.bb clutter-1.8_1.8.4.bb Additionally, if | 4535 | same system: clutter-1.6_1.6.20.bb clutter-1.8_1.8.4.bb Additionally, if |
4536 | you have other recipes that depend on a given library, you need to use | 4536 | you have other recipes that depend on a given library, you need to use |
4537 | the ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ variable to | 4537 | the :term:`DEPENDS` variable to |
4538 | create the dependency. Continuing with the same example, if you want to | 4538 | create the dependency. Continuing with the same example, if you want to |
4539 | have a recipe depend on the 1.8 version of the ``clutter`` library, use | 4539 | have a recipe depend on the 1.8 version of the ``clutter`` library, use |
4540 | the following in your recipe: DEPENDS = "clutter-1.8" | 4540 | the following in your recipe: DEPENDS = "clutter-1.8" |
@@ -4625,15 +4625,15 @@ Enabling the generation of introspection data (GIR files) in your | |||
4625 | library package involves the following: | 4625 | library package involves the following: |
4626 | 4626 | ||
4627 | 1. Inherit the | 4627 | 1. Inherit the |
4628 | ```gobject-introspection`` <&YOCTO_DOCS_REF_URL;#ref-classes-gobject-introspection>`__ | 4628 | :ref:`gobject-introspection <ref-classes-gobject-introspection>` |
4629 | class. | 4629 | class. |
4630 | 4630 | ||
4631 | 2. Make sure introspection is not disabled anywhere in the recipe or | 4631 | 2. Make sure introspection is not disabled anywhere in the recipe or |
4632 | from anything the recipe includes. Also, make sure that | 4632 | from anything the recipe includes. Also, make sure that |
4633 | "gobject-introspection-data" is not in | 4633 | "gobject-introspection-data" is not in |
4634 | ```DISTRO_FEATURES_BACKFILL_CONSIDERED`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES_BACKFILL_CONSIDERED>`__ | 4634 | :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` |
4635 | and that "qemu-usermode" is not in | 4635 | and that "qemu-usermode" is not in |
4636 | ```MACHINE_FEATURES_BACKFILL_CONSIDERED`` <&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES_BACKFILL_CONSIDERED>`__. | 4636 | :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. |
4637 | If either of these conditions exist, nothing will happen. | 4637 | If either of these conditions exist, nothing will happen. |
4638 | 4638 | ||
4639 | 3. Try to build the recipe. If you encounter build errors that look like | 4639 | 3. Try to build the recipe. If you encounter build errors that look like |
@@ -4699,9 +4699,9 @@ Use the following procedure to test if generating introspection data is | |||
4699 | working in an image: | 4699 | working in an image: |
4700 | 4700 | ||
4701 | 1. Make sure that "gobject-introspection-data" is not in | 4701 | 1. Make sure that "gobject-introspection-data" is not in |
4702 | ```DISTRO_FEATURES_BACKFILL_CONSIDERED`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES_BACKFILL_CONSIDERED>`__ | 4702 | :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` |
4703 | and that "qemu-usermode" is not in | 4703 | and that "qemu-usermode" is not in |
4704 | ```MACHINE_FEATURES_BACKFILL_CONSIDERED`` <&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES_BACKFILL_CONSIDERED>`__. | 4704 | :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. |
4705 | 4705 | ||
4706 | 2. Build ``core-image-sato``. | 4706 | 2. Build ``core-image-sato``. |
4707 | 4707 | ||
@@ -4750,7 +4750,7 @@ follows: | |||
4750 | 4750 | ||
4751 | - Make sure you add the layer that contains the toolchain to your | 4751 | - Make sure you add the layer that contains the toolchain to your |
4752 | ``bblayers.conf`` file through the | 4752 | ``bblayers.conf`` file through the |
4753 | ```BBLAYERS`` <&YOCTO_DOCS_REF_URL;#var-BBLAYERS>`__ variable. | 4753 | :term:`BBLAYERS` variable. |
4754 | 4754 | ||
4755 | - Set the ``EXTERNAL_TOOLCHAIN`` variable in your ``local.conf`` file | 4755 | - Set the ``EXTERNAL_TOOLCHAIN`` variable in your ``local.conf`` file |
4756 | to the location in which you installed the toolchain. | 4756 | to the location in which you installed the toolchain. |
@@ -4760,7 +4760,7 @@ Mentor Graphics Sourcery G++ Toolchain. You can see information on how | |||
4760 | to use that particular layer in the ``README`` file at | 4760 | to use that particular layer in the ``README`` file at |
4761 | ` <http://github.com/MentorEmbedded/meta-sourcery/>`__. You can find | 4761 | ` <http://github.com/MentorEmbedded/meta-sourcery/>`__. You can find |
4762 | further information by reading about the | 4762 | further information by reading about the |
4763 | ```TCMODE`` <&YOCTO_DOCS_REF_URL;#var-TCMODE>`__ variable in the Yocto | 4763 | :term:`TCMODE` variable in the Yocto |
4764 | Project Reference Manual's variable glossary. | 4764 | Project Reference Manual's variable glossary. |
4765 | 4765 | ||
4766 | Creating Partitioned Images Using Wic | 4766 | Creating Partitioned Images Using Wic |
@@ -4827,7 +4827,7 @@ this information is required to use Wic, you might find it interesting. | |||
4827 | - Wic is a completely independent standalone utility that initially | 4827 | - Wic is a completely independent standalone utility that initially |
4828 | provides easier-to-use and more flexible replacements for an existing | 4828 | provides easier-to-use and more flexible replacements for an existing |
4829 | functionality in OE-Core's | 4829 | functionality in OE-Core's |
4830 | ```image-live`` <&YOCTO_DOCS_REF_URL;#ref-classes-image-live>`__ | 4830 | :ref:`image-live <ref-classes-image-live>` |
4831 | class. The difference between Wic and those examples is that with Wic | 4831 | class. The difference between Wic and those examples is that with Wic |
4832 | the functionality of those scripts is implemented by a | 4832 | the functionality of those scripts is implemented by a |
4833 | general-purpose partitioning language, which is based on Redhat | 4833 | general-purpose partitioning language, which is based on Redhat |
@@ -4852,7 +4852,7 @@ system needs to meet the following requirements: | |||
4852 | 4852 | ||
4853 | - You must have sourced the build environment setup script (i.e. | 4853 | - You must have sourced the build environment setup script (i.e. |
4854 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__) found in the | 4854 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__) found in the |
4855 | `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 4855 | :term:`Build Directory`. |
4856 | 4856 | ||
4857 | - You need to have the build artifacts already available, which | 4857 | - You need to have the build artifacts already available, which |
4858 | typically means that you must have already created an image using the | 4858 | typically means that you must have already created an image using the |
@@ -4865,12 +4865,12 @@ system needs to meet the following requirements: | |||
4865 | build system: $ bitbake parted-native dosfstools-native mtools-native | 4865 | build system: $ bitbake parted-native dosfstools-native mtools-native |
4866 | 4866 | ||
4867 | - Include "wic" as part of the | 4867 | - Include "wic" as part of the |
4868 | ```IMAGE_FSTYPES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FSTYPES>`__ | 4868 | :term:`IMAGE_FSTYPES` |
4869 | variable. | 4869 | variable. |
4870 | 4870 | ||
4871 | - Include the name of the `wic kickstart | 4871 | - Include the name of the `wic kickstart |
4872 | file <&YOCTO_DOCS_REF_URL;#openembedded-kickstart-wks-reference>`__ | 4872 | file <&YOCTO_DOCS_REF_URL;#openembedded-kickstart-wks-reference>`__ |
4873 | as part of the ```WKS_FILE`` <&YOCTO_DOCS_REF_URL;#var-WKS_FILE>`__ | 4873 | as part of the :term:`WKS_FILE` |
4874 | variable | 4874 | variable |
4875 | 4875 | ||
4876 | .. _wic-getting-help: | 4876 | .. _wic-getting-help: |
@@ -4923,7 +4923,7 @@ for creating the image: Raw and Cooked: | |||
4923 | command-line arguments. | 4923 | command-line arguments. |
4924 | 4924 | ||
4925 | - *Cooked Mode:* The current | 4925 | - *Cooked Mode:* The current |
4926 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ setting and image | 4926 | :term:`MACHINE` setting and image |
4927 | name are used to automatically locate and provide the build | 4927 | name are used to automatically locate and provide the build |
4928 | artifacts. You just supply a kickstart file and the name of the image | 4928 | artifacts. You just supply a kickstart file and the name of the image |
4929 | from which to use artifacts. | 4929 | from which to use artifacts. |
@@ -5172,7 +5172,7 @@ INFO: The image(s) were created using OE kickstart file: | |||
5172 | The previous example shows the easiest way to create an image by running | 5172 | The previous example shows the easiest way to create an image by running |
5173 | in cooked mode and supplying a kickstart file and the "-e" option to | 5173 | in cooked mode and supplying a kickstart file and the "-e" option to |
5174 | point to the existing build artifacts. Your ``local.conf`` file needs to | 5174 | point to the existing build artifacts. Your ``local.conf`` file needs to |
5175 | have the ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ variable set | 5175 | have the :term:`MACHINE` variable set |
5176 | to the machine you are using, which is "qemux86" in this example. | 5176 | to the machine you are using, which is "qemux86" in this example. |
5177 | 5177 | ||
5178 | Once the image builds, the output provides image location, artifact use, | 5178 | Once the image builds, the output provides image location, artifact use, |
@@ -5234,7 +5234,7 @@ untouched: part /boot --source bootimg-pcbios --ondisk sdb --label boot | |||
5234 | --label platform --align 1024 --use-uuid Once the lines are changed, the | 5234 | --label platform --align 1024 --use-uuid Once the lines are changed, the |
5235 | example generates the ``directdisksdb-gpt`` image. The command points | 5235 | example generates the ``directdisksdb-gpt`` image. The command points |
5236 | the process at the ``core-image-minimal`` artifacts for the Next Unit of | 5236 | the process at the ``core-image-minimal`` artifacts for the Next Unit of |
5237 | Computing (nuc) ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ the | 5237 | Computing (nuc) :term:`MACHINE` the |
5238 | ``local.conf``. $ wic create directdisksdb-gpt -e core-image-minimal | 5238 | ``local.conf``. $ wic create directdisksdb-gpt -e core-image-minimal |
5239 | INFO: Building wic-tools... . . . Initialising tasks: 100% | 5239 | INFO: Building wic-tools... . . . Initialising tasks: 100% |
5240 | \|#######################################\| Time: 0:00:01 NOTE: | 5240 | \|#######################################\| Time: 0:00:01 NOTE: |
@@ -5287,7 +5287,7 @@ NATIVE_SYSROOT: | |||
5287 | /home/stephano/build/master/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native | 5287 | /home/stephano/build/master/build/tmp-glibc/work/i586-oe-linux/wic-tools/1.0-r0/recipe-sysroot-native |
5288 | INFO: The image(s) were created using OE kickstart file: | 5288 | INFO: The image(s) were created using OE kickstart file: |
5289 | /home/stephano/my_yocto/test.wks For this example, | 5289 | /home/stephano/my_yocto/test.wks For this example, |
5290 | ```MACHINE`` <&YOCTO_DOCS_REF_URL;#var-MACHINE>`__ did not have to be | 5290 | :term:`MACHINE` did not have to be |
5291 | specified in the ``local.conf`` file since the artifact is manually | 5291 | specified in the ``local.conf`` file since the artifact is manually |
5292 | specified. | 5292 | specified. |
5293 | 5293 | ||
@@ -5419,7 +5419,7 @@ any type of image. Use these steps to flash an image using Bmaptool: | |||
5419 | += "wic wic.bmap" | 5419 | += "wic wic.bmap" |
5420 | 5420 | ||
5421 | 2. *Get Your Image:* Either have your image ready (pre-built with the | 5421 | 2. *Get Your Image:* Either have your image ready (pre-built with the |
5422 | ```IMAGE_FSTYPES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FSTYPES>`__ | 5422 | :term:`IMAGE_FSTYPES` |
5423 | setting previously mentioned) or take the step to build the image: $ | 5423 | setting previously mentioned) or take the step to build the image: $ |
5424 | bitbake image | 5424 | bitbake image |
5425 | 5425 | ||
@@ -5540,10 +5540,10 @@ You can take some steps that are specific to the OpenEmbedded build | |||
5540 | system to make your images more secure: | 5540 | system to make your images more secure: |
5541 | 5541 | ||
5542 | - Ensure "debug-tweaks" is not one of your selected | 5542 | - Ensure "debug-tweaks" is not one of your selected |
5543 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__. | 5543 | :term:`IMAGE_FEATURES`. |
5544 | When creating a new project, the default is to provide you with an | 5544 | When creating a new project, the default is to provide you with an |
5545 | initial ``local.conf`` file that enables this feature using the | 5545 | initial ``local.conf`` file that enables this feature using the |
5546 | ```EXTRA_IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES>`__ | 5546 | :term:`EXTRA_IMAGE_FEATURES` |
5547 | variable with the line: EXTRA_IMAGE_FEATURES = "debug-tweaks" To | 5547 | variable with the line: EXTRA_IMAGE_FEATURES = "debug-tweaks" To |
5548 | disable that feature, simply comment out that line in your | 5548 | disable that feature, simply comment out that line in your |
5549 | ``local.conf`` file, or make sure ``IMAGE_FEATURES`` does not contain | 5549 | ``local.conf`` file, or make sure ``IMAGE_FEATURES`` does not contain |
@@ -5558,7 +5558,7 @@ system to make your images more secure: | |||
5558 | users, you should not duplicate passwords. | 5558 | users, you should not duplicate passwords. |
5559 | 5559 | ||
5560 | To set up passwords, use the | 5560 | To set up passwords, use the |
5561 | ```extrausers`` <&YOCTO_DOCS_REF_URL;#ref-classes-extrausers>`__ | 5561 | :ref:`extrausers <ref-classes-extrausers>` |
5562 | class, which is the preferred method. For an example on how to set up | 5562 | class, which is the preferred method. For an example on how to set up |
5563 | both root and user passwords, see the | 5563 | both root and user passwords, see the |
5564 | "```extrausers.bbclass`` <&YOCTO_DOCS_REF_URL;#ref-classes-extrausers>`__" | 5564 | "```extrausers.bbclass`` <&YOCTO_DOCS_REF_URL;#ref-classes-extrausers>`__" |
@@ -5591,7 +5591,7 @@ Creating Your Own Distribution | |||
5591 | ============================== | 5591 | ============================== |
5592 | 5592 | ||
5593 | When you build an image using the Yocto Project and do not alter any | 5593 | When you build an image using the Yocto Project and do not alter any |
5594 | distribution `Metadata <&YOCTO_DOCS_REF_URL;#metadata>`__, you are | 5594 | distribution :term:`Metadata`, you are |
5595 | creating a Poky distribution. If you wish to gain more control over | 5595 | creating a Poky distribution. If you wish to gain more control over |
5596 | package alternative selections, compile-time options, and other | 5596 | package alternative selections, compile-time options, and other |
5597 | low-level configurations, you can create your own distribution. | 5597 | low-level configurations, you can create your own distribution. |
@@ -5633,14 +5633,14 @@ layer. The following steps provide some more detail: | |||
5633 | desired version and revisions for individual recipes. | 5633 | desired version and revisions for individual recipes. |
5634 | 5634 | ||
5635 | Your configuration file needs to set the following required | 5635 | Your configuration file needs to set the following required |
5636 | variables: ```DISTRO_NAME`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_NAME>`__ | 5636 | variables: :term:`DISTRO_NAME` |
5637 | ```DISTRO_VERSION`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_VERSION>`__ | 5637 | :term:`DISTRO_VERSION` |
5638 | These following variables are optional and you typically set them | 5638 | These following variables are optional and you typically set them |
5639 | from the distribution configuration file: | 5639 | from the distribution configuration file: |
5640 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__ | 5640 | :term:`DISTRO_FEATURES` |
5641 | ```DISTRO_EXTRA_RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_EXTRA_RDEPENDS>`__ | 5641 | :term:`DISTRO_EXTRA_RDEPENDS` |
5642 | ```DISTRO_EXTRA_RRECOMMENDS`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_EXTRA_RRECOMMENDS>`__ | 5642 | :term:`DISTRO_EXTRA_RRECOMMENDS` |
5643 | ```TCLIBC`` <&YOCTO_DOCS_REF_URL;#var-TCLIBC>`__ | 5643 | :term:`TCLIBC` |
5644 | 5644 | ||
5645 | .. tip:: | 5645 | .. tip:: |
5646 | 5646 | ||
@@ -5665,7 +5665,7 @@ layer. The following steps provide some more detail: | |||
5665 | - *Point to Your distribution configuration file:* In your | 5665 | - *Point to Your distribution configuration file:* In your |
5666 | ``local.conf`` file in the `Build | 5666 | ``local.conf`` file in the `Build |
5667 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, set your | 5667 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, set your |
5668 | ```DISTRO`` <&YOCTO_DOCS_REF_URL;#var-DISTRO>`__ variable to point to | 5668 | :term:`DISTRO` variable to point to |
5669 | your distribution's configuration file. For example, if your | 5669 | your distribution's configuration file. For example, if your |
5670 | distribution's configuration file is named ``mydistro.conf``, then | 5670 | distribution's configuration file is named ``mydistro.conf``, then |
5671 | you point to it as follows: DISTRO = "mydistro" | 5671 | you point to it as follows: DISTRO = "mydistro" |
@@ -5719,7 +5719,7 @@ To override these default configuration files with configurations you | |||
5719 | want used within every new Build Directory, simply set the | 5719 | want used within every new Build Directory, simply set the |
5720 | ``TEMPLATECONF`` variable to your directory. The ``TEMPLATECONF`` | 5720 | ``TEMPLATECONF`` variable to your directory. The ``TEMPLATECONF`` |
5721 | variable is set in the ``.templateconf`` file, which is in the top-level | 5721 | variable is set in the ``.templateconf`` file, which is in the top-level |
5722 | `Source Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ folder | 5722 | :term:`Source Directory` folder |
5723 | (e.g. ``poky``). Edit the ``.templateconf`` so that it can locate your | 5723 | (e.g. ``poky``). Edit the ``.templateconf`` so that it can locate your |
5724 | directory. | 5724 | directory. |
5725 | 5725 | ||
@@ -5758,7 +5758,7 @@ Conserving Disk Space During Builds | |||
5758 | 5758 | ||
5759 | To help conserve disk space during builds, you can add the following | 5759 | To help conserve disk space during builds, you can add the following |
5760 | statement to your project's ``local.conf`` configuration file found in | 5760 | statement to your project's ``local.conf`` configuration file found in |
5761 | the `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT | 5761 | the :term:`Build Directory`: INHERIT |
5762 | += "rm_work" Adding this statement deletes the work directory used for | 5762 | += "rm_work" Adding this statement deletes the work directory used for |
5763 | building a recipe once the recipe is built. For more information on | 5763 | building a recipe once the recipe is built. For more information on |
5764 | "rm_work", see the | 5764 | "rm_work", see the |
@@ -5810,15 +5810,15 @@ or attach them to a specific image recipe by using a recipe name | |||
5810 | override. For more detail on the variables, see the descriptions in the | 5810 | override. For more detail on the variables, see the descriptions in the |
5811 | Yocto Project Reference Manual's glossary chapter. | 5811 | Yocto Project Reference Manual's glossary chapter. |
5812 | 5812 | ||
5813 | - ```BAD_RECOMMENDATIONS`` <&YOCTO_DOCS_REF_URL;#var-BAD_RECOMMENDATIONS>`__: | 5813 | - :term:`BAD_RECOMMENDATIONS`: |
5814 | Use this variable to specify "recommended-only" packages that you do | 5814 | Use this variable to specify "recommended-only" packages that you do |
5815 | not want installed. | 5815 | not want installed. |
5816 | 5816 | ||
5817 | - ```NO_RECOMMENDATIONS`` <&YOCTO_DOCS_REF_URL;#var-NO_RECOMMENDATIONS>`__: | 5817 | - :term:`NO_RECOMMENDATIONS`: |
5818 | Use this variable to prevent all "recommended-only" packages from | 5818 | Use this variable to prevent all "recommended-only" packages from |
5819 | being installed. | 5819 | being installed. |
5820 | 5820 | ||
5821 | - ```PACKAGE_EXCLUDE`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_EXCLUDE>`__: | 5821 | - :term:`PACKAGE_EXCLUDE`: |
5822 | Use this variable to prevent specific packages from being installed | 5822 | Use this variable to prevent specific packages from being installed |
5823 | regardless of whether they are "recommended-only" or not. You need to | 5823 | regardless of whether they are "recommended-only" or not. You need to |
5824 | realize that the build process could fail with an error when you | 5824 | realize that the build process could fail with an error when you |
@@ -5852,8 +5852,8 @@ the following: | |||
5852 | . | 5852 | . |
5853 | 5853 | ||
5854 | The version and revision are taken from the | 5854 | The version and revision are taken from the |
5855 | ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ and | 5855 | :term:`PV` and |
5856 | ```PR`` <&YOCTO_DOCS_REF_URL;#var-PR>`__ variables, respectively. | 5856 | :term:`PR` variables, respectively. |
5857 | 5857 | ||
5858 | - ``PV``: The recipe version. ``PV`` represents the version of the | 5858 | - ``PV``: The recipe version. ``PV`` represents the version of the |
5859 | software being packaged. Do not confuse ``PV`` with the binary | 5859 | software being packaged. Do not confuse ``PV`` with the binary |
@@ -5861,7 +5861,7 @@ the following: | |||
5861 | 5861 | ||
5862 | - ``PR``: The recipe revision. | 5862 | - ``PR``: The recipe revision. |
5863 | 5863 | ||
5864 | - ```SRCPV`` <&YOCTO_DOCS_REF_URL;#var-SRCPV>`__: The OpenEmbedded | 5864 | - :term:`SRCPV`: The OpenEmbedded |
5865 | build system uses this string to help define the value of ``PV`` when | 5865 | build system uses this string to help define the value of ``PV`` when |
5866 | the source code revision needs to be included in it. | 5866 | the source code revision needs to be included in it. |
5867 | 5867 | ||
@@ -5899,7 +5899,7 @@ Working With a PR Service | |||
5899 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 5899 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
5900 | 5900 | ||
5901 | As mentioned, attempting to maintain revision numbers in the | 5901 | As mentioned, attempting to maintain revision numbers in the |
5902 | `Metadata <&YOCTO_DOCS_REF_URL;#metadata>`__ is error prone, inaccurate, | 5902 | :term:`Metadata` is error prone, inaccurate, |
5903 | and causes problems for people submitting recipes. Conversely, the PR | 5903 | and causes problems for people submitting recipes. Conversely, the PR |
5904 | Service automatically generates increasing numbers, particularly the | 5904 | Service automatically generates increasing numbers, particularly the |
5905 | revision field, which removes the human element. | 5905 | revision field, which removes the human element. |
@@ -5912,9 +5912,9 @@ revision field, which removes the human element. | |||
5912 | 5912 | ||
5913 | The Yocto Project uses variables in order of decreasing priority to | 5913 | The Yocto Project uses variables in order of decreasing priority to |
5914 | facilitate revision numbering (i.e. | 5914 | facilitate revision numbering (i.e. |
5915 | ```PE`` <&YOCTO_DOCS_REF_URL;#var-PE>`__, | 5915 | :term:`PE`, |
5916 | ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__, and | 5916 | :term:`PV`, and |
5917 | ```PR`` <&YOCTO_DOCS_REF_URL;#var-PR>`__ for epoch, version, and | 5917 | :term:`PR` for epoch, version, and |
5918 | revision, respectively). The values are highly dependent on the policies | 5918 | revision, respectively). The values are highly dependent on the policies |
5919 | and procedures of a given distribution and package feed. | 5919 | and procedures of a given distribution and package feed. |
5920 | 5920 | ||
@@ -5946,7 +5946,7 @@ be consistent and correct with the latest changes. | |||
5946 | The simplest form for a PR Service is for it to exist for a single host | 5946 | The simplest form for a PR Service is for it to exist for a single host |
5947 | development system that builds the package feed (building system). For | 5947 | development system that builds the package feed (building system). For |
5948 | this scenario, you can enable a local PR Service by setting | 5948 | this scenario, you can enable a local PR Service by setting |
5949 | ```PRSERV_HOST`` <&YOCTO_DOCS_REF_URL;#var-PRSERV_HOST>`__ in your | 5949 | :term:`PRSERV_HOST` in your |
5950 | ``local.conf`` file in the `Build | 5950 | ``local.conf`` file in the `Build |
5951 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: PRSERV_HOST = | 5951 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: PRSERV_HOST = |
5952 | "localhost:0" Once the service is started, packages will automatically | 5952 | "localhost:0" Once the service is started, packages will automatically |
@@ -5988,7 +5988,7 @@ Manually Bumping PR | |||
5988 | ~~~~~~~~~~~~~~~~~~~ | 5988 | ~~~~~~~~~~~~~~~~~~~ |
5989 | 5989 | ||
5990 | The alternative to setting up a PR Service is to manually "bump" the | 5990 | The alternative to setting up a PR Service is to manually "bump" the |
5991 | ```PR`` <&YOCTO_DOCS_REF_URL;#var-PR>`__ variable. | 5991 | :term:`PR` variable. |
5992 | 5992 | ||
5993 | If a committed change results in changing the package output, then the | 5993 | If a committed change results in changing the package output, then the |
5994 | value of the PR variable needs to be increased (or "bumped") as part of | 5994 | value of the PR variable needs to be increased (or "bumped") as part of |
@@ -6027,10 +6027,10 @@ Automatically Incrementing a Package Version Number | |||
6027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 6027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
6028 | 6028 | ||
6029 | When fetching a repository, BitBake uses the | 6029 | When fetching a repository, BitBake uses the |
6030 | ```SRCREV`` <&YOCTO_DOCS_REF_URL;#var-SRCREV>`__ variable to determine | 6030 | :term:`SRCREV` variable to determine |
6031 | the specific source code revision from which to build. You set the | 6031 | the specific source code revision from which to build. You set the |
6032 | ``SRCREV`` variable to | 6032 | ``SRCREV`` variable to |
6033 | ```AUTOREV`` <&YOCTO_DOCS_REF_URL;#var-AUTOREV>`__ to cause the | 6033 | :term:`AUTOREV` to cause the |
6034 | OpenEmbedded build system to automatically use the latest revision of | 6034 | OpenEmbedded build system to automatically use the latest revision of |
6035 | the software: SRCREV = "${AUTOREV}" | 6035 | the software: SRCREV = "${AUTOREV}" |
6036 | 6036 | ||
@@ -6043,7 +6043,7 @@ with a number. The number used depends on the state of the PR Service: | |||
6043 | 6043 | ||
6044 | - If PR Service is enabled, the build system increments the number, | 6044 | - If PR Service is enabled, the build system increments the number, |
6045 | which is similar to the behavior of | 6045 | which is similar to the behavior of |
6046 | ```PR`` <&YOCTO_DOCS_REF_URL;#var-PR>`__. This behavior results in | 6046 | :term:`PR`. This behavior results in |
6047 | linearly increasing package versions, which is desirable. Here is an | 6047 | linearly increasing package versions, which is desirable. Here is an |
6048 | example: hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk | 6048 | example: hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk |
6049 | hello-world-git_0.0+git1+dd2f5c3565-r0.0_armv7a-neon.ipk | 6049 | hello-world-git_0.0+git1+dd2f5c3565-r0.0_armv7a-neon.ipk |
@@ -6087,7 +6087,7 @@ To ensure the module packaging actually gets done, you use the | |||
6087 | function in your recipe. The ``do_split_packages`` function searches for | 6087 | function in your recipe. The ``do_split_packages`` function searches for |
6088 | a pattern of files or directories under a specified path and creates a | 6088 | a pattern of files or directories under a specified path and creates a |
6089 | package for each one it finds by appending to the | 6089 | package for each one it finds by appending to the |
6090 | ```PACKAGES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES>`__ variable and | 6090 | :term:`PACKAGES` variable and |
6091 | setting the appropriate values for ``FILES_packagename``, | 6091 | setting the appropriate values for ``FILES_packagename``, |
6092 | ``RDEPENDS_packagename``, ``DESCRIPTION_packagename``, and so forth. | 6092 | ``RDEPENDS_packagename``, ``DESCRIPTION_packagename``, and so forth. |
6093 | Here is an example from the ``lighttpd`` recipe: python | 6093 | Here is an example from the ``lighttpd`` recipe: python |
@@ -6112,7 +6112,7 @@ previous example specifies a number of things in the call to | |||
6112 | dependency on the main ``lighttpd`` package. Thus, if a file in | 6112 | dependency on the main ``lighttpd`` package. Thus, if a file in |
6113 | ``${libdir}`` called ``mod_alias.so`` is found, a package called | 6113 | ``${libdir}`` called ``mod_alias.so`` is found, a package called |
6114 | ``lighttpd-module-alias`` is created for it and the | 6114 | ``lighttpd-module-alias`` is created for it and the |
6115 | ```DESCRIPTION`` <&YOCTO_DOCS_REF_URL;#var-DESCRIPTION>`__ is set to | 6115 | :term:`DESCRIPTION` is set to |
6116 | "Lighttpd module for alias". | 6116 | "Lighttpd module for alias". |
6117 | 6117 | ||
6118 | Often, packaging modules is as simple as the previous example. However, | 6118 | Often, packaging modules is as simple as the previous example. However, |
@@ -6165,13 +6165,13 @@ Satisfying Dependencies | |||
6165 | The second part for handling optional module packaging is to ensure that | 6165 | The second part for handling optional module packaging is to ensure that |
6166 | any dependencies on optional modules from other recipes are satisfied by | 6166 | any dependencies on optional modules from other recipes are satisfied by |
6167 | your recipe. You can be sure these dependencies are satisfied by using | 6167 | your recipe. You can be sure these dependencies are satisfied by using |
6168 | the ```PACKAGES_DYNAMIC`` <&YOCTO_DOCS_REF_URL;#var-PACKAGES_DYNAMIC>`__ | 6168 | the :term:`PACKAGES_DYNAMIC` |
6169 | variable. Here is an example that continues with the ``lighttpd`` recipe | 6169 | variable. Here is an example that continues with the ``lighttpd`` recipe |
6170 | shown earlier: PACKAGES_DYNAMIC = "lighttpd-module-.*" The name | 6170 | shown earlier: PACKAGES_DYNAMIC = "lighttpd-module-.*" The name |
6171 | specified in the regular expression can of course be anything. In this | 6171 | specified in the regular expression can of course be anything. In this |
6172 | example, it is ``lighttpd-module-`` and is specified as the prefix to | 6172 | example, it is ``lighttpd-module-`` and is specified as the prefix to |
6173 | ensure that any ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__ and | 6173 | ensure that any :term:`RDEPENDS` and |
6174 | ```RRECOMMENDS`` <&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS>`__ on a package | 6174 | :term:`RRECOMMENDS` on a package |
6175 | name starting with the prefix are satisfied during build time. If you | 6175 | name starting with the prefix are satisfied during build time. If you |
6176 | are using ``do_split_packages`` as described in the previous section, | 6176 | are using ``do_split_packages`` as described in the previous section, |
6177 | the value you put in ``PACKAGES_DYNAMIC`` should correspond to the name | 6177 | the value you put in ``PACKAGES_DYNAMIC`` should correspond to the name |
@@ -6250,7 +6250,7 @@ aware in order to provide support for runtime package management. | |||
6250 | 6250 | ||
6251 | When BitBake generates packages, it needs to know what format or formats | 6251 | When BitBake generates packages, it needs to know what format or formats |
6252 | to use. In your configuration, you use the | 6252 | to use. In your configuration, you use the |
6253 | ```PACKAGE_CLASSES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES>`__ | 6253 | :term:`PACKAGE_CLASSES` |
6254 | variable to specify the format: | 6254 | variable to specify the format: |
6255 | 6255 | ||
6256 | 1. Open the ``local.conf`` file inside your `Build | 6256 | 1. Open the ``local.conf`` file inside your `Build |
@@ -6272,7 +6272,7 @@ If you would like your image to start off with a basic package database | |||
6272 | containing the packages in your current build as well as to have the | 6272 | containing the packages in your current build as well as to have the |
6273 | relevant tools available on the target for runtime package management, | 6273 | relevant tools available on the target for runtime package management, |
6274 | you can include "package-management" in the | 6274 | you can include "package-management" in the |
6275 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__ | 6275 | :term:`IMAGE_FEATURES` |
6276 | variable. Including "package-management" in this configuration variable | 6276 | variable. Including "package-management" in this configuration variable |
6277 | ensures that when the image is assembled for your target, the image | 6277 | ensures that when the image is assembled for your target, the image |
6278 | includes the currently-known package databases as well as the | 6278 | includes the currently-known package databases as well as the |
@@ -6281,7 +6281,7 @@ performed on the target. However, this is not strictly necessary. You | |||
6281 | could start your image off without any databases but only include the | 6281 | could start your image off without any databases but only include the |
6282 | required on-target package tool(s). As an example, you could include | 6282 | required on-target package tool(s). As an example, you could include |
6283 | "opkg" in your | 6283 | "opkg" in your |
6284 | ```IMAGE_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL>`__ variable | 6284 | :term:`IMAGE_INSTALL` variable |
6285 | if you are using the IPK package format. You can then initialize your | 6285 | if you are using the IPK package format. You can then initialize your |
6286 | target's package database(s) later once your image is up and running. | 6286 | target's package database(s) later once your image is up and running. |
6287 | 6287 | ||
@@ -6298,10 +6298,10 @@ Thus, be sure to run the package update step separately after building | |||
6298 | any packages. | 6298 | any packages. |
6299 | 6299 | ||
6300 | You can use the | 6300 | You can use the |
6301 | ```PACKAGE_FEED_ARCHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_ARCHS>`__, | 6301 | :term:`PACKAGE_FEED_ARCHS`, |
6302 | ```PACKAGE_FEED_BASE_PATHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_BASE_PATHS>`__, | 6302 | :term:`PACKAGE_FEED_BASE_PATHS`, |
6303 | and | 6303 | and |
6304 | ```PACKAGE_FEED_URIS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_URIS>`__ | 6304 | :term:`PACKAGE_FEED_URIS` |
6305 | variables to pre-configure target images to use a package feed. If you | 6305 | variables to pre-configure target images to use a package feed. If you |
6306 | do not define these variables, then manual steps as described in the | 6306 | do not define these variables, then manual steps as described in the |
6307 | subsequent sections are necessary to configure the target. You should | 6307 | subsequent sections are necessary to configure the target. You should |
@@ -6310,7 +6310,7 @@ correctly configured image. | |||
6310 | 6310 | ||
6311 | When your build is complete, your packages reside in the | 6311 | When your build is complete, your packages reside in the |
6312 | ``${TMPDIR}/deploy/packageformat`` directory. For example, if | 6312 | ``${TMPDIR}/deploy/packageformat`` directory. For example, if |
6313 | ``${``\ ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__\ ``}`` is | 6313 | ``${``\ :term:`TMPDIR`\ ``}`` is |
6314 | ``tmp`` and your selected package type is RPM, then your RPM packages | 6314 | ``tmp`` and your selected package type is RPM, then your RPM packages |
6315 | are available in ``tmp/deploy/rpm``. | 6315 | are available in ``tmp/deploy/rpm``. |
6316 | 6316 | ||
@@ -6333,7 +6333,7 @@ Lighttpd, or Nginx), take the appropriate steps to do so. | |||
6333 | 6333 | ||
6334 | From within the build directory where you have built an image based on | 6334 | From within the build directory where you have built an image based on |
6335 | your packaging choice (i.e. the | 6335 | your packaging choice (i.e. the |
6336 | ```PACKAGE_CLASSES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES>`__ | 6336 | :term:`PACKAGE_CLASSES` |
6337 | setting), simply start the server. The following example assumes a build | 6337 | setting), simply start the server. The following example assumes a build |
6338 | directory of ``~/poky/build/tmp/deploy/rpm`` and a ``PACKAGE_CLASSES`` | 6338 | directory of ``~/poky/build/tmp/deploy/rpm`` and a ``PACKAGE_CLASSES`` |
6339 | setting of "package_rpm": $ cd ~/poky/build/tmp/deploy/rpm $ python -m | 6339 | setting of "package_rpm": $ cd ~/poky/build/tmp/deploy/rpm $ python -m |
@@ -6431,10 +6431,10 @@ Using IPK | |||
6431 | The ``opkg`` application performs runtime package management of IPK | 6431 | The ``opkg`` application performs runtime package management of IPK |
6432 | packages. You must perform an initial setup for ``opkg`` on the target | 6432 | packages. You must perform an initial setup for ``opkg`` on the target |
6433 | machine if the | 6433 | machine if the |
6434 | ```PACKAGE_FEED_ARCHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_ARCHS>`__, | 6434 | :term:`PACKAGE_FEED_ARCHS`, |
6435 | ```PACKAGE_FEED_BASE_PATHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_BASE_PATHS>`__, | 6435 | :term:`PACKAGE_FEED_BASE_PATHS`, |
6436 | and | 6436 | and |
6437 | ```PACKAGE_FEED_URIS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_URIS>`__ | 6437 | :term:`PACKAGE_FEED_URIS` |
6438 | variables have not been set or the target image was built before the | 6438 | variables have not been set or the target image was built before the |
6439 | variables were set. | 6439 | variables were set. |
6440 | 6440 | ||
@@ -6463,10 +6463,10 @@ The ``apt`` application performs runtime package management of DEB | |||
6463 | packages. This application uses a source list file to find available | 6463 | packages. This application uses a source list file to find available |
6464 | package databases. You must perform an initial setup for ``apt`` on the | 6464 | package databases. You must perform an initial setup for ``apt`` on the |
6465 | target machine if the | 6465 | target machine if the |
6466 | ```PACKAGE_FEED_ARCHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_ARCHS>`__, | 6466 | :term:`PACKAGE_FEED_ARCHS`, |
6467 | ```PACKAGE_FEED_BASE_PATHS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_BASE_PATHS>`__, | 6467 | :term:`PACKAGE_FEED_BASE_PATHS`, |
6468 | and | 6468 | and |
6469 | ```PACKAGE_FEED_URIS`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_FEED_URIS>`__ | 6469 | :term:`PACKAGE_FEED_URIS` |
6470 | variables have not been set or the target image was built before the | 6470 | variables have not been set or the target image was built before the |
6471 | variables were set. | 6471 | variables were set. |
6472 | 6472 | ||
@@ -6580,8 +6580,8 @@ Adding ptest to Your Build | |||
6580 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | 6580 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
6581 | 6581 | ||
6582 | To add package testing to your build, add the | 6582 | To add package testing to your build, add the |
6583 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__ and | 6583 | :term:`DISTRO_FEATURES` and |
6584 | ```EXTRA_IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES>`__ | 6584 | :term:`EXTRA_IMAGE_FEATURES` |
6585 | variables to your ``local.conf`` file, which is found in the `Build | 6585 | variables to your ``local.conf`` file, which is found in the `Build |
6586 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: | 6586 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: |
6587 | DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" | 6587 | DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" |
@@ -6604,20 +6604,20 @@ you need to prepare the recipes that build the packages you want to | |||
6604 | test. Here is what you have to do for each recipe: | 6604 | test. Here is what you have to do for each recipe: |
6605 | 6605 | ||
6606 | - *Be sure the recipe inherits | 6606 | - *Be sure the recipe inherits |
6607 | the*\ ```ptest`` <&YOCTO_DOCS_REF_URL;#ref-classes-ptest>`__\ *class:* | 6607 | the*\ :ref:`ptest <ref-classes-ptest>`\ *class:* |
6608 | Include the following line in each recipe: inherit ptest | 6608 | Include the following line in each recipe: inherit ptest |
6609 | 6609 | ||
6610 | - *Create ``run-ptest``:* This script starts your test. Locate the | 6610 | - *Create ``run-ptest``:* This script starts your test. Locate the |
6611 | script where you will refer to it using | 6611 | script where you will refer to it using |
6612 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__. Here is an | 6612 | :term:`SRC_URI`. Here is an |
6613 | example that starts a test for ``dbus``: #!/bin/sh cd test make -k | 6613 | example that starts a test for ``dbus``: #!/bin/sh cd test make -k |
6614 | runtest-TESTS | 6614 | runtest-TESTS |
6615 | 6615 | ||
6616 | - *Ensure dependencies are met:* If the test adds build or runtime | 6616 | - *Ensure dependencies are met:* If the test adds build or runtime |
6617 | dependencies that normally do not exist for the package (such as | 6617 | dependencies that normally do not exist for the package (such as |
6618 | requiring "make" to run the test suite), use the | 6618 | requiring "make" to run the test suite), use the |
6619 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ and | 6619 | :term:`DEPENDS` and |
6620 | ```RDEPENDS`` <&YOCTO_DOCS_REF_URL;#var-RDEPENDS>`__ variables in | 6620 | :term:`RDEPENDS` variables in |
6621 | your recipe in order for the package to meet the dependencies. Here | 6621 | your recipe in order for the package to meet the dependencies. Here |
6622 | is an example where the package has a runtime dependency on "make": | 6622 | is an example where the package has a runtime dependency on "make": |
6623 | RDEPENDS_${PN}-ptest += "make" | 6623 | RDEPENDS_${PN}-ptest += "make" |
@@ -6732,9 +6732,9 @@ possible. The result is a generated recipe. | |||
6732 | 6732 | ||
6733 | The recipe file is fairly simple and contains every license that | 6733 | The recipe file is fairly simple and contains every license that |
6734 | ``recipetool`` finds and includes the licenses in the recipe's | 6734 | ``recipetool`` finds and includes the licenses in the recipe's |
6735 | ```LIC_FILES_CHKSUM`` <&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM>`__ | 6735 | :term:`LIC_FILES_CHKSUM` |
6736 | variables. You need to examine the variables and look for those with | 6736 | variables. You need to examine the variables and look for those with |
6737 | "unknown" in the ```LICENSE`` <&YOCTO_DOCS_REF_URL;#var-LICENSE>`__ | 6737 | "unknown" in the :term:`LICENSE` |
6738 | field. You need to track down the license information for "unknown" | 6738 | field. You need to track down the license information for "unknown" |
6739 | modules and manually add the information to the recipe. | 6739 | modules and manually add the information to the recipe. |
6740 | 6740 | ||
@@ -6764,7 +6764,7 @@ inherit npm LICENSE_${PN} = "MIT" LICENSE_${PN}-accepts = "MIT" | |||
6764 | LICENSE_${PN}-array-flatten = "MIT" ... LICENSE_${PN}-vary = "MIT" Three | 6764 | LICENSE_${PN}-array-flatten = "MIT" ... LICENSE_${PN}-vary = "MIT" Three |
6765 | key points exist in the previous example: | 6765 | key points exist in the previous example: |
6766 | 6766 | ||
6767 | - ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ uses the NPM | 6767 | - :term:`SRC_URI` uses the NPM |
6768 | scheme so that the NPM fetcher is used. | 6768 | scheme so that the NPM fetcher is used. |
6769 | 6769 | ||
6770 | - ``recipetool`` collects all the license information. If a | 6770 | - ``recipetool`` collects all the license information. If a |
@@ -6772,7 +6772,7 @@ key points exist in the previous example: | |||
6772 | the comments. | 6772 | the comments. |
6773 | 6773 | ||
6774 | - The ``inherit npm`` statement causes the | 6774 | - The ``inherit npm`` statement causes the |
6775 | ```npm`` <&YOCTO_DOCS_REF_URL;#ref-classes-npm>`__ class to package | 6775 | :ref:`npm <ref-classes-npm>` class to package |
6776 | up all the modules. | 6776 | up all the modules. |
6777 | 6777 | ||
6778 | You can run the following command to build the ``cute-files`` package: $ | 6778 | You can run the following command to build the ``cute-files`` package: $ |
@@ -6828,7 +6828,7 @@ Adding custom metadata to packages | |||
6828 | ---------------------------------- | 6828 | ---------------------------------- |
6829 | 6829 | ||
6830 | The variable | 6830 | The variable |
6831 | ```PACKAGE_ADD_METADATA`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_ADD_METADATA>`__ | 6831 | :term:`PACKAGE_ADD_METADATA` |
6832 | can be used to add additional metadata to packages. This is reflected in | 6832 | can be used to add additional metadata to packages. This is reflected in |
6833 | the package control/spec file. To take the ipk format for example, the | 6833 | the package control/spec file. To take the ipk format for example, the |
6834 | CONTROL file stored inside would contain the additional metadata as | 6834 | CONTROL file stored inside would contain the additional metadata as |
@@ -6869,7 +6869,7 @@ Efficiently Fetching Source Files During a Build | |||
6869 | ================================================ | 6869 | ================================================ |
6870 | 6870 | ||
6871 | The OpenEmbedded build system works with source files located through | 6871 | The OpenEmbedded build system works with source files located through |
6872 | the ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ variable. When | 6872 | the :term:`SRC_URI` variable. When |
6873 | you build something using BitBake, a big part of the operation is | 6873 | you build something using BitBake, a big part of the operation is |
6874 | locating and downloading all the source tarballs. For images, | 6874 | locating and downloading all the source tarballs. For images, |
6875 | downloading all the source for various packages can take a significant | 6875 | downloading all the source for various packages can take a significant |
@@ -6896,15 +6896,15 @@ SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/" INHERIT += | |||
6896 | "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1" # BB_NO_NETWORK = "1" | 6896 | "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1" # BB_NO_NETWORK = "1" |
6897 | 6897 | ||
6898 | In the previous example, the | 6898 | In the previous example, the |
6899 | ```BB_GENERATE_MIRROR_TARBALLS`` <&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS>`__ | 6899 | :term:`BB_GENERATE_MIRROR_TARBALLS` |
6900 | variable causes the OpenEmbedded build system to generate tarballs of | 6900 | variable causes the OpenEmbedded build system to generate tarballs of |
6901 | the Git repositories and store them in the | 6901 | the Git repositories and store them in the |
6902 | ```DL_DIR`` <&YOCTO_DOCS_REF_URL;#var-DL_DIR>`__ directory. Due to | 6902 | :term:`DL_DIR` directory. Due to |
6903 | performance reasons, generating and storing these tarballs is not the | 6903 | performance reasons, generating and storing these tarballs is not the |
6904 | build system's default behavior. | 6904 | build system's default behavior. |
6905 | 6905 | ||
6906 | You can also use the | 6906 | You can also use the |
6907 | ```PREMIRRORS`` <&YOCTO_DOCS_REF_URL;#var-PREMIRRORS>`__ variable. For | 6907 | :term:`PREMIRRORS` variable. For |
6908 | an example, see the variable's glossary entry in the Yocto Project | 6908 | an example, see the variable's glossary entry in the Yocto Project |
6909 | Reference Manual. | 6909 | Reference Manual. |
6910 | 6910 | ||
@@ -6917,7 +6917,7 @@ actually starting a build. This technique lets you work through any | |||
6917 | download issues and ultimately gathers all the source files into your | 6917 | download issues and ultimately gathers all the source files into your |
6918 | download directory | 6918 | download directory |
6919 | ```build/downloads`` <&YOCTO_DOCS_REF_URL;#structure-build-downloads>`__, | 6919 | ```build/downloads`` <&YOCTO_DOCS_REF_URL;#structure-build-downloads>`__, |
6920 | which is located with ```DL_DIR`` <&YOCTO_DOCS_REF_URL;#var-DL_DIR>`__. | 6920 | which is located with :term:`DL_DIR`. |
6921 | 6921 | ||
6922 | Use the following BitBake command form to fetch all the necessary | 6922 | Use the following BitBake command form to fetch all the necessary |
6923 | sources without starting the build: $ bitbake target --runall=fetch This | 6923 | sources without starting the build: $ bitbake target --runall=fetch This |
@@ -6974,7 +6974,7 @@ To remove initscripts from your image altogether, set this variable | |||
6974 | also: VIRTUAL-RUNTIME_initscripts = "" | 6974 | also: VIRTUAL-RUNTIME_initscripts = "" |
6975 | 6975 | ||
6976 | For information on the backfill variable, see | 6976 | For information on the backfill variable, see |
6977 | ```DISTRO_FEATURES_BACKFILL_CONSIDERED`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES_BACKFILL_CONSIDERED>`__. | 6977 | :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`. |
6978 | 6978 | ||
6979 | Using systemd for the Main Image and Using SysVinit for the Rescue Image | 6979 | Using systemd for the Main Image and Using SysVinit for the Rescue Image |
6980 | ------------------------------------------------------------------------ | 6980 | ------------------------------------------------------------------------ |
@@ -7011,12 +7011,12 @@ Using Persistent and Pre-Populated\ ``/dev`` | |||
7011 | -------------------------------------------- | 7011 | -------------------------------------------- |
7012 | 7012 | ||
7013 | To use the static method for device population, you need to set the | 7013 | To use the static method for device population, you need to set the |
7014 | ```USE_DEVFS`` <&YOCTO_DOCS_REF_URL;#var-USE_DEVFS>`__ variable to "0" | 7014 | :term:`USE_DEVFS` variable to "0" |
7015 | as follows: USE_DEVFS = "0" | 7015 | as follows: USE_DEVFS = "0" |
7016 | 7016 | ||
7017 | The content of the resulting ``/dev`` directory is defined in a Device | 7017 | The content of the resulting ``/dev`` directory is defined in a Device |
7018 | Table file. The | 7018 | Table file. The |
7019 | ```IMAGE_DEVICE_TABLES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_DEVICE_TABLES>`__ | 7019 | :term:`IMAGE_DEVICE_TABLES` |
7020 | variable defines the Device Table to use and should be set in the | 7020 | variable defines the Device Table to use and should be set in the |
7021 | machine or distro configuration file. Alternatively, you can set this | 7021 | machine or distro configuration file. Alternatively, you can set this |
7022 | variable in your ``local.conf`` configuration file. | 7022 | variable in your ``local.conf`` configuration file. |
@@ -7034,7 +7034,7 @@ Using ``devtmpfs`` and a Device Manager | |||
7034 | --------------------------------------- | 7034 | --------------------------------------- |
7035 | 7035 | ||
7036 | To use the dynamic method for device population, you need to use (or be | 7036 | To use the dynamic method for device population, you need to use (or be |
7037 | sure to set) the ```USE_DEVFS`` <&YOCTO_DOCS_REF_URL;#var-USE_DEVFS>`__ | 7037 | sure to set) the :term:`USE_DEVFS` |
7038 | variable to "1", which is the default: USE_DEVFS = "1" With this | 7038 | variable to "1", which is the default: USE_DEVFS = "1" With this |
7039 | setting, the resulting ``/dev`` directory is populated by the kernel | 7039 | setting, the resulting ``/dev`` directory is populated by the kernel |
7040 | using ``devtmpfs``. Make sure the corresponding kernel configuration | 7040 | using ``devtmpfs``. Make sure the corresponding kernel configuration |
@@ -7065,12 +7065,12 @@ This only works for SCMs from which it is possible to get a sensible | |||
7065 | revision number for changes. Currently, you can do this with Apache | 7065 | revision number for changes. Currently, you can do this with Apache |
7066 | Subversion (SVN), Git, and Bazaar (BZR) repositories. | 7066 | Subversion (SVN), Git, and Bazaar (BZR) repositories. |
7067 | 7067 | ||
7068 | To enable this behavior, the ```PV`` <&YOCTO_DOCS_REF_URL;#var-PV>`__ of | 7068 | To enable this behavior, the :term:`PV` of |
7069 | the recipe needs to reference | 7069 | the recipe needs to reference |
7070 | ```SRCPV`` <&YOCTO_DOCS_REF_URL;#var-SRCPV>`__. Here is an example: PV = | 7070 | :term:`SRCPV`. Here is an example: PV = |
7071 | "1.2.3+git${SRCPV}" Then, you can add the following to your | 7071 | "1.2.3+git${SRCPV}" Then, you can add the following to your |
7072 | ``local.conf``: SRCREV_pn-PN = "${AUTOREV}" | 7072 | ``local.conf``: SRCREV_pn-PN = "${AUTOREV}" |
7073 | ```PN`` <&YOCTO_DOCS_REF_URL;#var-PN>`__ is the name of the recipe for | 7073 | :term:`PN` is the name of the recipe for |
7074 | which you want to enable automatic source revision updating. | 7074 | which you want to enable automatic source revision updating. |
7075 | 7075 | ||
7076 | If you do not want to update your local configuration file, you can add | 7076 | If you do not want to update your local configuration file, you can add |
@@ -7135,8 +7135,8 @@ For more information on how to use these variables, see the | |||
7135 | "`Customizing Images Using Custom ``IMAGE_FEATURES`` and | 7135 | "`Customizing Images Using Custom ``IMAGE_FEATURES`` and |
7136 | ``EXTRA_IMAGE_FEATURES`` <#usingpoky-extend-customimage-imagefeatures>`__" | 7136 | ``EXTRA_IMAGE_FEATURES`` <#usingpoky-extend-customimage-imagefeatures>`__" |
7137 | section. For information on the variables, see | 7137 | section. For information on the variables, see |
7138 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__ and | 7138 | :term:`IMAGE_FEATURES` and |
7139 | ```EXTRA_IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES>`__. | 7139 | :term:`EXTRA_IMAGE_FEATURES`. |
7140 | 7140 | ||
7141 | Post-Installation Scripts | 7141 | Post-Installation Scripts |
7142 | ------------------------- | 7142 | ------------------------- |
@@ -7163,7 +7163,7 @@ Here are some common problems that prevent post-installation scripts | |||
7163 | from running during root filesystem creation: | 7163 | from running during root filesystem creation: |
7164 | 7164 | ||
7165 | - *Not using $D in front of absolute paths:* The build system defines | 7165 | - *Not using $D in front of absolute paths:* The build system defines |
7166 | ``$``\ ```D`` <&YOCTO_DOCS_REF_URL;#var-D>`__ when the root | 7166 | ``$``\ :term:`D` when the root |
7167 | filesystem is created. Furthermore, ``$D`` is blank when the script | 7167 | filesystem is created. Furthermore, ``$D`` is blank when the script |
7168 | is run on the target device. This implies two purposes for ``$D``: | 7168 | is run on the target device. This implies two purposes for ``$D``: |
7169 | ensuring paths are valid in both the host and target environments, | 7169 | ensuring paths are valid in both the host and target environments, |
@@ -7175,7 +7175,7 @@ from running during root filesystem creation: | |||
7175 | native tools, which run on the host system, to accomplish the same | 7175 | native tools, which run on the host system, to accomplish the same |
7176 | tasks, or by alternatively running the processes under QEMU, which | 7176 | tasks, or by alternatively running the processes under QEMU, which |
7177 | has the ``qemu_run_binary`` function. For more information, see the | 7177 | has the ``qemu_run_binary`` function. For more information, see the |
7178 | ```qemu`` <&YOCTO_DOCS_REF_URL;#ref-classes-qemu>`__ class. | 7178 | :ref:`qemu <ref-classes-qemu>` class. |
7179 | 7179 | ||
7180 | Areas With Write Access | 7180 | Areas With Write Access |
7181 | ----------------------- | 7181 | ----------------------- |
@@ -7200,7 +7200,7 @@ has already been built when the software is building, the software will | |||
7200 | link to the built library and that library will be pulled into your | 7200 | link to the built library and that library will be pulled into your |
7201 | image along with the new software even if you did not want the library. | 7201 | image along with the new software even if you did not want the library. |
7202 | 7202 | ||
7203 | The ```buildhistory`` <&YOCTO_DOCS_REF_URL;#ref-classes-buildhistory>`__ | 7203 | The :ref:`buildhistory <ref-classes-buildhistory>` |
7204 | class exists to help you maintain the quality of your build output. You | 7204 | class exists to help you maintain the quality of your build output. You |
7205 | can use the class to highlight unexpected and possibly unwanted changes | 7205 | can use the class to highlight unexpected and possibly unwanted changes |
7206 | in the build output. When you enable build history, it records | 7206 | in the build output. When you enable build history, it records |
@@ -7224,9 +7224,9 @@ Enabling and Disabling Build History | |||
7224 | 7224 | ||
7225 | Build history is disabled by default. To enable it, add the following | 7225 | Build history is disabled by default. To enable it, add the following |
7226 | ``INHERIT`` statement and set the | 7226 | ``INHERIT`` statement and set the |
7227 | ```BUILDHISTORY_COMMIT`` <&YOCTO_DOCS_REF_URL;#var-BUILDHISTORY_COMMIT>`__ | 7227 | :term:`BUILDHISTORY_COMMIT` |
7228 | variable to "1" at the end of your ``conf/local.conf`` file found in the | 7228 | variable to "1" at the end of your ``conf/local.conf`` file found in the |
7229 | `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += | 7229 | :term:`Build Directory`: INHERIT += |
7230 | "buildhistory" BUILDHISTORY_COMMIT = "1" Enabling build history as | 7230 | "buildhistory" BUILDHISTORY_COMMIT = "1" Enabling build history as |
7231 | previously described causes the OpenEmbedded build system to collect | 7231 | previously described causes the OpenEmbedded build system to collect |
7232 | build output information and commit it as a single commit to a local | 7232 | build output information and commit it as a single commit to a local |
@@ -7245,9 +7245,9 @@ Understanding What the Build History Contains | |||
7245 | --------------------------------------------- | 7245 | --------------------------------------------- |
7246 | 7246 | ||
7247 | Build history information is kept in | 7247 | Build history information is kept in |
7248 | ``${``\ ```TOPDIR`` <&YOCTO_DOCS_REF_URL;#var-TOPDIR>`__\ ``}/buildhistory`` | 7248 | ``${``\ :term:`TOPDIR`\ ``}/buildhistory`` |
7249 | in the Build Directory as defined by the | 7249 | in the Build Directory as defined by the |
7250 | ```BUILDHISTORY_DIR`` <&YOCTO_DOCS_REF_URL;#var-BUILDHISTORY_DIR>`__ | 7250 | :term:`BUILDHISTORY_DIR` |
7251 | variable. The following is an example abbreviated listing: | 7251 | variable. The following is an example abbreviated listing: |
7252 | 7252 | ||
7253 | At the top level, a ``metadata-revs`` file exists that lists the | 7253 | At the top level, a ``metadata-revs`` file exists that lists the |
@@ -7353,7 +7353,7 @@ The files produced for each image are as follows: | |||
7353 | 7353 | ||
7354 | - ``image-files:`` A directory containing selected files from the root | 7354 | - ``image-files:`` A directory containing selected files from the root |
7355 | filesystem. The files are defined by | 7355 | filesystem. The files are defined by |
7356 | ```BUILDHISTORY_IMAGE_FILES`` <&YOCTO_DOCS_REF_URL;#var-BUILDHISTORY_IMAGE_FILES>`__. | 7356 | :term:`BUILDHISTORY_IMAGE_FILES`. |
7357 | 7357 | ||
7358 | - ``build-id.txt:`` Human-readable information about the build | 7358 | - ``build-id.txt:`` Human-readable information about the build |
7359 | configuration and metadata source revisions. This file contains the | 7359 | configuration and metadata source revisions. This file contains the |
@@ -7411,7 +7411,7 @@ following to your ``conf/local.conf`` file found in the `Build | |||
7411 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += | 7411 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += |
7412 | "buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image" | 7412 | "buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image" |
7413 | Here, you set the | 7413 | Here, you set the |
7414 | ```BUILDHISTORY_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-BUILDHISTORY_FEATURES>`__ | 7414 | :term:`BUILDHISTORY_FEATURES` |
7415 | variable to use the image feature only. | 7415 | variable to use the image feature only. |
7416 | 7416 | ||
7417 | Build History SDK Information | 7417 | Build History SDK Information |
@@ -7491,7 +7491,7 @@ You can examine build history output from the command line or from a web | |||
7491 | interface. | 7491 | interface. |
7492 | 7492 | ||
7493 | To see any changes that have occurred (assuming you have | 7493 | To see any changes that have occurred (assuming you have |
7494 | ```BUILDHISTORY_COMMIT`` <&YOCTO_DOCS_REF_URL;#var-BUILDHISTORY_COMMIT>`__\ ``Â = "1"``), | 7494 | :term:`BUILDHISTORY_COMMIT`\ ``Â = "1"``), |
7495 | you can simply use any Git command that allows you to view the history | 7495 | you can simply use any Git command that allows you to view the history |
7496 | of a repository. Here is one method: $ git log -p You need to realize, | 7496 | of a repository. Here is one method: $ git log -p You need to realize, |
7497 | however, that this method does show changes that are not significant | 7497 | however, that this method does show changes that are not significant |
@@ -7635,7 +7635,7 @@ Once you start running the tests, the following happens: | |||
7635 | 3. A default timeout of 500 seconds occurs to allow for the boot process | 7635 | 3. A default timeout of 500 seconds occurs to allow for the boot process |
7636 | to reach the login prompt. You can change the timeout period by | 7636 | to reach the login prompt. You can change the timeout period by |
7637 | setting | 7637 | setting |
7638 | ```TEST_QEMUBOOT_TIMEOUT`` <&YOCTO_DOCS_REF_URL;#var-TEST_QEMUBOOT_TIMEOUT>`__ | 7638 | :term:`TEST_QEMUBOOT_TIMEOUT` |
7639 | in the ``local.conf`` file. | 7639 | in the ``local.conf`` file. |
7640 | 7640 | ||
7641 | 4. Once the boot process is reached and the login prompt appears, the | 7641 | 4. Once the boot process is reached and the login prompt appears, the |
@@ -7815,7 +7815,7 @@ wish to experiment with automated hardware testing, you can use the | |||
7815 | dialog-power-control script that shows a dialog prompting you to perform | 7815 | dialog-power-control script that shows a dialog prompting you to perform |
7816 | the required power action. This script requires either KDialog or Zenity | 7816 | the required power action. This script requires either KDialog or Zenity |
7817 | to be installed. To use this script, set the | 7817 | to be installed. To use this script, set the |
7818 | ```TEST_POWERCONTROL_CMD`` <&YOCTO_DOCS_REF_URL;#var-TEST_POWERCONTROL_CMD>`__ | 7818 | :term:`TEST_POWERCONTROL_CMD` |
7819 | variable as follows: TEST_POWERCONTROL_CMD = | 7819 | variable as follows: TEST_POWERCONTROL_CMD = |
7820 | "${COREBASE}/scripts/contrib/dialog-power-control" | 7820 | "${COREBASE}/scripts/contrib/dialog-power-control" |
7821 | 7821 | ||
@@ -7826,9 +7826,9 @@ For test target classes requiring a serial console to interact with the | |||
7826 | bootloader (e.g. BeagleBoneTarget, EdgeRouterTarget, and GrubTarget), | 7826 | bootloader (e.g. BeagleBoneTarget, EdgeRouterTarget, and GrubTarget), |
7827 | you need to specify a command to use to connect to the serial console of | 7827 | you need to specify a command to use to connect to the serial console of |
7828 | the target machine by using the | 7828 | the target machine by using the |
7829 | ```TEST_SERIALCONTROL_CMD`` <&YOCTO_DOCS_REF_URL;#var-TEST_SERIALCONTROL_CMD>`__ | 7829 | :term:`TEST_SERIALCONTROL_CMD` |
7830 | variable and optionally the | 7830 | variable and optionally the |
7831 | ```TEST_SERIALCONTROL_EXTRA_ARGS`` <&YOCTO_DOCS_REF_URL;#var-TEST_SERIALCONTROL_EXTRA_ARGS>`__ | 7831 | :term:`TEST_SERIALCONTROL_EXTRA_ARGS` |
7832 | variable. | 7832 | variable. |
7833 | 7833 | ||
7834 | These cases could be a serial terminal program if the machine is | 7834 | These cases could be a serial terminal program if the machine is |
@@ -7855,7 +7855,7 @@ You can start the tests automatically or manually: | |||
7855 | - *Automatically running tests:* To run the tests automatically after | 7855 | - *Automatically running tests:* To run the tests automatically after |
7856 | the OpenEmbedded build system successfully creates an image, first | 7856 | the OpenEmbedded build system successfully creates an image, first |
7857 | set the | 7857 | set the |
7858 | ```TESTIMAGE_AUTO`` <&YOCTO_DOCS_REF_URL;#var-TESTIMAGE_AUTO>`__ | 7858 | :term:`TESTIMAGE_AUTO` |
7859 | variable to "1" in your ``local.conf`` file in the `Build | 7859 | variable to "1" in your ``local.conf`` file in the `Build |
7860 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: TESTIMAGE_AUTO = | 7860 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: TESTIMAGE_AUTO = |
7861 | "1" Next, build your image. If the image successfully builds, the | 7861 | "1" Next, build your image. If the image successfully builds, the |
@@ -7874,7 +7874,7 @@ individual tests. Tests are usually grouped together by the area tested | |||
7874 | (e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``). | 7874 | (e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``). |
7875 | 7875 | ||
7876 | You can add tests to any layer provided you place them in the proper | 7876 | You can add tests to any layer provided you place them in the proper |
7877 | area and you extend ```BBPATH`` <&YOCTO_DOCS_REF_URL;#var-BBPATH>`__ in | 7877 | area and you extend :term:`BBPATH` in |
7878 | the ``local.conf`` file as normal. Be sure that tests reside in | 7878 | the ``local.conf`` file as normal. Be sure that tests reside in |
7879 | ``layer/lib/oeqa/runtime``. | 7879 | ``layer/lib/oeqa/runtime``. |
7880 | 7880 | ||
@@ -7886,7 +7886,7 @@ the ``local.conf`` file as normal. Be sure that tests reside in | |||
7886 | . | 7886 | . |
7887 | 7887 | ||
7888 | You can change the set of tests run by appending or overriding | 7888 | You can change the set of tests run by appending or overriding |
7889 | ```TEST_SUITES`` <&YOCTO_DOCS_REF_URL;#var-TEST_SUITES>`__ variable in | 7889 | :term:`TEST_SUITES` variable in |
7890 | ``local.conf``. Each name in ``TEST_SUITES`` represents a required test | 7890 | ``local.conf``. Each name in ``TEST_SUITES`` represents a required test |
7891 | for the image. Test modules named within ``TEST_SUITES`` cannot be | 7891 | for the image. Test modules named within ``TEST_SUITES`` cannot be |
7892 | skipped even if a test is not suitable for an image (e.g. running the | 7892 | skipped even if a test is not suitable for an image (e.g. running the |
@@ -7927,7 +7927,7 @@ Exporting Tests | |||
7927 | You can export tests so that they can run independently of the build | 7927 | You can export tests so that they can run independently of the build |
7928 | system. Exporting tests is required if you want to be able to hand the | 7928 | system. Exporting tests is required if you want to be able to hand the |
7929 | test execution off to a scheduler. You can only export tests that are | 7929 | test execution off to a scheduler. You can only export tests that are |
7930 | defined in ```TEST_SUITES`` <&YOCTO_DOCS_REF_URL;#var-TEST_SUITES>`__. | 7930 | defined in :term:`TEST_SUITES`. |
7931 | 7931 | ||
7932 | If your image is already built, make sure the following are set in your | 7932 | If your image is already built, make sure the following are set in your |
7933 | ``local.conf`` file: INHERIT +="testexport" TEST_TARGET_IP = | 7933 | ``local.conf`` file: INHERIT +="testexport" TEST_TARGET_IP = |
@@ -7958,7 +7958,7 @@ As mentioned previously, all new test files need to be in the proper | |||
7958 | place for the build system to find them. New tests for additional | 7958 | place for the build system to find them. New tests for additional |
7959 | functionality outside of the core should be added to the layer that adds | 7959 | functionality outside of the core should be added to the layer that adds |
7960 | the functionality, in ``layer/lib/oeqa/runtime`` (as long as | 7960 | the functionality, in ``layer/lib/oeqa/runtime`` (as long as |
7961 | ```BBPATH`` <&YOCTO_DOCS_REF_URL;#var-BBPATH>`__ is extended in the | 7961 | :term:`BBPATH` is extended in the |
7962 | layer's ``layer.conf`` file as normal). Just remember the following: | 7962 | layer's ``layer.conf`` file as normal). Just remember the following: |
7963 | 7963 | ||
7964 | - Filenames need to map directly to test (module) names. | 7964 | - Filenames need to map directly to test (module) names. |
@@ -7998,8 +7998,8 @@ Class methods are as follows: | |||
7998 | is generated during the ``do_rootfs`` task. | 7998 | is generated during the ``do_rootfs`` task. |
7999 | 7999 | ||
8000 | - *``hasFeature(feature)``:* Returns "True" if the feature is in | 8000 | - *``hasFeature(feature)``:* Returns "True" if the feature is in |
8001 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__ or | 8001 | :term:`IMAGE_FEATURES` or |
8002 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__. | 8002 | :term:`DISTRO_FEATURES`. |
8003 | 8003 | ||
8004 | .. _qemu-image-writing-tests-class-attributes: | 8004 | .. _qemu-image-writing-tests-class-attributes: |
8005 | 8005 | ||
@@ -8147,7 +8147,7 @@ section: | |||
8147 | - "`Viewing Package Information with | 8147 | - "`Viewing Package Information with |
8148 | ``oe-pkgdata-util`` <#viewing-package-information-with-oe-pkgdata-util>`__" | 8148 | ``oe-pkgdata-util`` <#viewing-package-information-with-oe-pkgdata-util>`__" |
8149 | describes how to use the ``oe-pkgdata-util`` utility to query | 8149 | describes how to use the ``oe-pkgdata-util`` utility to query |
8150 | ```PKGDATA_DIR`` <&YOCTO_DOCS_REF_URL;#var-PKGDATA_DIR>`__ and | 8150 | :term:`PKGDATA_DIR` and |
8151 | display package-related information for built packages. | 8151 | display package-related information for built packages. |
8152 | 8152 | ||
8153 | - "`Viewing Dependencies Between Recipes and | 8153 | - "`Viewing Dependencies Between Recipes and |
@@ -8203,12 +8203,12 @@ Viewing Logs from Failed Tasks | |||
8203 | ------------------------------ | 8203 | ------------------------------ |
8204 | 8204 | ||
8205 | You can find the log for a task in the file | 8205 | You can find the log for a task in the file |
8206 | ``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}/temp/log.do_``\ taskname. | 8206 | ``${``\ :term:`WORKDIR`\ ``}/temp/log.do_``\ taskname. |
8207 | For example, the log for the | 8207 | For example, the log for the |
8208 | ```do_compile`` <&YOCTO_DOCS_REF_URL;#ref-tasks-compile>`__ task of the | 8208 | :ref:`ref-tasks-compile` task of the |
8209 | QEMU minimal image for the x86 machine (``qemux86``) might be in | 8209 | QEMU minimal image for the x86 machine (``qemux86``) might be in |
8210 | ``tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_compile``. | 8210 | ``tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_compile``. |
8211 | To see the commands `BitBake <&YOCTO_DOCS_REF_URL;#bitbake-term>`__ ran | 8211 | To see the commands :term:`BitBake` ran |
8212 | to generate a log, look at the corresponding ``run.do_``\ taskname file | 8212 | to generate a log, look at the corresponding ``run.do_``\ taskname file |
8213 | in the same directory. | 8213 | in the same directory. |
8214 | 8214 | ||
@@ -8269,7 +8269,7 @@ In addition to variable values, the output of the ``bitbake -e`` and | |||
8269 | system (including the behavior of the `normal recipe build | 8269 | system (including the behavior of the `normal recipe build |
8270 | tasks <&YOCTO_DOCS_REF_URL;#normal-recipe-build-tasks>`__) is | 8270 | tasks <&YOCTO_DOCS_REF_URL;#normal-recipe-build-tasks>`__) is |
8271 | implemented in the | 8271 | implemented in the |
8272 | ```base`` <&YOCTO_DOCS_REF_URL;#ref-classes-base>`__ class and the | 8272 | :ref:`base <ref-classes-base>` class and the |
8273 | classes it inherits, rather than being built into BitBake itself. | 8273 | classes it inherits, rather than being built into BitBake itself. |
8274 | 8274 | ||
8275 | - After the variable values, all functions appear in the output. For | 8275 | - After the variable values, all functions appear in the output. For |
@@ -8282,7 +8282,7 @@ Viewing Package Information with ``oe-pkgdata-util`` | |||
8282 | ---------------------------------------------------- | 8282 | ---------------------------------------------------- |
8283 | 8283 | ||
8284 | You can use the ``oe-pkgdata-util`` command-line utility to query | 8284 | You can use the ``oe-pkgdata-util`` command-line utility to query |
8285 | ```PKGDATA_DIR`` <&YOCTO_DOCS_REF_URL;#var-PKGDATA_DIR>`__ and display | 8285 | :term:`PKGDATA_DIR` and display |
8286 | various package-related information. When you use the utility, you must | 8286 | various package-related information. When you use the utility, you must |
8287 | use it to view information on packages that have already been built. | 8287 | use it to view information on packages that have already been built. |
8288 | 8288 | ||
@@ -8304,10 +8304,10 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands. | |||
8304 | 8304 | ||
8305 | A different way to view the contents of a package is to look at | 8305 | A different way to view the contents of a package is to look at |
8306 | the | 8306 | the |
8307 | ``${``\ ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__\ ``}/packages-split`` | 8307 | ``${``\ :term:`WORKDIR`\ ``}/packages-split`` |
8308 | directory of the recipe that generates the package. This directory | 8308 | directory of the recipe that generates the package. This directory |
8309 | is created by the | 8309 | is created by the |
8310 | ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ task | 8310 | :ref:`ref-tasks-package` task |
8311 | and has one subdirectory for each package the recipe generates, | 8311 | and has one subdirectory for each package the recipe generates, |
8312 | which contains the files stored in that package. | 8312 | which contains the files stored in that package. |
8313 | 8313 | ||
@@ -8346,7 +8346,7 @@ in the current directory: | |||
8346 | recipename. "Involved" here means that at least one task from the | 8346 | recipename. "Involved" here means that at least one task from the |
8347 | recipe needs to run when building recipename from scratch. Targets | 8347 | recipe needs to run when building recipename from scratch. Targets |
8348 | that are in | 8348 | that are in |
8349 | ```ASSUME_PROVIDED`` <&YOCTO_DOCS_REF_URL;#var-ASSUME_PROVIDED>`__ | 8349 | :term:`ASSUME_PROVIDED` |
8350 | are not listed. | 8350 | are not listed. |
8351 | 8351 | ||
8352 | - ``task-depends.dot``: A graph showing dependencies between tasks. | 8352 | - ``task-depends.dot``: A graph showing dependencies between tasks. |
@@ -8369,11 +8369,11 @@ format and can be converted to images (e.g. using the ``dot`` tool from | |||
8369 | as the following: "libxslt.do_configure" -> | 8369 | as the following: "libxslt.do_configure" -> |
8370 | "libxml2.do_populate_sysroot" The above example line reveals that | 8370 | "libxml2.do_populate_sysroot" The above example line reveals that |
8371 | the | 8371 | the |
8372 | ```do_configure`` <&YOCTO_DOCS_REF_URL;#ref-tasks-configure>`__ | 8372 | :ref:`ref-tasks-configure` |
8373 | task in ``libxslt`` depends on the | 8373 | task in ``libxslt`` depends on the |
8374 | ```do_populate_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-populate_sysroot>`__ | 8374 | :ref:`ref-tasks-populate_sysroot` |
8375 | task in ``libxml2``, which is a normal | 8375 | task in ``libxml2``, which is a normal |
8376 | ```DEPENDS`` <&YOCTO_DOCS_REF_URL;#var-DEPENDS>`__ dependency | 8376 | :term:`DEPENDS` dependency |
8377 | between the two recipes. | 8377 | between the two recipes. |
8378 | 8378 | ||
8379 | - For an example of how ``.dot`` files can be processed, see the | 8379 | - For an example of how ``.dot`` files can be processed, see the |
@@ -8407,19 +8407,19 @@ BitBake has determined by doing the following: | |||
8407 | 8407 | ||
8408 | 1. Build the recipe containing the task: $ bitbake recipename | 8408 | 1. Build the recipe containing the task: $ bitbake recipename |
8409 | 8409 | ||
8410 | 2. Inside the ```STAMPS_DIR`` <&YOCTO_DOCS_REF_URL;#var-STAMPS_DIR>`__ | 8410 | 2. Inside the :term:`STAMPS_DIR` |
8411 | directory, find the signature data (``sigdata``) file that | 8411 | directory, find the signature data (``sigdata``) file that |
8412 | corresponds to the task. The ``sigdata`` files contain a pickled | 8412 | corresponds to the task. The ``sigdata`` files contain a pickled |
8413 | Python database of all the metadata that went into creating the input | 8413 | Python database of all the metadata that went into creating the input |
8414 | checksum for the task. As an example, for the | 8414 | checksum for the task. As an example, for the |
8415 | ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ task of the | 8415 | :ref:`ref-tasks-fetch` task of the |
8416 | ``db`` recipe, the ``sigdata`` file might be found in the following | 8416 | ``db`` recipe, the ``sigdata`` file might be found in the following |
8417 | location: | 8417 | location: |
8418 | ${BUILDDIR}/tmp/stamps/i586-poky-linux/db/6.0.30-r1.do_fetch.sigdata.7c048c18222b16ff0bcee2000ef648b1 | 8418 | ${BUILDDIR}/tmp/stamps/i586-poky-linux/db/6.0.30-r1.do_fetch.sigdata.7c048c18222b16ff0bcee2000ef648b1 |
8419 | For tasks that are accelerated through the shared state | 8419 | For tasks that are accelerated through the shared state |
8420 | (`sstate <&YOCTO_DOCS_OM_URL;#shared-state-cache>`__) cache, an | 8420 | (`sstate <&YOCTO_DOCS_OM_URL;#shared-state-cache>`__) cache, an |
8421 | additional ``siginfo`` file is written into | 8421 | additional ``siginfo`` file is written into |
8422 | ```SSTATE_DIR`` <&YOCTO_DOCS_REF_URL;#var-SSTATE_DIR>`__ along with | 8422 | :term:`SSTATE_DIR` along with |
8423 | the cached task output. The ``siginfo`` files contain exactly the | 8423 | the cached task output. The ``siginfo`` files contain exactly the |
8424 | same information as ``sigdata`` files. | 8424 | same information as ``sigdata`` files. |
8425 | 8425 | ||
@@ -8475,7 +8475,7 @@ Viewing Metadata Used to Create the Input Signature of a Shared State Task | |||
8475 | Seeing what metadata went into creating the input signature of a shared | 8475 | Seeing what metadata went into creating the input signature of a shared |
8476 | state (sstate) task can be a useful debugging aid. This information is | 8476 | state (sstate) task can be a useful debugging aid. This information is |
8477 | available in signature information (``siginfo``) files in | 8477 | available in signature information (``siginfo``) files in |
8478 | ```SSTATE_DIR`` <&YOCTO_DOCS_REF_URL;#var-SSTATE_DIR>`__. For | 8478 | :term:`SSTATE_DIR`. For |
8479 | information on how to view and interpret information in ``siginfo`` | 8479 | information on how to view and interpret information in ``siginfo`` |
8480 | files, see the "`Viewing Task Variable | 8480 | files, see the "`Viewing Task Variable |
8481 | Dependencies <#dev-viewing-task-variable-dependencies>`__" section. | 8481 | Dependencies <#dev-viewing-task-variable-dependencies>`__" section. |
@@ -8521,7 +8521,7 @@ invalidate the cache and force the tasks to run. The steps you can take | |||
8521 | are as simple as changing a function's comments in the source code. For | 8521 | are as simple as changing a function's comments in the source code. For |
8522 | example, to invalidate package shared state files, change the comment | 8522 | example, to invalidate package shared state files, change the comment |
8523 | statements of | 8523 | statements of |
8524 | ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ or the | 8524 | :ref:`ref-tasks-package` or the |
8525 | comments of one of the functions it calls. Even though the change is | 8525 | comments of one of the functions it calls. Even though the change is |
8526 | purely cosmetic, it causes the checksum to be recalculated and forces | 8526 | purely cosmetic, it causes the checksum to be recalculated and forces |
8527 | the build system to run the task again. | 8527 | the build system to run the task again. |
@@ -8559,7 +8559,7 @@ BitBake determines whether a task is "out of date". | |||
8559 | 8559 | ||
8560 | If you want to force an up-to-date task to be rerun (e.g. because you | 8560 | If you want to force an up-to-date task to be rerun (e.g. because you |
8561 | made manual modifications to the recipe's | 8561 | made manual modifications to the recipe's |
8562 | ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__ that you want to try | 8562 | :term:`WORKDIR` that you want to try |
8563 | out), then you can use the ``-f`` option. | 8563 | out), then you can use the ``-f`` option. |
8564 | 8564 | ||
8565 | .. note:: | 8565 | .. note:: |
@@ -8595,7 +8595,7 @@ it is to use the ``-C`` option. | |||
8595 | option, which is lower-cased. | 8595 | option, which is lower-cased. |
8596 | 8596 | ||
8597 | Using this option invalidates the given task and then runs the | 8597 | Using this option invalidates the given task and then runs the |
8598 | ```do_build`` <&YOCTO_DOCS_REF_URL;#ref-tasks-build>`__ task, which is | 8598 | :ref:`ref-tasks-build` task, which is |
8599 | the default task if no task is given, and the tasks on which it depends. | 8599 | the default task if no task is given, and the tasks on which it depends. |
8600 | You could replace the final two commands in the previous example with | 8600 | You could replace the final two commands in the previous example with |
8601 | the following single command: $ bitbake matchbox-desktop -C compile | 8601 | the following single command: $ bitbake matchbox-desktop -C compile |
@@ -8702,7 +8702,7 @@ log to ``${T}/log.do_``\ task, and can also log to standard output | |||
8702 | The same logging functions are also available in shell functions, under | 8702 | The same logging functions are also available in shell functions, under |
8703 | the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``, | 8703 | the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``, |
8704 | and ``bbfatal``. The | 8704 | and ``bbfatal``. The |
8705 | ```logging`` <&YOCTO_DOCS_REF_URL;#ref-classes-logging>`__ class | 8705 | :ref:`logging <ref-classes-logging>` class |
8706 | implements these functions. See that class in the ``meta/classes`` | 8706 | implements these functions. See that class in the ``meta/classes`` |
8707 | folder of the `Source | 8707 | folder of the `Source |
8708 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ for information. | 8708 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ for information. |
@@ -8717,7 +8717,7 @@ in the log, use the "debug" loglevel. | |||
8717 | 8717 | ||
8718 | Following is an example written in Python. The code handles logging for | 8718 | Following is an example written in Python. The code handles logging for |
8719 | a function that determines the number of tasks needed to be run. See the | 8719 | a function that determines the number of tasks needed to be run. See the |
8720 | "```do_listtasks`` <&YOCTO_DOCS_REF_URL;#ref-tasks-listtasks>`__" | 8720 | ":ref:`ref-tasks-listtasks`" |
8721 | section for additional information: python do_listtasks() { bb.debug(2, | 8721 | section for additional information: python do_listtasks() { bb.debug(2, |
8722 | "Starting to figure out the task list") if noteworthy_condition: | 8722 | "Starting to figure out the task list") if noteworthy_condition: |
8723 | bb.note("There are 47 tasks to run") bb.debug(2, "Got to point xyz") if | 8723 | bb.note("There are 47 tasks to run") bb.debug(2, "Got to point xyz") if |
@@ -8851,7 +8851,7 @@ exists. Thus, once the error surfaces, you need a way to reproduce it. | |||
8851 | In this example, compiling the "neard" package is causing the problem. | 8851 | In this example, compiling the "neard" package is causing the problem. |
8852 | So the first thing to do is build "neard" locally. Before you start the | 8852 | So the first thing to do is build "neard" locally. Before you start the |
8853 | build, set the | 8853 | build, set the |
8854 | ```PARALLEL_MAKE`` <&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE>`__ variable | 8854 | :term:`PARALLEL_MAKE` variable |
8855 | in your ``local.conf`` file to a high number (e.g. "-j 20"). Using a | 8855 | in your ``local.conf`` file to a high number (e.g. "-j 20"). Using a |
8856 | high value for ``PARALLEL_MAKE`` increases the chances of the race | 8856 | high value for ``PARALLEL_MAKE`` increases the chances of the race |
8857 | condition showing up: $ bitbake neard | 8857 | condition showing up: $ bitbake neard |
@@ -8895,7 +8895,7 @@ Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ named ``poky``: $ | |||
8895 | cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard | 8895 | cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard |
8896 | The final thing you need to do to implement the fix in the build is to | 8896 | The final thing you need to do to implement the fix in the build is to |
8897 | update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the | 8897 | update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the |
8898 | ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statement includes | 8898 | :term:`SRC_URI` statement includes |
8899 | the patch file. The recipe file is in the folder above the patch. Here | 8899 | the patch file. The recipe file is in the folder above the patch. Here |
8900 | is what the edited ``SRC_URI`` statement would look like: SRC_URI = | 8900 | is what the edited ``SRC_URI`` statement would look like: SRC_URI = |
8901 | "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \\ | 8901 | "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \\ |
@@ -8930,7 +8930,7 @@ GDB allows you to examine running programs, which in turn helps you to | |||
8930 | understand and fix problems. It also allows you to perform post-mortem | 8930 | understand and fix problems. It also allows you to perform post-mortem |
8931 | style analysis of program crashes. GDB is available as a package within | 8931 | style analysis of program crashes. GDB is available as a package within |
8932 | the Yocto Project and is installed in SDK images by default. See the | 8932 | the Yocto Project and is installed in SDK images by default. See the |
8933 | "`Images <&YOCTO_DOCS_REF_URL;#ref-images>`__" chapter in the Yocto | 8933 | ":ref:`ref-manual/ref-images:Images`" chapter in the Yocto |
8934 | Project Reference Manual for a description of these images. You can find | 8934 | Project Reference Manual for a description of these images. You can find |
8935 | information on GDB at ` <http://sourceware.org/gdb/>`__. | 8935 | information on GDB at ` <http://sourceware.org/gdb/>`__. |
8936 | 8936 | ||
@@ -9114,10 +9114,10 @@ debug on the target hardware. | |||
9114 | To support this kind of debugging, you need do the following: | 9114 | To support this kind of debugging, you need do the following: |
9115 | 9115 | ||
9116 | - Ensure that GDB is on the target. You can do this by adding "gdb" to | 9116 | - Ensure that GDB is on the target. You can do this by adding "gdb" to |
9117 | ```IMAGE_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL>`__: | 9117 | :term:`IMAGE_INSTALL`: |
9118 | IMAGE_INSTALL_append = " gdb" Alternatively, you can add | 9118 | IMAGE_INSTALL_append = " gdb" Alternatively, you can add |
9119 | "tools-debug" to | 9119 | "tools-debug" to |
9120 | ```IMAGE_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES>`__: | 9120 | :term:`IMAGE_FEATURES`: |
9121 | IMAGE_FEATURES_append = " tools-debug" | 9121 | IMAGE_FEATURES_append = " tools-debug" |
9122 | 9122 | ||
9123 | - Ensure that debug symbols are present. You can make sure these | 9123 | - Ensure that debug symbols are present. You can make sure these |
@@ -9162,12 +9162,12 @@ Here are some other tips that you might find useful: | |||
9162 | is also possible to switch out of the splashscreen by switching the | 9162 | is also possible to switch out of the splashscreen by switching the |
9163 | virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). | 9163 | virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). |
9164 | 9164 | ||
9165 | - Removing ```TMPDIR`` <&YOCTO_DOCS_REF_URL;#var-TMPDIR>`__ (usually | 9165 | - Removing :term:`TMPDIR` (usually |
9166 | ``tmp/``, within the `Build | 9166 | ``tmp/``, within the `Build |
9167 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__) can often fix | 9167 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__) can often fix |
9168 | temporary build issues. Removing ``TMPDIR`` is usually a relatively | 9168 | temporary build issues. Removing ``TMPDIR`` is usually a relatively |
9169 | cheap operation, because task output will be cached in | 9169 | cheap operation, because task output will be cached in |
9170 | ```SSTATE_DIR`` <&YOCTO_DOCS_REF_URL;#var-SSTATE_DIR>`__ (usually | 9170 | :term:`SSTATE_DIR` (usually |
9171 | ``sstate-cache/``, which is also in the Build Directory). | 9171 | ``sstate-cache/``, which is also in the Build Directory). |
9172 | 9172 | ||
9173 | .. note:: | 9173 | .. note:: |
@@ -9654,7 +9654,7 @@ Tracking License Changes | |||
9654 | 9654 | ||
9655 | The license of an upstream project might change in the future. In order | 9655 | The license of an upstream project might change in the future. In order |
9656 | to prevent these changes going unnoticed, the | 9656 | to prevent these changes going unnoticed, the |
9657 | ```LIC_FILES_CHKSUM`` <&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM>`__ | 9657 | :term:`LIC_FILES_CHKSUM` |
9658 | variable tracks changes to the license text. The checksums are validated | 9658 | variable tracks changes to the license text. The checksums are validated |
9659 | at the end of the configure step, and if the checksums do not match, the | 9659 | at the end of the configure step, and if the checksums do not match, the |
9660 | build will fail. | 9660 | build will fail. |
@@ -9682,7 +9682,7 @@ file://licfile2.txt;endline=50;md5=zzzz \\ ..." | |||
9682 | as part of the QA message. Using this output, you can determine | 9682 | as part of the QA message. Using this output, you can determine |
9683 | the exact start and finish for the needed license text. | 9683 | the exact start and finish for the needed license text. |
9684 | 9684 | ||
9685 | The build system uses the ```S`` <&YOCTO_DOCS_REF_URL;#var-S>`__ | 9685 | The build system uses the :term:`S` |
9686 | variable as the default directory when searching files listed in | 9686 | variable as the default directory when searching files listed in |
9687 | ``LIC_FILES_CHKSUM``. The previous example employs the default | 9687 | ``LIC_FILES_CHKSUM``. The previous example employs the default |
9688 | directory. | 9688 | directory. |
@@ -9694,7 +9694,7 @@ md5=bb14ed3c4cda583abc85401304b5cd4e" LIC_FILES_CHKSUM = | |||
9694 | 9694 | ||
9695 | The first line locates a file in ``${S}/src/ls.c`` and isolates lines | 9695 | The first line locates a file in ``${S}/src/ls.c`` and isolates lines |
9696 | five through 16 as license text. The second line refers to a file in | 9696 | five through 16 as license text. The second line refers to a file in |
9697 | ```WORKDIR`` <&YOCTO_DOCS_REF_URL;#var-WORKDIR>`__. | 9697 | :term:`WORKDIR`. |
9698 | 9698 | ||
9699 | Note that ``LIC_FILES_CHKSUM`` variable is mandatory for all recipes, | 9699 | Note that ``LIC_FILES_CHKSUM`` variable is mandatory for all recipes, |
9700 | unless the ``LICENSE`` variable is set to "CLOSED". | 9700 | unless the ``LICENSE`` variable is set to "CLOSED". |
@@ -9733,7 +9733,7 @@ long as it is kept up to date. | |||
9733 | .. note:: | 9733 | .. note:: |
9734 | 9734 | ||
9735 | - If you specify an empty or invalid "md5" parameter, | 9735 | - If you specify an empty or invalid "md5" parameter, |
9736 | `BitBake <&YOCTO_DOCS_REF_URL;#bitbake-term>`__ returns an md5 | 9736 | :term:`BitBake` returns an md5 |
9737 | mis-match error and displays the correct "md5" parameter value | 9737 | mis-match error and displays the correct "md5" parameter value |
9738 | during the build. The correct parameter is also captured in the | 9738 | during the build. The correct parameter is also captured in the |
9739 | build log. | 9739 | build log. |
@@ -9747,7 +9747,7 @@ Enabling Commercially Licensed Recipes | |||
9747 | By default, the OpenEmbedded build system disables components that have | 9747 | By default, the OpenEmbedded build system disables components that have |
9748 | commercial or other special licensing requirements. Such requirements | 9748 | commercial or other special licensing requirements. Such requirements |
9749 | are defined on a recipe-by-recipe basis through the | 9749 | are defined on a recipe-by-recipe basis through the |
9750 | ```LICENSE_FLAGS`` <&YOCTO_DOCS_REF_URL;#var-LICENSE_FLAGS>`__ variable | 9750 | :term:`LICENSE_FLAGS` variable |
9751 | definition in the affected recipe. For instance, the | 9751 | definition in the affected recipe. For instance, the |
9752 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` recipe | 9752 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` recipe |
9753 | contains the following statement: LICENSE_FLAGS = "commercial" Here is a | 9753 | contains the following statement: LICENSE_FLAGS = "commercial" Here is a |
@@ -9756,7 +9756,7 @@ name and version (after variable expansion): LICENSE_FLAGS = | |||
9756 | "license_${PN}_${PV}" In order for a component restricted by a | 9756 | "license_${PN}_${PV}" In order for a component restricted by a |
9757 | ``LICENSE_FLAGS`` definition to be enabled and included in an image, it | 9757 | ``LICENSE_FLAGS`` definition to be enabled and included in an image, it |
9758 | needs to have a matching entry in the global | 9758 | needs to have a matching entry in the global |
9759 | ```LICENSE_FLAGS_WHITELIST`` <&YOCTO_DOCS_REF_URL;#var-LICENSE_FLAGS_WHITELIST>`__ | 9759 | :term:`LICENSE_FLAGS_WHITELIST` |
9760 | variable, which is a variable typically defined in your ``local.conf`` | 9760 | variable, which is a variable typically defined in your ``local.conf`` |
9761 | file. For example, to enable the | 9761 | file. For example, to enable the |
9762 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you | 9762 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you |
@@ -9930,14 +9930,14 @@ for most compliance groups - providing the source. The Yocto Project has | |||
9930 | a few ways of meeting this requirement. | 9930 | a few ways of meeting this requirement. |
9931 | 9931 | ||
9932 | One of the easiest ways to meet this requirement is to provide the | 9932 | One of the easiest ways to meet this requirement is to provide the |
9933 | entire ```DL_DIR`` <&YOCTO_DOCS_REF_URL;#var-DL_DIR>`__ used by the | 9933 | entire :term:`DL_DIR` used by the |
9934 | build. This method, however, has a few issues. The most obvious is the | 9934 | build. This method, however, has a few issues. The most obvious is the |
9935 | size of the directory since it includes all sources used in the build | 9935 | size of the directory since it includes all sources used in the build |
9936 | and not just the source used in the released image. It will include | 9936 | and not just the source used in the released image. It will include |
9937 | toolchain source, and other artifacts, which you would not generally | 9937 | toolchain source, and other artifacts, which you would not generally |
9938 | release. However, the more serious issue for most companies is | 9938 | release. However, the more serious issue for most companies is |
9939 | accidental release of proprietary software. The Yocto Project provides | 9939 | accidental release of proprietary software. The Yocto Project provides |
9940 | an ```archiver`` <&YOCTO_DOCS_REF_URL;#ref-classes-archiver>`__ class to | 9940 | an :ref:`archiver <ref-classes-archiver>` class to |
9941 | help avoid some of these concerns. | 9941 | help avoid some of these concerns. |
9942 | 9942 | ||
9943 | Before you employ ``DL_DIR`` or the ``archiver`` class, you need to | 9943 | Before you employ ``DL_DIR`` or the ``archiver`` class, you need to |
@@ -9952,7 +9952,7 @@ Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += | |||
9952 | "archiver" ARCHIVER_MODE[src] = "original" During the creation of your | 9952 | "archiver" ARCHIVER_MODE[src] = "original" During the creation of your |
9953 | image, the source from all recipes that deploy packages to the image is | 9953 | image, the source from all recipes that deploy packages to the image is |
9954 | placed within subdirectories of ``DEPLOY_DIR/sources`` based on the | 9954 | placed within subdirectories of ``DEPLOY_DIR/sources`` based on the |
9955 | ```LICENSE`` <&YOCTO_DOCS_REF_URL;#var-LICENSE>`__ for each recipe. | 9955 | :term:`LICENSE` for each recipe. |
9956 | Releasing the entire directory enables you to comply with requirements | 9956 | Releasing the entire directory enables you to comply with requirements |
9957 | concerning providing the unmodified source. It is important to note that | 9957 | concerning providing the unmodified source. It is important to note that |
9958 | the size of the directory can get large. | 9958 | the size of the directory can get large. |
@@ -9997,11 +9997,11 @@ generation are included on your image. | |||
9997 | ``/usr/share/license``. | 9997 | ``/usr/share/license``. |
9998 | 9998 | ||
9999 | The reason for this behavior is because | 9999 | The reason for this behavior is because |
10000 | ```COPY_LIC_DIRS`` <&YOCTO_DOCS_REF_URL;#var-COPY_LIC_DIRS>`__ and | 10000 | :term:`COPY_LIC_DIRS` and |
10001 | ```COPY_LIC_MANIFEST`` <&YOCTO_DOCS_REF_URL;#var-COPY_LIC_MANIFEST>`__ | 10001 | :term:`COPY_LIC_MANIFEST` |
10002 | add a copy of the license when the image is built but do not offer a | 10002 | add a copy of the license when the image is built but do not offer a |
10003 | path for adding licenses for newly installed packages to an image. | 10003 | path for adding licenses for newly installed packages to an image. |
10004 | ```LICENSE_CREATE_PACKAGE`` <&YOCTO_DOCS_REF_URL;#var-LICENSE_CREATE_PACKAGE>`__ | 10004 | :term:`LICENSE_CREATE_PACKAGE` |
10005 | adds a separate package and an upgrade path for adding licenses to an | 10005 | adds a separate package and an upgrade path for adding licenses to an |
10006 | image. | 10006 | image. |
10007 | 10007 | ||
@@ -10043,7 +10043,7 @@ is increased each time build/conf/bblayers.conf # changes incompatibly | |||
10043 | POKY_BBLAYERS_CONF_VERSION = "2" BBPATH = "${TOPDIR}" BBFILES ?= "" | 10043 | POKY_BBLAYERS_CONF_VERSION = "2" BBPATH = "${TOPDIR}" BBFILES ?= "" |
10044 | BBLAYERS ?= " \\ ##OEROOT##/meta \\ ##OEROOT##/meta-poky \\ | 10044 | BBLAYERS ?= " \\ ##OEROOT##/meta \\ ##OEROOT##/meta-poky \\ |
10045 | ##OEROOT##/meta-yocto-bsp \\ ##OEROOT##/meta-mylayer \\ " Creating and | 10045 | ##OEROOT##/meta-yocto-bsp \\ ##OEROOT##/meta-mylayer \\ " Creating and |
10046 | providing an archive of the `Metadata <&YOCTO_DOCS_REF_URL;#metadata>`__ | 10046 | providing an archive of the :term:`Metadata` |
10047 | layers (recipes, configuration files, and so forth) enables you to meet | 10047 | layers (recipes, configuration files, and so forth) enables you to meet |
10048 | your requirements to include the scripts to control compilation as well | 10048 | your requirements to include the scripts to control compilation as well |
10049 | as any modifications to the original source. | 10049 | as any modifications to the original source. |
@@ -10055,7 +10055,7 @@ Some packages, such as the linux-firmware package, have many licenses | |||
10055 | that are not in any way common. You can avoid adding a lot of these | 10055 | that are not in any way common. You can avoid adding a lot of these |
10056 | types of common license files, which are only applicable to a specific | 10056 | types of common license files, which are only applicable to a specific |
10057 | package, by using the | 10057 | package, by using the |
10058 | ```NO_GENERIC_LICENSE`` <&YOCTO_DOCS_REF_URL;#var-NO_GENERIC_LICENSE>`__ | 10058 | :term:`NO_GENERIC_LICENSE` |
10059 | variable. Using this variable also avoids QA errors when you use a | 10059 | variable. Using this variable also avoids QA errors when you use a |
10060 | non-common, non-CLOSED license in a recipe. | 10060 | non-common, non-CLOSED license in a recipe. |
10061 | 10061 | ||
@@ -10091,14 +10091,14 @@ Enabling and Using the Tool | |||
10091 | 10091 | ||
10092 | By default, the error reporting tool is disabled. You can enable it by | 10092 | By default, the error reporting tool is disabled. You can enable it by |
10093 | inheriting the | 10093 | inheriting the |
10094 | ```report-error`` <&YOCTO_DOCS_REF_URL;#ref-classes-report-error>`__ | 10094 | :ref:`report-error <ref-classes-report-error>` |
10095 | class by adding the following statement to the end of your | 10095 | class by adding the following statement to the end of your |
10096 | ``local.conf`` file in your `Build | 10096 | ``local.conf`` file in your `Build |
10097 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. INHERIT += | 10097 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. INHERIT += |
10098 | "report-error" | 10098 | "report-error" |
10099 | 10099 | ||
10100 | By default, the error reporting feature stores information in | 10100 | By default, the error reporting feature stores information in |
10101 | ``${``\ ```LOG_DIR`` <&YOCTO_DOCS_REF_URL;#var-LOG_DIR>`__\ ``}/error-report``. | 10101 | ``${``\ :term:`LOG_DIR`\ ``}/error-report``. |
10102 | However, you can specify a directory to use by adding the following to | 10102 | However, you can specify a directory to use by adding the following to |
10103 | your ``local.conf`` file: ERR_REPORT_DIR = "path" Enabling error | 10103 | your ``local.conf`` file: ERR_REPORT_DIR = "path" Enabling error |
10104 | reporting causes the build process to collect the errors and store them | 10104 | reporting causes the build process to collect the errors and store them |
@@ -10127,7 +10127,7 @@ Disabling the Tool | |||
10127 | 10127 | ||
10128 | To disable the error reporting feature, simply remove or comment out the | 10128 | To disable the error reporting feature, simply remove or comment out the |
10129 | following statement from the end of your ``local.conf`` file in your | 10129 | following statement from the end of your ``local.conf`` file in your |
10130 | `Build Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. INHERIT += | 10130 | :term:`Build Directory`. INHERIT += |
10131 | "report-error" | 10131 | "report-error" |
10132 | 10132 | ||
10133 | Setting Up Your Own Error Reporting Server | 10133 | Setting Up Your Own Error Reporting Server |
@@ -10191,7 +10191,7 @@ To cause Mesa to build the ``wayland-egl`` platform and Weston to build | |||
10191 | Wayland with Kernel Mode Setting | 10191 | Wayland with Kernel Mode Setting |
10192 | (`KMS <https://wiki.archlinux.org/index.php/Kernel_Mode_Setting>`__) | 10192 | (`KMS <https://wiki.archlinux.org/index.php/Kernel_Mode_Setting>`__) |
10193 | support, include the "wayland" flag in the | 10193 | support, include the "wayland" flag in the |
10194 | ```DISTRO_FEATURES`` <&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES>`__ | 10194 | :term:`DISTRO_FEATURES` |
10195 | statement in your ``local.conf`` file: DISTRO_FEATURES_append = " | 10195 | statement in your ``local.conf`` file: DISTRO_FEATURES_append = " |
10196 | wayland" | 10196 | wayland" |
10197 | 10197 | ||
@@ -10207,7 +10207,7 @@ Installing | |||
10207 | 10207 | ||
10208 | To install the Wayland feature into an image, you must include the | 10208 | To install the Wayland feature into an image, you must include the |
10209 | following | 10209 | following |
10210 | ```CORE_IMAGE_EXTRA_INSTALL`` <&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL>`__ | 10210 | :term:`CORE_IMAGE_EXTRA_INSTALL` |
10211 | statement in your ``local.conf`` file: CORE_IMAGE_EXTRA_INSTALL += | 10211 | statement in your ``local.conf`` file: CORE_IMAGE_EXTRA_INSTALL += |
10212 | "wayland weston" | 10212 | "wayland weston" |
10213 | 10213 | ||