diff options
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 | ||