diff options
Diffstat (limited to 'documentation/ref-manual/classes.rst')
-rw-r--r-- | documentation/ref-manual/classes.rst | 611 |
1 files changed, 296 insertions, 315 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index fed3dcc066..7dba617db5 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
@@ -37,7 +37,7 @@ information. | |||
37 | ``allarch`` | 37 | ``allarch`` |
38 | =========== | 38 | =========== |
39 | 39 | ||
40 | The :ref:`allarch <ref-classes-allarch>` class is inherited by recipes that do not produce | 40 | The :ref:`ref-classes-allarch` class is inherited by recipes that do not produce |
41 | architecture-specific output. The class disables functionality that is | 41 | architecture-specific output. The class disables functionality that is |
42 | normally needed for recipes that produce executable binaries (such as | 42 | normally needed for recipes that produce executable binaries (such as |
43 | building the cross-compiler and a C library as pre-requisites, and | 43 | building the cross-compiler and a C library as pre-requisites, and |
@@ -49,7 +49,7 @@ splitting out of debug symbols during packaging). | |||
49 | produce packages that depend on tunings through use of the | 49 | produce packages that depend on tunings through use of the |
50 | :term:`RDEPENDS` and | 50 | :term:`RDEPENDS` and |
51 | :term:`TUNE_PKGARCH` variables, should never be | 51 | :term:`TUNE_PKGARCH` variables, should never be |
52 | configured for all architectures using :ref:`allarch <ref-classes-allarch>`. This is the case | 52 | configured for all architectures using :ref:`ref-classes-allarch`. This is the case |
53 | even if the recipes do not produce architecture-specific output. | 53 | even if the recipes do not produce architecture-specific output. |
54 | 54 | ||
55 | Configuring such recipes for all architectures causes the | 55 | Configuring such recipes for all architectures causes the |
@@ -58,22 +58,22 @@ splitting out of debug symbols during packaging). | |||
58 | Additionally, unnecessary rebuilds occur every time an image for a | 58 | Additionally, unnecessary rebuilds occur every time an image for a |
59 | different :term:`MACHINE` is built even when the recipe never changes. | 59 | different :term:`MACHINE` is built even when the recipe never changes. |
60 | 60 | ||
61 | By default, all recipes inherit the :ref:`base <ref-classes-base>` and | 61 | By default, all recipes inherit the :ref:`ref-classes-base` and |
62 | :ref:`package <ref-classes-package>` classes, which enable | 62 | :ref:`ref-classes-package` classes, which enable |
63 | functionality needed for recipes that produce executable output. If your | 63 | functionality needed for recipes that produce executable output. If your |
64 | recipe, for example, only produces packages that contain configuration | 64 | recipe, for example, only produces packages that contain configuration |
65 | files, media files, or scripts (e.g. Python and Perl), then it should | 65 | files, media files, or scripts (e.g. Python and Perl), then it should |
66 | inherit the :ref:`allarch <ref-classes-allarch>` class. | 66 | inherit the :ref:`ref-classes-allarch` class. |
67 | 67 | ||
68 | .. _ref-classes-archiver: | 68 | .. _ref-classes-archiver: |
69 | 69 | ||
70 | ``archiver`` | 70 | ``archiver`` |
71 | ============ | 71 | ============ |
72 | 72 | ||
73 | The :ref:`archiver <ref-classes-archiver>` class supports releasing source code and other | 73 | The :ref:`ref-classes-archiver` class supports releasing source code and other |
74 | materials with the binaries. | 74 | materials with the binaries. |
75 | 75 | ||
76 | For more details on the source :ref:`archiver <ref-classes-archiver>`, see the | 76 | For more details on the source :ref:`ref-classes-archiver`, see the |
77 | ":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" | 77 | ":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" |
78 | section in the Yocto Project Development Tasks Manual. You can also see | 78 | section in the Yocto Project Development Tasks Manual. You can also see |
79 | the :term:`ARCHIVER_MODE` variable for information | 79 | the :term:`ARCHIVER_MODE` variable for information |
@@ -102,7 +102,7 @@ By default, the :ref:`autotools* <ref-classes-autotools>` classes use out-of-tre | |||
102 | If the software being built by a recipe does not support using | 102 | If the software being built by a recipe does not support using |
103 | out-of-tree builds, you should have the recipe inherit the | 103 | out-of-tree builds, you should have the recipe inherit the |
104 | :ref:`autotools-brokensep <ref-classes-autotools>` class. The :ref:`autotools-brokensep <ref-classes-autotools>` class behaves | 104 | :ref:`autotools-brokensep <ref-classes-autotools>` class. The :ref:`autotools-brokensep <ref-classes-autotools>` class behaves |
105 | the same as the :ref:`autotools <ref-classes-autotools>` class but builds with :term:`B` | 105 | the same as the :ref:`ref-classes-autotools` class but builds with :term:`B` |
106 | == :term:`S`. This method is useful when out-of-tree build | 106 | == :term:`S`. This method is useful when out-of-tree build |
107 | support is either not present or is broken. | 107 | support is either not present or is broken. |
108 | 108 | ||
@@ -133,14 +133,13 @@ It's useful to have some idea of how the tasks defined by the | |||
133 | ``base`` | 133 | ``base`` |
134 | ======== | 134 | ======== |
135 | 135 | ||
136 | The :ref:`base <ref-classes-base>` class is special in that every ``.bb`` file implicitly | 136 | The :ref:`ref-classes-base` class is special in that every ``.bb`` file implicitly |
137 | inherits the class. This class contains definitions for standard basic | 137 | inherits the class. This class contains definitions for standard basic |
138 | tasks such as fetching, unpacking, configuring (empty by default), | 138 | tasks such as fetching, unpacking, configuring (empty by default), |
139 | compiling (runs any ``Makefile`` present), installing (empty by default) | 139 | compiling (runs any ``Makefile`` present), installing (empty by default) |
140 | and packaging (empty by default). These classes are often overridden or | 140 | and packaging (empty by default). These classes are often overridden or |
141 | extended by other classes such as the | 141 | extended by other classes such as the :ref:`ref-classes-autotools` class or the |
142 | :ref:`autotools <ref-classes-autotools>` class or the | 142 | :ref:`ref-classes-package` class. |
143 | :ref:`package <ref-classes-package>` class. | ||
144 | 143 | ||
145 | The class also contains some commonly used functions such as | 144 | The class also contains some commonly used functions such as |
146 | ``oe_runmake``, which runs ``make`` with the arguments specified in | 145 | ``oe_runmake``, which runs ``make`` with the arguments specified in |
@@ -160,7 +159,7 @@ software that includes bash-completion data. | |||
160 | ``bin_package`` | 159 | ``bin_package`` |
161 | =============== | 160 | =============== |
162 | 161 | ||
163 | The :ref:`bin_package <ref-classes-bin-package>` class is a helper class for recipes that extract the | 162 | The :ref:`ref-classes-bin-package` class is a helper class for recipes that extract the |
164 | contents of a binary package (e.g. an RPM) and install those contents | 163 | contents of a binary package (e.g. an RPM) and install those contents |
165 | rather than building the binary from source. The binary package is | 164 | rather than building the binary from source. The binary package is |
166 | extracted and new packages in the configured output package format are | 165 | extracted and new packages in the configured output package format are |
@@ -187,7 +186,7 @@ example use for this class. | |||
187 | ``binconfig`` | 186 | ``binconfig`` |
188 | ============= | 187 | ============= |
189 | 188 | ||
190 | The :ref:`binconfig <ref-classes-binconfig>` class helps to correct paths in shell scripts. | 189 | The :ref:`ref-classes-binconfig` class helps to correct paths in shell scripts. |
191 | 190 | ||
192 | Before ``pkg-config`` had become widespread, libraries shipped shell | 191 | Before ``pkg-config`` had become widespread, libraries shipped shell |
193 | scripts to give information about the libraries and include paths needed | 192 | scripts to give information about the libraries and include paths needed |
@@ -207,7 +206,7 @@ information. | |||
207 | ``binconfig-disabled`` | 206 | ``binconfig-disabled`` |
208 | ====================== | 207 | ====================== |
209 | 208 | ||
210 | An alternative version of the :ref:`binconfig <ref-classes-binconfig>` | 209 | An alternative version of the :ref:`ref-classes-binconfig` |
211 | class, which disables binary configuration scripts by making them return | 210 | class, which disables binary configuration scripts by making them return |
212 | an error in favor of using ``pkg-config`` to query the information. The | 211 | an error in favor of using ``pkg-config`` to query the information. The |
213 | scripts to be disabled should be specified using the :term:`BINCONFIG` | 212 | scripts to be disabled should be specified using the :term:`BINCONFIG` |
@@ -218,7 +217,7 @@ variable within the recipe inheriting the class. | |||
218 | ``buildhistory`` | 217 | ``buildhistory`` |
219 | ================ | 218 | ================ |
220 | 219 | ||
221 | The :ref:`buildhistory <ref-classes-buildhistory>` class records a history of build output metadata, | 220 | The :ref:`ref-classes-buildhistory` class records a history of build output metadata, |
222 | which can be used to detect possible regressions as well as used for | 221 | which can be used to detect possible regressions as well as used for |
223 | analysis of the build output. For more information on using Build | 222 | analysis of the build output. For more information on using Build |
224 | History, see the | 223 | History, see the |
@@ -230,7 +229,7 @@ section in the Yocto Project Development Tasks Manual. | |||
230 | ``buildstats`` | 229 | ``buildstats`` |
231 | ============== | 230 | ============== |
232 | 231 | ||
233 | The :ref:`buildstats <ref-classes-buildstats>` class records performance statistics about each task | 232 | The :ref:`ref-classes-buildstats` class records performance statistics about each task |
234 | executed during the build (e.g. elapsed time, CPU usage, and I/O usage). | 233 | executed during the build (e.g. elapsed time, CPU usage, and I/O usage). |
235 | 234 | ||
236 | When you use this class, the output goes into the | 235 | When you use this class, the output goes into the |
@@ -244,7 +243,7 @@ Collecting build statistics is enabled by default through the | |||
244 | :term:`USER_CLASSES` variable from your | 243 | :term:`USER_CLASSES` variable from your |
245 | ``local.conf`` file. Consequently, you do not have to do anything to | 244 | ``local.conf`` file. Consequently, you do not have to do anything to |
246 | enable the class. However, if you want to disable the class, simply | 245 | enable the class. However, if you want to disable the class, simply |
247 | remove ":ref:`buildstats <ref-classes-buildstats>`" from the :term:`USER_CLASSES` list. | 246 | remove ":ref:`ref-classes-buildstats`" from the :term:`USER_CLASSES` list. |
248 | 247 | ||
249 | .. _ref-classes-buildstats-summary: | 248 | .. _ref-classes-buildstats-summary: |
250 | 249 | ||
@@ -253,14 +252,14 @@ remove ":ref:`buildstats <ref-classes-buildstats>`" from the :term:`USER_CLASSES | |||
253 | 252 | ||
254 | When inherited globally, prints statistics at the end of the build on | 253 | When inherited globally, prints statistics at the end of the build on |
255 | sstate re-use. In order to function, this class requires the | 254 | sstate re-use. In order to function, this class requires the |
256 | :ref:`buildstats <ref-classes-buildstats>` class be enabled. | 255 | :ref:`ref-classes-buildstats` class be enabled. |
257 | 256 | ||
258 | .. _ref-classes-ccache: | 257 | .. _ref-classes-ccache: |
259 | 258 | ||
260 | ``ccache`` | 259 | ``ccache`` |
261 | ========== | 260 | ========== |
262 | 261 | ||
263 | The :ref:`ccache <ref-classes-ccache>` class enables the C/C++ Compiler Cache for the build. | 262 | The :ref:`ref-classes-ccache` class enables the C/C++ Compiler Cache for the build. |
264 | This class is used to give a minor performance boost during the build. | 263 | This class is used to give a minor performance boost during the build. |
265 | 264 | ||
266 | See https://ccache.samba.org/ for information on the C/C++ Compiler | 265 | See https://ccache.samba.org/ for information on the C/C++ Compiler |
@@ -277,9 +276,9 @@ this class is not recommended. | |||
277 | ``chrpath`` | 276 | ``chrpath`` |
278 | =========== | 277 | =========== |
279 | 278 | ||
280 | The :ref:`chrpath <ref-classes-chrpath>` class is a wrapper around the "chrpath" utility, which | 279 | The :ref:`ref-classes-chrpath` class is a wrapper around the "chrpath" utility, which |
281 | is used during the build process for :ref:`nativesdk <ref-classes-nativesdk>`, :ref:`cross <ref-classes-cross>`, and | 280 | is used during the build process for :ref:`ref-classes-nativesdk`, :ref:`ref-classes-cross`, and |
282 | :ref:`cross-canadian <ref-classes-cross-canadian>` recipes to change ``RPATH`` records within binaries | 281 | :ref:`ref-classes-cross-canadian` recipes to change ``RPATH`` records within binaries |
283 | in order to make them relocatable. | 282 | in order to make them relocatable. |
284 | 283 | ||
285 | .. _ref-classes-cmake: | 284 | .. _ref-classes-cmake: |
@@ -287,7 +286,7 @@ in order to make them relocatable. | |||
287 | ``cmake`` | 286 | ``cmake`` |
288 | ========= | 287 | ========= |
289 | 288 | ||
290 | The ref:`cmake <ref-classes-cmake>` class allows for recipes that need to build software using | 289 | The ref:`ref-classes-cmake` class allows for recipes that need to build software using |
291 | the `CMake <https://cmake.org/overview/>`__ build system. You can use | 290 | the `CMake <https://cmake.org/overview/>`__ build system. You can use |
292 | the :term:`EXTRA_OECMAKE` variable to specify | 291 | the :term:`EXTRA_OECMAKE` variable to specify |
293 | additional configuration options to be passed using the ``cmake`` | 292 | additional configuration options to be passed using the ``cmake`` |
@@ -304,7 +303,7 @@ Modules during | |||
304 | ``cml1`` | 303 | ``cml1`` |
305 | ======== | 304 | ======== |
306 | 305 | ||
307 | The :ref:`cml1 <ref-classes-cml1>` class provides basic support for the Linux kernel style | 306 | The :ref:`ref-classes-cml1` class provides basic support for the Linux kernel style |
308 | build configuration system. | 307 | build configuration system. |
309 | 308 | ||
310 | .. _ref-classes-compress_doc: | 309 | .. _ref-classes-compress_doc: |
@@ -322,18 +321,18 @@ but you can select an alternative mechanism by setting the | |||
322 | ``copyleft_compliance`` | 321 | ``copyleft_compliance`` |
323 | ======================= | 322 | ======================= |
324 | 323 | ||
325 | The :ref:`copyleft_compliance <ref-classes-copyleft_compliance>` class preserves source code for the purposes | 324 | The :ref:`ref-classes-copyleft_compliance` class preserves source code for the purposes |
326 | of license compliance. This class is an alternative to the :ref:`archiver <ref-classes-archiver>` | 325 | of license compliance. This class is an alternative to the :ref:`ref-classes-archiver` |
327 | class and is still used by some users even though it has been deprecated | 326 | class and is still used by some users even though it has been deprecated |
328 | in favor of the :ref:`archiver <ref-classes-archiver>` class. | 327 | in favor of the :ref:`ref-classes-archiver` class. |
329 | 328 | ||
330 | .. _ref-classes-copyleft_filter: | 329 | .. _ref-classes-copyleft_filter: |
331 | 330 | ||
332 | ``copyleft_filter`` | 331 | ``copyleft_filter`` |
333 | =================== | 332 | =================== |
334 | 333 | ||
335 | A class used by the :ref:`archiver <ref-classes-archiver>` and | 334 | A class used by the :ref:`ref-classes-archiver` and |
336 | :ref:`copyleft_compliance <ref-classes-copyleft_compliance>` classes | 335 | :ref:`ref-classes-copyleft_compliance` classes |
337 | for filtering licenses. The ``copyleft_filter`` class is an internal | 336 | for filtering licenses. The ``copyleft_filter`` class is an internal |
338 | class and is not intended to be used directly. | 337 | class and is not intended to be used directly. |
339 | 338 | ||
@@ -342,7 +341,7 @@ class and is not intended to be used directly. | |||
342 | ``core-image`` | 341 | ``core-image`` |
343 | ============== | 342 | ============== |
344 | 343 | ||
345 | The :ref:`core-image <ref-classes-core-image>` class provides common definitions for the | 344 | The :ref:`ref-classes-core-image` class provides common definitions for the |
346 | ``core-image-*`` image recipes, such as support for additional | 345 | ``core-image-*`` image recipes, such as support for additional |
347 | :term:`IMAGE_FEATURES`. | 346 | :term:`IMAGE_FEATURES`. |
348 | 347 | ||
@@ -372,7 +371,7 @@ support. | |||
372 | ``create-spdx`` | 371 | ``create-spdx`` |
373 | =============== | 372 | =============== |
374 | 373 | ||
375 | The :ref:`create-spdx <ref-classes-create-spdx>` class provides support for | 374 | The :ref:`ref-classes-create-spdx` class provides support for |
376 | automatically creating :term:`SPDX` :term:`SBOM` documents based upon image | 375 | automatically creating :term:`SPDX` :term:`SBOM` documents based upon image |
377 | and SDK contents. | 376 | and SDK contents. |
378 | 377 | ||
@@ -398,7 +397,7 @@ section in the Yocto Project Development Manual for more details. | |||
398 | ``cross`` | 397 | ``cross`` |
399 | ========= | 398 | ========= |
400 | 399 | ||
401 | The :ref:`cross <ref-classes-cross>` class provides support for the recipes that build the | 400 | The :ref:`ref-classes-cross` class provides support for the recipes that build the |
402 | cross-compilation tools. | 401 | cross-compilation tools. |
403 | 402 | ||
404 | .. _ref-classes-cross-canadian: | 403 | .. _ref-classes-cross-canadian: |
@@ -406,7 +405,7 @@ cross-compilation tools. | |||
406 | ``cross-canadian`` | 405 | ``cross-canadian`` |
407 | ================== | 406 | ================== |
408 | 407 | ||
409 | The :ref:`cross-canadian <ref-classes-cross-canadian>` class provides support for the recipes that build | 408 | The :ref:`ref-classes-cross-canadian` class provides support for the recipes that build |
410 | the Canadian Cross-compilation tools for SDKs. See the | 409 | the Canadian Cross-compilation tools for SDKs. See the |
411 | ":ref:`overview-manual/concepts:cross-development toolchain generation`" | 410 | ":ref:`overview-manual/concepts:cross-development toolchain generation`" |
412 | section in the Yocto Project Overview and Concepts Manual for more | 411 | section in the Yocto Project Overview and Concepts Manual for more |
@@ -417,7 +416,7 @@ discussion on these cross-compilation tools. | |||
417 | ``crosssdk`` | 416 | ``crosssdk`` |
418 | ============ | 417 | ============ |
419 | 418 | ||
420 | The :ref:`crosssdk <ref-classes-crosssdk>` class provides support for the recipes that build the | 419 | The :ref:`ref-classes-crosssdk` class provides support for the recipes that build the |
421 | cross-compilation tools used for building SDKs. See the | 420 | cross-compilation tools used for building SDKs. See the |
422 | ":ref:`overview-manual/concepts:cross-development toolchain generation`" | 421 | ":ref:`overview-manual/concepts:cross-development toolchain generation`" |
423 | section in the Yocto Project Overview and Concepts Manual for more | 422 | section in the Yocto Project Overview and Concepts Manual for more |
@@ -428,7 +427,7 @@ discussion on these cross-compilation tools. | |||
428 | ``cve-check`` | 427 | ``cve-check`` |
429 | ============= | 428 | ============= |
430 | 429 | ||
431 | The :ref:`cve-check <ref-classes-cve-check>` class looks for known CVEs (Common Vulnerabilities | 430 | The :ref:`ref-classes-cve-check` class looks for known CVEs (Common Vulnerabilities |
432 | and Exposures) while building with BitBake. This class is meant to be | 431 | and Exposures) while building with BitBake. This class is meant to be |
433 | inherited globally from a configuration file:: | 432 | inherited globally from a configuration file:: |
434 | 433 | ||
@@ -492,7 +491,7 @@ section in the Development Tasks Manual. | |||
492 | ``debian`` | 491 | ``debian`` |
493 | ========== | 492 | ========== |
494 | 493 | ||
495 | The :ref:`debian <ref-classes-debian>` class renames output packages so that they follow the | 494 | The :ref:`ref-classes-debian` class renames output packages so that they follow the |
496 | Debian naming policy (i.e. ``glibc`` becomes ``libc6`` and | 495 | Debian naming policy (i.e. ``glibc`` becomes ``libc6`` and |
497 | ``glibc-devel`` becomes ``libc6-dev``.) Renaming includes the library | 496 | ``glibc-devel`` becomes ``libc6-dev``.) Renaming includes the library |
498 | name and version as part of the package name. | 497 | name and version as part of the package name. |
@@ -507,7 +506,7 @@ naming scheme. | |||
507 | ``deploy`` | 506 | ``deploy`` |
508 | ========== | 507 | ========== |
509 | 508 | ||
510 | The :ref:`deploy <ref-classes-deploy>` class handles deploying files to the | 509 | The :ref:`ref-classes-deploy` class handles deploying files to the |
511 | :term:`DEPLOY_DIR_IMAGE` directory. The main | 510 | :term:`DEPLOY_DIR_IMAGE` directory. The main |
512 | function of this class is to allow the deploy step to be accelerated by | 511 | function of this class is to allow the deploy step to be accelerated by |
513 | shared state. Recipes that inherit this class should define their own | 512 | shared state. Recipes that inherit this class should define their own |
@@ -523,17 +522,17 @@ staging the files from :term:`DEPLOYDIR` to :term:`DEPLOY_DIR_IMAGE`. | |||
523 | ``devshell`` | 522 | ``devshell`` |
524 | ============ | 523 | ============ |
525 | 524 | ||
526 | The :ref:`devshell <ref-classes-devshell>` class adds the :ref:`ref-tasks-devshell` task. Distribution | 525 | The :ref:`ref-classes-devshell` class adds the :ref:`ref-tasks-devshell` task. Distribution |
527 | policy dictates whether to include this class. See the ":ref:`dev-manual/development-shell:using a development shell`" | 526 | policy dictates whether to include this class. See the ":ref:`dev-manual/development-shell:using a development shell`" |
528 | section in the Yocto Project Development Tasks Manual for more | 527 | section in the Yocto Project Development Tasks Manual for more |
529 | information about using :ref:`devshell <ref-classes-devshell>`. | 528 | information about using :ref:`ref-classes-devshell`. |
530 | 529 | ||
531 | .. _ref-classes-devupstream: | 530 | .. _ref-classes-devupstream: |
532 | 531 | ||
533 | ``devupstream`` | 532 | ``devupstream`` |
534 | =============== | 533 | =============== |
535 | 534 | ||
536 | The :ref:`devupstream <ref-classes-devupstream>` class uses | 535 | The :ref:`ref-classes-devupstream` class uses |
537 | :term:`BBCLASSEXTEND` to add a variant of the | 536 | :term:`BBCLASSEXTEND` to add a variant of the |
538 | recipe that fetches from an alternative URI (e.g. Git) instead of a | 537 | recipe that fetches from an alternative URI (e.g. Git) instead of a |
539 | tarball. Following is an example:: | 538 | tarball. Following is an example:: |
@@ -555,10 +554,10 @@ Any development-specific adjustments can be done by using the | |||
555 | 554 | ||
556 | The class | 555 | The class |
557 | currently only supports creating a development variant of the target | 556 | currently only supports creating a development variant of the target |
558 | recipe, not :ref:`native <ref-classes-native>` or :ref:`nativesdk <ref-classes-nativesdk>` variants. | 557 | recipe, not :ref:`ref-classes-native` or :ref:`ref-classes-nativesdk` variants. |
559 | 558 | ||
560 | The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides | 559 | The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides |
561 | support for :ref:`native <ref-classes-native>` and :ref:`nativesdk <ref-classes-nativesdk>` variants. Consequently, this | 560 | support for :ref:`ref-classes-native` and :ref:`ref-classes-nativesdk` variants. Consequently, this |
562 | functionality can be added in a future release. | 561 | functionality can be added in a future release. |
563 | 562 | ||
564 | Support for other version control systems such as Subversion is limited | 563 | Support for other version control systems such as Subversion is limited |
@@ -570,7 +569,7 @@ due to BitBake's automatic fetch dependencies (e.g. | |||
570 | ``externalsrc`` | 569 | ``externalsrc`` |
571 | =============== | 570 | =============== |
572 | 571 | ||
573 | The :ref:`externalsrc <ref-classes-externalsrc>` class supports building software from source code | 572 | The :ref:`ref-classes-externalsrc` class supports building software from source code |
574 | that is external to the OpenEmbedded build system. Building software | 573 | that is external to the OpenEmbedded build system. Building software |
575 | from an external source tree means that the build system's normal fetch, | 574 | from an external source tree means that the build system's normal fetch, |
576 | unpack, and patch process is not used. | 575 | unpack, and patch process is not used. |
@@ -578,7 +577,7 @@ unpack, and patch process is not used. | |||
578 | By default, the OpenEmbedded build system uses the :term:`S` | 577 | By default, the OpenEmbedded build system uses the :term:`S` |
579 | and :term:`B` variables to locate unpacked recipe source code | 578 | and :term:`B` variables to locate unpacked recipe source code |
580 | and to build it, respectively. When your recipe inherits the | 579 | and to build it, respectively. When your recipe inherits the |
581 | :ref:`externalsrc <ref-classes-externalsrc>` class, you use the | 580 | :ref:`ref-classes-externalsrc` class, you use the |
582 | :term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` variables to | 581 | :term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` variables to |
583 | ultimately define :term:`S` and :term:`B`. | 582 | ultimately define :term:`S` and :term:`B`. |
584 | 583 | ||
@@ -594,10 +593,9 @@ See these variables for more information: | |||
594 | :term:`WORKDIR`, :term:`BPN`, and | 593 | :term:`WORKDIR`, :term:`BPN`, and |
595 | :term:`PV`, | 594 | :term:`PV`, |
596 | 595 | ||
597 | For more information on the :ref:`externalsrc <ref-classes-externalsrc>` class, see the comments in | 596 | For more information on the :ref:`ref-classes-externalsrc` class, see the comments in |
598 | ``meta/classes/externalsrc.bbclass`` in the :term:`Source Directory`. | 597 | ``meta/classes/externalsrc.bbclass`` in the :term:`Source Directory`. |
599 | For information on how to use the | 598 | For information on how to use the :ref:`ref-classes-externalsrc` class, see the |
600 | :ref:`externalsrc <ref-classes-externalsrc>` class, see the | ||
601 | ":ref:`dev-manual/building:building software from an external source`" | 599 | ":ref:`dev-manual/building:building software from an external source`" |
602 | section in the Yocto Project Development Tasks Manual. | 600 | section in the Yocto Project Development Tasks Manual. |
603 | 601 | ||
@@ -606,7 +604,7 @@ section in the Yocto Project Development Tasks Manual. | |||
606 | ``extrausers`` | 604 | ``extrausers`` |
607 | ============== | 605 | ============== |
608 | 606 | ||
609 | The :ref:`extrausers <ref-classes-extrausers>` class allows additional user and group configuration | 607 | The :ref:`ref-classes-extrausers` class allows additional user and group configuration |
610 | to be applied at the image level. Inheriting this class either globally | 608 | to be applied at the image level. Inheriting this class either globally |
611 | or from an image recipe allows additional user and group operations to | 609 | or from an image recipe allows additional user and group operations to |
612 | be performed using the | 610 | be performed using the |
@@ -614,13 +612,11 @@ be performed using the | |||
614 | 612 | ||
615 | .. note:: | 613 | .. note:: |
616 | 614 | ||
617 | The user and group operations added using the | 615 | The user and group operations added using the :ref:`ref-classes-extrausers` |
618 | :ref:`extrausers <ref-classes-extrausers>` | ||
619 | class are not tied to a specific recipe outside of the recipe for the | 616 | class are not tied to a specific recipe outside of the recipe for the |
620 | image. Thus, the operations can be performed across the image as a | 617 | image. Thus, the operations can be performed across the image as a |
621 | whole. Use the | 618 | whole. Use the :ref:`ref-classes-useradd` class to add user and group |
622 | :ref:`useradd <ref-classes-useradd>` | 619 | configuration to a specific recipe. |
623 | class to add user and group configuration to a specific recipe. | ||
624 | 620 | ||
625 | Here is an example that uses this class in an image recipe:: | 621 | Here is an example that uses this class in an image recipe:: |
626 | 622 | ||
@@ -668,9 +664,9 @@ Finally, here is an example that sets the root password:: | |||
668 | ``features_check`` | 664 | ``features_check`` |
669 | ================== | 665 | ================== |
670 | 666 | ||
671 | The :ref:`features_check <ref-classes-features_check>` class allows individual recipes to check | 667 | The :ref:`ref-classes-features_check` class allows individual recipes to check |
672 | for required and conflicting | 668 | for required and conflicting :term:`DISTRO_FEATURES`, :term:`MACHINE_FEATURES` |
673 | :term:`DISTRO_FEATURES`, :term:`MACHINE_FEATURES` or :term:`COMBINED_FEATURES`. | 669 | or :term:`COMBINED_FEATURES`. |
674 | 670 | ||
675 | This class provides support for the following variables: | 671 | This class provides support for the following variables: |
676 | 672 | ||
@@ -694,7 +690,7 @@ triggered. | |||
694 | ``fontcache`` | 690 | ``fontcache`` |
695 | ============= | 691 | ============= |
696 | 692 | ||
697 | The :ref:`fontcache <ref-classes-fontcache>` class generates the proper post-install and | 693 | The :ref:`ref-classes-fontcache` class generates the proper post-install and |
698 | post-remove (postinst and postrm) scriptlets for font packages. These | 694 | post-remove (postinst and postrm) scriptlets for font packages. These |
699 | scriptlets call ``fc-cache`` (part of ``Fontconfig``) to add the fonts | 695 | scriptlets call ``fc-cache`` (part of ``Fontconfig``) to add the fonts |
700 | to the font information cache. Since the cache files are | 696 | to the font information cache. Since the cache files are |
@@ -710,9 +706,9 @@ packages containing the fonts. | |||
710 | ``fs-uuid`` | 706 | ``fs-uuid`` |
711 | =========== | 707 | =========== |
712 | 708 | ||
713 | The :ref:`fs-uuid <ref-classes-fs-uuid>` class extracts UUID from | 709 | The :ref:`ref-classes-fs-uuid` class extracts UUID from |
714 | ``${``\ :term:`ROOTFS`\ ``}``, which must have been built | 710 | ``${``\ :term:`ROOTFS`\ ``}``, which must have been built |
715 | by the time that this function gets called. The :ref:`fs-uuid <ref-classes-fs-uuid>` class only | 711 | by the time that this function gets called. The :ref:`ref-classes-fs-uuid` class only |
716 | works on ``ext`` file systems and depends on ``tune2fs``. | 712 | works on ``ext`` file systems and depends on ``tune2fs``. |
717 | 713 | ||
718 | .. _ref-classes-gconf: | 714 | .. _ref-classes-gconf: |
@@ -720,7 +716,7 @@ works on ``ext`` file systems and depends on ``tune2fs``. | |||
720 | ``gconf`` | 716 | ``gconf`` |
721 | ========= | 717 | ========= |
722 | 718 | ||
723 | The :ref:`gconf <ref-classes-gconf>` class provides common functionality for recipes that need | 719 | The :ref:`ref-classes-gconf` class provides common functionality for recipes that need |
724 | to install GConf schemas. The schemas will be put into a separate | 720 | to install GConf schemas. The schemas will be put into a separate |
725 | package (``${``\ :term:`PN`\ ``}-gconf``) that is created | 721 | package (``${``\ :term:`PN`\ ``}-gconf``) that is created |
726 | automatically when this class is inherited. This package uses the | 722 | automatically when this class is inherited. This package uses the |
@@ -732,7 +728,7 @@ register and unregister the schemas in the target image. | |||
732 | ``gettext`` | 728 | ``gettext`` |
733 | =========== | 729 | =========== |
734 | 730 | ||
735 | The :ref:`gettext <ref-classes-gettext>` class provides support for building | 731 | The :ref:`ref-classes-gettext` class provides support for building |
736 | software that uses the GNU ``gettext`` internationalization and localization | 732 | software that uses the GNU ``gettext`` internationalization and localization |
737 | system. All recipes building software that use ``gettext`` should inherit this | 733 | system. All recipes building software that use ``gettext`` should inherit this |
738 | class. | 734 | class. |
@@ -742,11 +738,11 @@ class. | |||
742 | ``github-releases`` | 738 | ``github-releases`` |
743 | =================== | 739 | =================== |
744 | 740 | ||
745 | For recipes that fetch release tarballs from github, the :ref:`github-releases <ref-classes-github-releases>` | 741 | For recipes that fetch release tarballs from github, the :ref:`ref-classes-github-releases` |
746 | class sets up a standard way for checking available upstream versions | 742 | class sets up a standard way for checking available upstream versions |
747 | (to support ``devtool upgrade`` and the Automated Upgrade Helper (AUH)). | 743 | (to support ``devtool upgrade`` and the Automated Upgrade Helper (AUH)). |
748 | 744 | ||
749 | To use it, add ":ref:`github-releases <ref-classes-github-releases>`" to the inherit line in the recipe, | 745 | To use it, add ":ref:`ref-classes-github-releases`" to the inherit line in the recipe, |
750 | and if the default value of :term:`GITHUB_BASE_URI` is not suitable, | 746 | and if the default value of :term:`GITHUB_BASE_URI` is not suitable, |
751 | then set your own value in the recipe. You should then use ``${GITHUB_BASE_URI}`` | 747 | then set your own value in the recipe. You should then use ``${GITHUB_BASE_URI}`` |
752 | in the value you set for :term:`SRC_URI` within the recipe. | 748 | in the value you set for :term:`SRC_URI` within the recipe. |
@@ -756,7 +752,7 @@ in the value you set for :term:`SRC_URI` within the recipe. | |||
756 | ``gnomebase`` | 752 | ``gnomebase`` |
757 | ============= | 753 | ============= |
758 | 754 | ||
759 | The :ref:`gnomebase <ref-classes-gnomebase>` class is the base class for recipes that build | 755 | The :ref:`ref-classes-gnomebase` class is the base class for recipes that build |
760 | software from the GNOME stack. This class sets | 756 | software from the GNOME stack. This class sets |
761 | :term:`SRC_URI` to download the source from the GNOME | 757 | :term:`SRC_URI` to download the source from the GNOME |
762 | mirrors as well as extending :term:`FILES` with the typical | 758 | mirrors as well as extending :term:`FILES` with the typical |
@@ -785,7 +781,7 @@ introspection. This functionality is only enabled if the | |||
785 | ``grub-efi`` | 781 | ``grub-efi`` |
786 | ============ | 782 | ============ |
787 | 783 | ||
788 | The :ref:`grub-efi <ref-classes-grub-efi>` class provides ``grub-efi``-specific functions for | 784 | The :ref:`ref-classes-grub-efi` class provides ``grub-efi``-specific functions for |
789 | building bootable images. | 785 | building bootable images. |
790 | 786 | ||
791 | This class supports several variables: | 787 | This class supports several variables: |
@@ -817,7 +813,7 @@ This class supports several variables: | |||
817 | ``gsettings`` | 813 | ``gsettings`` |
818 | ============= | 814 | ============= |
819 | 815 | ||
820 | The :ref:`gsettings <ref-classes-gsettings>` class provides common functionality for recipes that | 816 | The :ref:`ref-classes-gsettings` class provides common functionality for recipes that |
821 | need to install GSettings (glib) schemas. The schemas are assumed to be | 817 | need to install GSettings (glib) schemas. The schemas are assumed to be |
822 | part of the main package. Appropriate post-install and post-remove | 818 | part of the main package. Appropriate post-install and post-remove |
823 | (postinst/postrm) scriptlets are added to register and unregister the | 819 | (postinst/postrm) scriptlets are added to register and unregister the |
@@ -828,7 +824,7 @@ schemas in the target image. | |||
828 | ``gtk-doc`` | 824 | ``gtk-doc`` |
829 | =========== | 825 | =========== |
830 | 826 | ||
831 | The :ref:`gtk-doc <ref-classes-gtk-doc>` class is a helper class to pull in the appropriate | 827 | The :ref:`ref-classes-gtk-doc` class is a helper class to pull in the appropriate |
832 | ``gtk-doc`` dependencies and disable ``gtk-doc``. | 828 | ``gtk-doc`` dependencies and disable ``gtk-doc``. |
833 | 829 | ||
834 | .. _ref-classes-gtk-icon-cache: | 830 | .. _ref-classes-gtk-icon-cache: |
@@ -836,7 +832,7 @@ The :ref:`gtk-doc <ref-classes-gtk-doc>` class is a helper class to pull in the | |||
836 | ``gtk-icon-cache`` | 832 | ``gtk-icon-cache`` |
837 | ================== | 833 | ================== |
838 | 834 | ||
839 | The :ref:`gtk-icon-cache <ref-classes-gtk-icon-cache>` class generates the proper post-install and | 835 | The :ref:`ref-classes-gtk-icon-cache` class generates the proper post-install and |
840 | post-remove (postinst/postrm) scriptlets for packages that use GTK+ and | 836 | post-remove (postinst/postrm) scriptlets for packages that use GTK+ and |
841 | install icons. These scriptlets call ``gtk-update-icon-cache`` to add | 837 | install icons. These scriptlets call ``gtk-update-icon-cache`` to add |
842 | the fonts to GTK+'s icon cache. Since the cache files are | 838 | the fonts to GTK+'s icon cache. Since the cache files are |
@@ -849,7 +845,7 @@ creation. | |||
849 | ``gtk-immodules-cache`` | 845 | ``gtk-immodules-cache`` |
850 | ======================= | 846 | ======================= |
851 | 847 | ||
852 | The :ref:`gtk-immodules-cache <ref-classes-gtk-immodules-cache>` class generates the proper post-install and | 848 | The :ref:`ref-classes-gtk-immodules-cache` class generates the proper post-install and |
853 | post-remove (postinst/postrm) scriptlets for packages that install GTK+ | 849 | post-remove (postinst/postrm) scriptlets for packages that install GTK+ |
854 | input method modules for virtual keyboards. These scriptlets call | 850 | input method modules for virtual keyboards. These scriptlets call |
855 | ``gtk-update-icon-cache`` to add the input method modules to the cache. | 851 | ``gtk-update-icon-cache`` to add the input method modules to the cache. |
@@ -867,7 +863,7 @@ the packages containing the modules. | |||
867 | ``gzipnative`` | 863 | ``gzipnative`` |
868 | ============== | 864 | ============== |
869 | 865 | ||
870 | The :ref:`gzipnative <ref-classes-gzipnative>` class enables the use of different native versions of | 866 | The :ref:`ref-classes-gzipnative` class enables the use of different native versions of |
871 | ``gzip`` and ``pigz`` rather than the versions of these tools from the | 867 | ``gzip`` and ``pigz`` rather than the versions of these tools from the |
872 | build host. | 868 | build host. |
873 | 869 | ||
@@ -876,7 +872,7 @@ build host. | |||
876 | ``icecc`` | 872 | ``icecc`` |
877 | ========= | 873 | ========= |
878 | 874 | ||
879 | The :ref:`icecc <ref-classes-icecc>` class supports | 875 | The :ref:`ref-classes-icecc` class supports |
880 | `Icecream <https://github.com/icecc/icecream>`__, which facilitates | 876 | `Icecream <https://github.com/icecc/icecream>`__, which facilitates |
881 | taking compile jobs and distributing them among remote machines. | 877 | taking compile jobs and distributing them among remote machines. |
882 | 878 | ||
@@ -924,13 +920,13 @@ Additionally, you can list recipes using the | |||
924 | your ``local.conf`` file to force ``icecc`` to be enabled for recipes | 920 | your ``local.conf`` file to force ``icecc`` to be enabled for recipes |
925 | using an empty :term:`PARALLEL_MAKE` variable. | 921 | using an empty :term:`PARALLEL_MAKE` variable. |
926 | 922 | ||
927 | Inheriting the :ref:`icecc <ref-classes-icecc>` class changes all sstate signatures. | 923 | Inheriting the :ref:`ref-classes-icecc` class changes all sstate signatures. |
928 | Consequently, if a development team has a dedicated build system that | 924 | Consequently, if a development team has a dedicated build system that |
929 | populates :term:`SSTATE_MIRRORS` and they want to | 925 | populates :term:`SSTATE_MIRRORS` and they want to |
930 | reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build | 926 | reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build |
931 | system need to either inherit the :ref:`icecc <ref-classes-icecc>` class or nobody should. | 927 | system need to either inherit the :ref:`ref-classes-icecc` class or nobody should. |
932 | 928 | ||
933 | At the distribution level, you can inherit the :ref:`icecc <ref-classes-icecc>` class to be | 929 | At the distribution level, you can inherit the :ref:`ref-classes-icecc` class to be |
934 | sure that all builders start with the same sstate signatures. After | 930 | sure that all builders start with the same sstate signatures. After |
935 | inheriting the class, you can then disable the feature by setting the | 931 | inheriting the class, you can then disable the feature by setting the |
936 | :term:`ICECC_DISABLED` variable to "1" as follows:: | 932 | :term:`ICECC_DISABLED` variable to "1" as follows:: |
@@ -950,7 +946,7 @@ individually as follows in your ``local.conf`` file:: | |||
950 | ``image`` | 946 | ``image`` |
951 | ========= | 947 | ========= |
952 | 948 | ||
953 | The :ref:`image <ref-classes-image>` class helps support creating images in different formats. | 949 | The :ref:`ref-classes-image` class helps support creating images in different formats. |
954 | First, the root filesystem is created from packages using one of the | 950 | First, the root filesystem is created from packages using one of the |
955 | ``rootfs*.bbclass`` files (depending on the package format used) and | 951 | ``rootfs*.bbclass`` files (depending on the package format used) and |
956 | then one or more image files are created. | 952 | then one or more image files are created. |
@@ -973,7 +969,7 @@ Yocto Project Overview and Concepts Manual. | |||
973 | ``image-buildinfo`` | 969 | ``image-buildinfo`` |
974 | =================== | 970 | =================== |
975 | 971 | ||
976 | The :ref:`image-buildinfo <ref-classes-image-buildinfo>` class writes a plain text file containing | 972 | The :ref:`ref-classes-image-buildinfo` class writes a plain text file containing |
977 | build information to the target filesystem at ``${sysconfdir}/buildinfo`` | 973 | build information to the target filesystem at ``${sysconfdir}/buildinfo`` |
978 | by default (as specified by :term:`IMAGE_BUILDINFO_FILE`). | 974 | by default (as specified by :term:`IMAGE_BUILDINFO_FILE`). |
979 | This can be useful for manually determining the origin of any given | 975 | This can be useful for manually determining the origin of any given |
@@ -995,14 +991,14 @@ to ``/buildinfo`` by default (as specified by | |||
995 | ``image_types`` | 991 | ``image_types`` |
996 | =============== | 992 | =============== |
997 | 993 | ||
998 | The :ref:`image_types <ref-classes-image_types>` class defines all of the standard image output types | 994 | The :ref:`ref-classes-image_types` class defines all of the standard image output types |
999 | that you can enable through the | 995 | that you can enable through the |
1000 | :term:`IMAGE_FSTYPES` variable. You can use this | 996 | :term:`IMAGE_FSTYPES` variable. You can use this |
1001 | class as a reference on how to add support for custom image output | 997 | class as a reference on how to add support for custom image output |
1002 | types. | 998 | types. |
1003 | 999 | ||
1004 | By default, the :ref:`image <ref-classes-image>` class automatically | 1000 | By default, the :ref:`ref-classes-image` class automatically |
1005 | enables the :ref:`image_types <ref-classes-image_types>` class. The :ref:`image <ref-classes-image>` class uses the | 1001 | enables the :ref:`ref-classes-image_types` class. The :ref:`ref-classes-image` class uses the |
1006 | ``IMGCLASSES`` variable as follows:: | 1002 | ``IMGCLASSES`` variable as follows:: |
1007 | 1003 | ||
1008 | IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}" | 1004 | IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}" |
@@ -1014,7 +1010,7 @@ enables the :ref:`image_types <ref-classes-image_types>` class. The :ref:`image | |||
1014 | IMGCLASSES += "image-postinst-intercepts" | 1010 | IMGCLASSES += "image-postinst-intercepts" |
1015 | inherit ${IMGCLASSES} | 1011 | inherit ${IMGCLASSES} |
1016 | 1012 | ||
1017 | The :ref:`image_types <ref-classes-image_types>` class also handles conversion and compression of images. | 1013 | The :ref:`ref-classes-image_types` class also handles conversion and compression of images. |
1018 | 1014 | ||
1019 | .. note:: | 1015 | .. note:: |
1020 | 1016 | ||
@@ -1040,7 +1036,7 @@ Normally, you do not use this class directly. Instead, you add "live" to | |||
1040 | ``insane`` | 1036 | ``insane`` |
1041 | ========== | 1037 | ========== |
1042 | 1038 | ||
1043 | The :ref:`insane <ref-classes-insane>` class adds a step to the package generation process so | 1039 | The :ref:`ref-classes-insane` class adds a step to the package generation process so |
1044 | that output quality assurance checks are generated by the OpenEmbedded | 1040 | that output quality assurance checks are generated by the OpenEmbedded |
1045 | build system. A range of checks are performed that check the build's | 1041 | build system. A range of checks are performed that check the build's |
1046 | output for common problems that show up during runtime. Distribution | 1042 | output for common problems that show up during runtime. Distribution |
@@ -1100,7 +1096,7 @@ Here are the tests you can list with the :term:`WARN_QA` and | |||
1100 | the package is installed into the image during the | 1096 | the package is installed into the image during the |
1101 | :ref:`ref-tasks-rootfs` task because the auto-detected | 1097 | :ref:`ref-tasks-rootfs` task because the auto-detected |
1102 | dependency was not satisfied. An example of this would be where the | 1098 | dependency was not satisfied. An example of this would be where the |
1103 | :ref:`update-rc.d <ref-classes-update-rc.d>` class automatically | 1099 | :ref:`ref-classes-update-rc.d` class automatically |
1104 | adds a dependency on the ``initscripts-functions`` package to | 1100 | adds a dependency on the ``initscripts-functions`` package to |
1105 | packages that install an initscript that refers to | 1101 | packages that install an initscript that refers to |
1106 | ``/etc/init.d/functions``. The recipe should really have an explicit | 1102 | ``/etc/init.d/functions``. The recipe should really have an explicit |
@@ -1340,7 +1336,7 @@ Here are the tests you can list with the :term:`WARN_QA` and | |||
1340 | ``insserv`` | 1336 | ``insserv`` |
1341 | =========== | 1337 | =========== |
1342 | 1338 | ||
1343 | The :ref:`insserv <ref-classes-insserv>` class uses the ``insserv`` utility to update the order | 1339 | The :ref:`ref-classes-insserv` class uses the ``insserv`` utility to update the order |
1344 | of symbolic links in ``/etc/rc?.d/`` within an image based on | 1340 | of symbolic links in ``/etc/rc?.d/`` within an image based on |
1345 | dependencies specified by LSB headers in the ``init.d`` scripts | 1341 | dependencies specified by LSB headers in the ``init.d`` scripts |
1346 | themselves. | 1342 | themselves. |
@@ -1350,10 +1346,10 @@ themselves. | |||
1350 | ``kernel`` | 1346 | ``kernel`` |
1351 | ========== | 1347 | ========== |
1352 | 1348 | ||
1353 | The :ref:`kernel <ref-classes-kernel>` class handles building Linux kernels. The class contains | 1349 | The :ref:`ref-classes-kernel` class handles building Linux kernels. The class contains |
1354 | code to build all kernel trees. All needed headers are staged into the | 1350 | code to build all kernel trees. All needed headers are staged into the |
1355 | :term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds | 1351 | :term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds |
1356 | using the :ref:`module <ref-classes-module>` class. | 1352 | using the :ref:`ref-classes-module` class. |
1357 | 1353 | ||
1358 | This means that each built kernel module is packaged separately and | 1354 | This means that each built kernel module is packaged separately and |
1359 | inter-module dependencies are created by parsing the ``modinfo`` output. | 1355 | inter-module dependencies are created by parsing the ``modinfo`` output. |
@@ -1361,23 +1357,22 @@ If all modules are required, then installing the ``kernel-modules`` | |||
1361 | package installs all packages with modules and various other kernel | 1357 | package installs all packages with modules and various other kernel |
1362 | packages such as ``kernel-vmlinux``. | 1358 | packages such as ``kernel-vmlinux``. |
1363 | 1359 | ||
1364 | The :ref:`kernel <ref-classes-kernel>` class contains logic that allows you to embed an initial | 1360 | The :ref:`ref-classes-kernel` class contains logic that allows you to embed an initial |
1365 | RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For | 1361 | RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For |
1366 | information on how to build an :term:`Initramfs`, see the | 1362 | information on how to build an :term:`Initramfs`, see the |
1367 | ":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`" section in | 1363 | ":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`" section in |
1368 | the Yocto Project Development Tasks Manual. | 1364 | the Yocto Project Development Tasks Manual. |
1369 | 1365 | ||
1370 | Various other classes are used by the :ref:`kernel <ref-classes-kernel>` and :ref:`module <ref-classes-module>` classes | 1366 | Various other classes are used by the :ref:`ref-classes-kernel` and :ref:`ref-classes-module` classes |
1371 | internally including the :ref:`kernel-arch <ref-classes-kernel-arch>`, | 1367 | internally including the :ref:`ref-classes-kernel-arch`, :ref:`ref-classes-module-base`, and |
1372 | :ref:`module-base <ref-classes-module-base>`, and | 1368 | :ref:`ref-classes-linux-kernel-base` classes. |
1373 | :ref:`linux-kernel-base <ref-classes-linux-kernel-base>` classes. | ||
1374 | 1369 | ||
1375 | .. _ref-classes-kernel-arch: | 1370 | .. _ref-classes-kernel-arch: |
1376 | 1371 | ||
1377 | ``kernel-arch`` | 1372 | ``kernel-arch`` |
1378 | =============== | 1373 | =============== |
1379 | 1374 | ||
1380 | The :ref:`kernel-arch <ref-classes-kernel-arch>` class sets the ``ARCH`` environment variable for | 1375 | The :ref:`ref-classes-kernel-arch` class sets the ``ARCH`` environment variable for |
1381 | Linux kernel compilation (including modules). | 1376 | Linux kernel compilation (including modules). |
1382 | 1377 | ||
1383 | .. _ref-classes-kernel-devicetree: | 1378 | .. _ref-classes-kernel-devicetree: |
@@ -1385,26 +1380,25 @@ Linux kernel compilation (including modules). | |||
1385 | ``kernel-devicetree`` | 1380 | ``kernel-devicetree`` |
1386 | ===================== | 1381 | ===================== |
1387 | 1382 | ||
1388 | The :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class, which is inherited by the | 1383 | The :ref:`ref-classes-kernel-devicetree` class, which is inherited by the |
1389 | :ref:`kernel <ref-classes-kernel>` class, supports device tree | 1384 | :ref:`ref-classes-kernel` class, supports device tree generation. |
1390 | generation. | ||
1391 | 1385 | ||
1392 | .. _ref-classes-kernel-fitimage: | 1386 | .. _ref-classes-kernel-fitimage: |
1393 | 1387 | ||
1394 | ``kernel-fitimage`` | 1388 | ``kernel-fitimage`` |
1395 | =================== | 1389 | =================== |
1396 | 1390 | ||
1397 | The :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class provides support to pack a kernel image, | 1391 | The :ref:`ref-classes-kernel-fitimage` class provides support to pack a kernel image, |
1398 | device trees, a U-boot script, a :term:`Initramfs` bundle and a RAM disk | 1392 | device trees, a U-boot script, a :term:`Initramfs` bundle and a RAM disk |
1399 | into a single FIT image. In theory, a FIT image can support any number | 1393 | into a single FIT image. In theory, a FIT image can support any number |
1400 | of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees. | 1394 | of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees. |
1401 | However, :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` currently only supports | 1395 | However, :ref:`ref-classes-kernel-fitimage` currently only supports |
1402 | limited usecases: just one kernel image, an optional U-boot script, | 1396 | limited usecases: just one kernel image, an optional U-boot script, |
1403 | an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of | 1397 | an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of |
1404 | device tree. | 1398 | device tree. |
1405 | 1399 | ||
1406 | To create a FIT image, it is required that :term:`KERNEL_CLASSES` | 1400 | To create a FIT image, it is required that :term:`KERNEL_CLASSES` |
1407 | is set to include ":ref:`kernel-fitimage <ref-classes-kernel-fitimage>`" and :term:`KERNEL_IMAGETYPE` | 1401 | is set to include ":ref:`ref-classes-kernel-fitimage`" and :term:`KERNEL_IMAGETYPE` |
1408 | is set to "fitImage". | 1402 | is set to "fitImage". |
1409 | 1403 | ||
1410 | The options for the device tree compiler passed to ``mkimage -D`` | 1404 | The options for the device tree compiler passed to ``mkimage -D`` |
@@ -1412,19 +1406,19 @@ when creating the FIT image are specified using the | |||
1412 | :term:`UBOOT_MKIMAGE_DTCOPTS` variable. | 1406 | :term:`UBOOT_MKIMAGE_DTCOPTS` variable. |
1413 | 1407 | ||
1414 | Only a single kernel can be added to the FIT image created by | 1408 | Only a single kernel can be added to the FIT image created by |
1415 | :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the kernel image in FIT is mandatory. The | 1409 | :ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The |
1416 | address where the kernel image is to be loaded by U-Boot is | 1410 | address where the kernel image is to be loaded by U-Boot is |
1417 | specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by | 1411 | specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by |
1418 | :term:`UBOOT_ENTRYPOINT`. | 1412 | :term:`UBOOT_ENTRYPOINT`. |
1419 | 1413 | ||
1420 | Multiple device trees can be added to the FIT image created by | 1414 | Multiple device trees can be added to the FIT image created by |
1421 | :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the device tree is optional. | 1415 | :ref:`ref-classes-kernel-fitimage` and the device tree is optional. |
1422 | The address where the device tree is to be loaded by U-Boot is | 1416 | The address where the device tree is to be loaded by U-Boot is |
1423 | specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays | 1417 | specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays |
1424 | and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. | 1418 | and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. |
1425 | 1419 | ||
1426 | Only a single RAM disk can be added to the FIT image created by | 1420 | Only a single RAM disk can be added to the FIT image created by |
1427 | :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the RAM disk in FIT is optional. | 1421 | :ref:`ref-classes-kernel-fitimage` and the RAM disk in FIT is optional. |
1428 | The address where the RAM disk image is to be loaded by U-Boot | 1422 | The address where the RAM disk image is to be loaded by U-Boot |
1429 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by | 1423 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by |
1430 | :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when | 1424 | :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when |
@@ -1432,7 +1426,7 @@ is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by | |||
1432 | is set to 0. | 1426 | is set to 0. |
1433 | 1427 | ||
1434 | Only a single :term:`Initramfs` bundle can be added to the FIT image created by | 1428 | Only a single :term:`Initramfs` bundle can be added to the FIT image created by |
1435 | :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the :term:`Initramfs` bundle in FIT is optional. | 1429 | :ref:`ref-classes-kernel-fitimage` and the :term:`Initramfs` bundle in FIT is optional. |
1436 | In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem | 1430 | In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem |
1437 | in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). | 1431 | in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). |
1438 | When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem. | 1432 | When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem. |
@@ -1442,21 +1436,21 @@ The address where the :term:`Initramfs` bundle is to be loaded by U-boot is spec | |||
1442 | by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. | 1436 | by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. |
1443 | 1437 | ||
1444 | Only a single U-boot boot script can be added to the FIT image created by | 1438 | Only a single U-boot boot script can be added to the FIT image created by |
1445 | :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` and the boot script is optional. | 1439 | :ref:`ref-classes-kernel-fitimage` and the boot script is optional. |
1446 | The boot script is specified in the ITS file as a text file containing | 1440 | The boot script is specified in the ITS file as a text file containing |
1447 | U-boot commands. When using a boot script the user should configure the | 1441 | U-boot commands. When using a boot script the user should configure the |
1448 | U-boot :ref:`ref-tasks-install` task to copy the script to sysroot. | 1442 | U-boot :ref:`ref-tasks-install` task to copy the script to sysroot. |
1449 | So the script can be included in the FIT image by the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` | 1443 | So the script can be included in the FIT image by the :ref:`ref-classes-kernel-fitimage` |
1450 | class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to | 1444 | class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to |
1451 | load the boot script from the FIT image and executes it. | 1445 | load the boot script from the FIT image and executes it. |
1452 | 1446 | ||
1453 | The FIT image generated by :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class is signed when the | 1447 | The FIT image generated by :ref:`ref-classes-kernel-fitimage` class is signed when the |
1454 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, | 1448 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, |
1455 | :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set | 1449 | :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set |
1456 | appropriately. The default values used for :term:`FIT_HASH_ALG` and | 1450 | appropriately. The default values used for :term:`FIT_HASH_ALG` and |
1457 | :term:`FIT_SIGN_ALG` in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` are "sha256" and | 1451 | :term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fitimage` are "sha256" and |
1458 | "rsa2048" respectively. The keys for signing fitImage can be generated using | 1452 | "rsa2048" respectively. The keys for signing fitImage can be generated using |
1459 | the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class when both :term:`FIT_GENERATE_KEYS` and | 1453 | the :ref:`ref-classes-kernel-fitimage` class when both :term:`FIT_GENERATE_KEYS` and |
1460 | :term:`UBOOT_SIGN_ENABLE` are set to "1". | 1454 | :term:`UBOOT_SIGN_ENABLE` are set to "1". |
1461 | 1455 | ||
1462 | 1456 | ||
@@ -1465,7 +1459,7 @@ the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class when both :term:` | |||
1465 | ``kernel-grub`` | 1459 | ``kernel-grub`` |
1466 | =============== | 1460 | =============== |
1467 | 1461 | ||
1468 | The :ref:`kernel-grub <ref-classes-kernel-grub>` class updates the boot area and the boot menu with | 1462 | The :ref:`ref-classes-kernel-grub` class updates the boot area and the boot menu with |
1469 | the kernel as the priority boot mechanism while installing a RPM to | 1463 | the kernel as the priority boot mechanism while installing a RPM to |
1470 | update the kernel on a deployed target. | 1464 | update the kernel on a deployed target. |
1471 | 1465 | ||
@@ -1474,7 +1468,7 @@ update the kernel on a deployed target. | |||
1474 | ``kernel-module-split`` | 1468 | ``kernel-module-split`` |
1475 | ======================= | 1469 | ======================= |
1476 | 1470 | ||
1477 | The :ref:`kernel-module-split <ref-classes-kernel-module-split>` class provides common functionality for | 1471 | The :ref:`ref-classes-kernel-module-split` class provides common functionality for |
1478 | splitting Linux kernel modules into separate packages. | 1472 | splitting Linux kernel modules into separate packages. |
1479 | 1473 | ||
1480 | .. _ref-classes-kernel-uboot: | 1474 | .. _ref-classes-kernel-uboot: |
@@ -1482,7 +1476,7 @@ splitting Linux kernel modules into separate packages. | |||
1482 | ``kernel-uboot`` | 1476 | ``kernel-uboot`` |
1483 | ================ | 1477 | ================ |
1484 | 1478 | ||
1485 | The :ref:`kernel-uboot <ref-classes-kernel-uboot>` class provides support for building from | 1479 | The :ref:`ref-classes-kernel-uboot` class provides support for building from |
1486 | vmlinux-style kernel sources. | 1480 | vmlinux-style kernel sources. |
1487 | 1481 | ||
1488 | .. _ref-classes-kernel-uimage: | 1482 | .. _ref-classes-kernel-uimage: |
@@ -1490,14 +1484,14 @@ vmlinux-style kernel sources. | |||
1490 | ``kernel-uimage`` | 1484 | ``kernel-uimage`` |
1491 | ================= | 1485 | ================= |
1492 | 1486 | ||
1493 | The :ref:`kernel-uimage <ref-classes-kernel-uimage>` class provides support to pack uImage. | 1487 | The :ref:`ref-classes-kernel-uimage` class provides support to pack uImage. |
1494 | 1488 | ||
1495 | .. _ref-classes-kernel-yocto: | 1489 | .. _ref-classes-kernel-yocto: |
1496 | 1490 | ||
1497 | ``kernel-yocto`` | 1491 | ``kernel-yocto`` |
1498 | ================ | 1492 | ================ |
1499 | 1493 | ||
1500 | The :ref:`kernel-yocto <ref-classes-kernel-yocto>` class provides common functionality for building | 1494 | The :ref:`ref-classes-kernel-yocto` class provides common functionality for building |
1501 | from linux-yocto style kernel source repositories. | 1495 | from linux-yocto style kernel source repositories. |
1502 | 1496 | ||
1503 | .. _ref-classes-kernelsrc: | 1497 | .. _ref-classes-kernelsrc: |
@@ -1505,14 +1499,14 @@ from linux-yocto style kernel source repositories. | |||
1505 | ``kernelsrc`` | 1499 | ``kernelsrc`` |
1506 | ============= | 1500 | ============= |
1507 | 1501 | ||
1508 | The :ref:`kernelsrc <ref-classes-kernelsrc>` class sets the Linux kernel source and version. | 1502 | The :ref:`ref-classes-kernelsrc` class sets the Linux kernel source and version. |
1509 | 1503 | ||
1510 | .. _ref-classes-lib_package: | 1504 | .. _ref-classes-lib_package: |
1511 | 1505 | ||
1512 | ``lib_package`` | 1506 | ``lib_package`` |
1513 | =============== | 1507 | =============== |
1514 | 1508 | ||
1515 | The :ref:`lib_package <ref-classes-lib_package>` class supports recipes that build libraries and | 1509 | The :ref:`ref-classes-lib_package` class supports recipes that build libraries and |
1516 | produce executable binaries, where those binaries should not be | 1510 | produce executable binaries, where those binaries should not be |
1517 | installed by default along with the library. Instead, the binaries are | 1511 | installed by default along with the library. Instead, the binaries are |
1518 | added to a separate ``${``\ :term:`PN`\ ``}-bin`` package to | 1512 | added to a separate ``${``\ :term:`PN`\ ``}-bin`` package to |
@@ -1523,7 +1517,7 @@ make their installation optional. | |||
1523 | ``libc*`` | 1517 | ``libc*`` |
1524 | ========= | 1518 | ========= |
1525 | 1519 | ||
1526 | The :ref:`libc* <ref-classes-libc*>` classes support recipes that build packages with ``libc``: | 1520 | The :ref:`ref-classes-libc*` classes support recipes that build packages with ``libc``: |
1527 | 1521 | ||
1528 | - The :ref:`libc-common <ref-classes-libc*>` class provides common support for building with | 1522 | - The :ref:`libc-common <ref-classes-libc*>` class provides common support for building with |
1529 | ``libc``. | 1523 | ``libc``. |
@@ -1536,7 +1530,7 @@ The :ref:`libc* <ref-classes-libc*>` classes support recipes that build packages | |||
1536 | ``license`` | 1530 | ``license`` |
1537 | =========== | 1531 | =========== |
1538 | 1532 | ||
1539 | The :ref:`license <ref-classes-license>` class provides license manifest creation and license | 1533 | The :ref:`ref-classes-license` class provides license manifest creation and license |
1540 | exclusion. This class is enabled by default using the default value for | 1534 | exclusion. This class is enabled by default using the default value for |
1541 | the :term:`INHERIT_DISTRO` variable. | 1535 | the :term:`INHERIT_DISTRO` variable. |
1542 | 1536 | ||
@@ -1545,7 +1539,7 @@ the :term:`INHERIT_DISTRO` variable. | |||
1545 | ``linux-kernel-base`` | 1539 | ``linux-kernel-base`` |
1546 | ===================== | 1540 | ===================== |
1547 | 1541 | ||
1548 | The :ref:`linux-kernel-base <ref-classes-linux-kernel-base>` class provides common functionality for | 1542 | The :ref:`ref-classes-linux-kernel-base` class provides common functionality for |
1549 | recipes that build out of the Linux kernel source tree. These builds | 1543 | recipes that build out of the Linux kernel source tree. These builds |
1550 | goes beyond the kernel itself. For example, the Perf recipe also | 1544 | goes beyond the kernel itself. For example, the Perf recipe also |
1551 | inherits this class. | 1545 | inherits this class. |
@@ -1564,11 +1558,11 @@ number of other classes. | |||
1564 | ``logging`` | 1558 | ``logging`` |
1565 | =========== | 1559 | =========== |
1566 | 1560 | ||
1567 | The :ref:`logging <ref-classes-logging>` class provides the standard shell functions used to log | 1561 | The :ref:`ref-classes-logging` class provides the standard shell functions used to log |
1568 | messages for various BitBake severity levels (i.e. ``bbplain``, | 1562 | messages for various BitBake severity levels (i.e. ``bbplain``, |
1569 | ``bbnote``, ``bbwarn``, ``bberror``, ``bbfatal``, and ``bbdebug``). | 1563 | ``bbnote``, ``bbwarn``, ``bberror``, ``bbfatal``, and ``bbdebug``). |
1570 | 1564 | ||
1571 | This class is enabled by default since it is inherited by the :ref:`base <ref-classes-base>` | 1565 | This class is enabled by default since it is inherited by the :ref:`ref-classes-base` |
1572 | class. | 1566 | class. |
1573 | 1567 | ||
1574 | .. _ref-classes-metadata_scm: | 1568 | .. _ref-classes-metadata_scm: |
@@ -1576,20 +1570,20 @@ class. | |||
1576 | ``metadata_scm`` | 1570 | ``metadata_scm`` |
1577 | ================ | 1571 | ================ |
1578 | 1572 | ||
1579 | The :ref:`metadata_scm <ref-classes-metadata_scm>` class provides functionality for querying the | 1573 | The :ref:`ref-classes-metadata_scm` class provides functionality for querying the |
1580 | branch and revision of a Source Code Manager (SCM) repository. | 1574 | branch and revision of a Source Code Manager (SCM) repository. |
1581 | 1575 | ||
1582 | The :ref:`base <ref-classes-base>` class uses this class to print the | 1576 | The :ref:`ref-classes-base` class uses this class to print the revisions of |
1583 | revisions of each layer before starting every build. The | 1577 | each layer before starting every build. The :ref:`ref-classes-metadata_scm` |
1584 | :ref:`metadata_scm <ref-classes-metadata_scm>` class is enabled by default because it is inherited by | 1578 | class is enabled by default because it is inherited by the |
1585 | the :ref:`base <ref-classes-base>` class. | 1579 | :ref:`ref-classes-base` class. |
1586 | 1580 | ||
1587 | .. _ref-classes-migrate_localcount: | 1581 | .. _ref-classes-migrate_localcount: |
1588 | 1582 | ||
1589 | ``migrate_localcount`` | 1583 | ``migrate_localcount`` |
1590 | ====================== | 1584 | ====================== |
1591 | 1585 | ||
1592 | The :ref:`migrate_localcount <ref-classes-migrate_localcount>` class verifies a recipe's localcount data and | 1586 | The :ref:`ref-classes-migrate_localcount` class verifies a recipe's localcount data and |
1593 | increments it appropriately. | 1587 | increments it appropriately. |
1594 | 1588 | ||
1595 | .. _ref-classes-mime: | 1589 | .. _ref-classes-mime: |
@@ -1597,7 +1591,7 @@ increments it appropriately. | |||
1597 | ``mime`` | 1591 | ``mime`` |
1598 | ======== | 1592 | ======== |
1599 | 1593 | ||
1600 | The :ref:`mime <ref-classes-mime>` class generates the proper post-install and post-remove | 1594 | The :ref:`ref-classes-mime` class generates the proper post-install and post-remove |
1601 | (postinst/postrm) scriptlets for packages that install MIME type files. | 1595 | (postinst/postrm) scriptlets for packages that install MIME type files. |
1602 | These scriptlets call ``update-mime-database`` to add the MIME types to | 1596 | These scriptlets call ``update-mime-database`` to add the MIME types to |
1603 | the shared database. | 1597 | the shared database. |
@@ -1607,7 +1601,7 @@ the shared database. | |||
1607 | ``mime-xdg`` | 1601 | ``mime-xdg`` |
1608 | ============ | 1602 | ============ |
1609 | 1603 | ||
1610 | The :ref:`mime-xdg <ref-classes-mime-xdg>` class generates the proper | 1604 | The :ref:`ref-classes-mime-xdg` class generates the proper |
1611 | post-install and post-remove (postinst/postrm) scriptlets for packages | 1605 | post-install and post-remove (postinst/postrm) scriptlets for packages |
1612 | that install ``.desktop`` files containing ``MimeType`` entries. | 1606 | that install ``.desktop`` files containing ``MimeType`` entries. |
1613 | These scriptlets call ``update-desktop-database`` to add the MIME types | 1607 | These scriptlets call ``update-desktop-database`` to add the MIME types |
@@ -1628,25 +1622,23 @@ package names to the :term:`MIME_XDG_PACKAGES` variable. | |||
1628 | ``mirrors`` | 1622 | ``mirrors`` |
1629 | =========== | 1623 | =========== |
1630 | 1624 | ||
1631 | The :ref:`mirrors <ref-classes-mirrors>` class sets up some standard | 1625 | The :ref:`ref-classes-mirrors` class sets up some standard |
1632 | :term:`MIRRORS` entries for source code mirrors. These | 1626 | :term:`MIRRORS` entries for source code mirrors. These |
1633 | mirrors provide a fall-back path in case the upstream source specified | 1627 | mirrors provide a fall-back path in case the upstream source specified |
1634 | in :term:`SRC_URI` within recipes is unavailable. | 1628 | in :term:`SRC_URI` within recipes is unavailable. |
1635 | 1629 | ||
1636 | This class is enabled by default since it is inherited by the | 1630 | This class is enabled by default since it is inherited by the |
1637 | :ref:`base <ref-classes-base>` class. | 1631 | :ref:`ref-classes-base` class. |
1638 | 1632 | ||
1639 | .. _ref-classes-module: | 1633 | .. _ref-classes-module: |
1640 | 1634 | ||
1641 | ``module`` | 1635 | ``module`` |
1642 | ========== | 1636 | ========== |
1643 | 1637 | ||
1644 | The :ref:`module <ref-classes-module>` class provides support for building out-of-tree Linux | 1638 | The :ref:`ref-classes-module` class provides support for building out-of-tree Linux |
1645 | kernel modules. The class inherits the | 1639 | kernel modules. The class inherits the :ref:`ref-classes-module-base` and |
1646 | :ref:`module-base <ref-classes-module-base>` and | 1640 | :ref:`ref-classes-kernel-module-split` classes, and implements the |
1647 | :ref:`kernel-module-split <ref-classes-kernel-module-split>` classes, | 1641 | :ref:`ref-tasks-compile` and :ref:`ref-tasks-install` tasks. The class provides |
1648 | and implements the :ref:`ref-tasks-compile` and | ||
1649 | :ref:`ref-tasks-install` tasks. The class provides | ||
1650 | everything needed to build and package a kernel module. | 1642 | everything needed to build and package a kernel module. |
1651 | 1643 | ||
1652 | For general information on out-of-tree Linux kernel modules, see the | 1644 | For general information on out-of-tree Linux kernel modules, see the |
@@ -1658,18 +1650,18 @@ section in the Yocto Project Linux Kernel Development Manual. | |||
1658 | ``module-base`` | 1650 | ``module-base`` |
1659 | =============== | 1651 | =============== |
1660 | 1652 | ||
1661 | The :ref:`module-base <ref-classes-module-base>` class provides the base functionality for building | 1653 | The :ref:`ref-classes-module-base` class provides the base functionality for |
1662 | Linux kernel modules. Typically, a recipe that builds software that | 1654 | building Linux kernel modules. Typically, a recipe that builds software that |
1663 | includes one or more kernel modules and has its own means of building | 1655 | includes one or more kernel modules and has its own means of building the module |
1664 | the module inherits this class as opposed to inheriting the | 1656 | inherits this class as opposed to inheriting the :ref:`ref-classes-module` |
1665 | :ref:`module <ref-classes-module>` class. | 1657 | class. |
1666 | 1658 | ||
1667 | .. _ref-classes-multilib*: | 1659 | .. _ref-classes-multilib*: |
1668 | 1660 | ||
1669 | ``multilib*`` | 1661 | ``multilib*`` |
1670 | ============= | 1662 | ============= |
1671 | 1663 | ||
1672 | The :ref:`multilib* <ref-classes-multilib*>` classes provide support for building libraries with | 1664 | The :ref:`ref-classes-multilib*` classes provide support for building libraries with |
1673 | different target optimizations or target architectures and installing | 1665 | different target optimizations or target architectures and installing |
1674 | them side-by-side in the same image. | 1666 | them side-by-side in the same image. |
1675 | 1667 | ||
@@ -1682,17 +1674,17 @@ section in the Yocto Project Development Tasks Manual. | |||
1682 | ``native`` | 1674 | ``native`` |
1683 | ========== | 1675 | ========== |
1684 | 1676 | ||
1685 | The :ref:`native <ref-classes-native>` class provides common functionality for recipes that | 1677 | The :ref:`ref-classes-native` class provides common functionality for recipes that |
1686 | build tools to run on the :term:`Build Host` (i.e. tools that use the compiler | 1678 | build tools to run on the :term:`Build Host` (i.e. tools that use the compiler |
1687 | or other tools from the build host). | 1679 | or other tools from the build host). |
1688 | 1680 | ||
1689 | You can create a recipe that builds tools that run natively on the host | 1681 | You can create a recipe that builds tools that run natively on the host |
1690 | a couple different ways: | 1682 | a couple different ways: |
1691 | 1683 | ||
1692 | - Create a ``myrecipe-native.bb`` recipe that inherits the :ref:`native <ref-classes-native>` | 1684 | - Create a ``myrecipe-native.bb`` recipe that inherits the :ref:`ref-classes-native` |
1693 | class. If you use this method, you must order the inherit statement | 1685 | class. If you use this method, you must order the inherit statement |
1694 | in the recipe after all other inherit statements so that the | 1686 | in the recipe after all other inherit statements so that the |
1695 | :ref:`native <ref-classes-native>` class is inherited last. | 1687 | :ref:`ref-classes-native` class is inherited last. |
1696 | 1688 | ||
1697 | .. note:: | 1689 | .. note:: |
1698 | 1690 | ||
@@ -1714,7 +1706,7 @@ a couple different ways: | |||
1714 | specify any functionality specific to the respective native or target | 1706 | specify any functionality specific to the respective native or target |
1715 | case. | 1707 | case. |
1716 | 1708 | ||
1717 | Although applied differently, the :ref:`native <ref-classes-native>` class is used with both | 1709 | Although applied differently, the :ref:`ref-classes-native` class is used with both |
1718 | methods. The advantage of the second method is that you do not need to | 1710 | methods. The advantage of the second method is that you do not need to |
1719 | have two separate recipes (assuming you need both) for native and | 1711 | have two separate recipes (assuming you need both) for native and |
1720 | target. All common parts of the recipe are automatically shared. | 1712 | target. All common parts of the recipe are automatically shared. |
@@ -1724,7 +1716,7 @@ target. All common parts of the recipe are automatically shared. | |||
1724 | ``nativesdk`` | 1716 | ``nativesdk`` |
1725 | ============= | 1717 | ============= |
1726 | 1718 | ||
1727 | The :ref:`nativesdk <ref-classes-nativesdk>` class provides common functionality for recipes that | 1719 | The :ref:`ref-classes-nativesdk` class provides common functionality for recipes that |
1728 | wish to build tools to run as part of an SDK (i.e. tools that run on | 1720 | wish to build tools to run as part of an SDK (i.e. tools that run on |
1729 | :term:`SDKMACHINE`). | 1721 | :term:`SDKMACHINE`). |
1730 | 1722 | ||
@@ -1732,11 +1724,11 @@ You can create a recipe that builds tools that run on the SDK machine a | |||
1732 | couple different ways: | 1724 | couple different ways: |
1733 | 1725 | ||
1734 | - Create a ``nativesdk-myrecipe.bb`` recipe that inherits the | 1726 | - Create a ``nativesdk-myrecipe.bb`` recipe that inherits the |
1735 | :ref:`nativesdk <ref-classes-nativesdk>` class. If you use this method, you must order the | 1727 | :ref:`ref-classes-nativesdk` class. If you use this method, you must order the |
1736 | inherit statement in the recipe after all other inherit statements so | 1728 | inherit statement in the recipe after all other inherit statements so |
1737 | that the :ref:`nativesdk <ref-classes-nativesdk>` class is inherited last. | 1729 | that the :ref:`ref-classes-nativesdk` class is inherited last. |
1738 | 1730 | ||
1739 | - Create a :ref:`nativesdk <ref-classes-nativesdk>` variant of any recipe by adding the following:: | 1731 | - Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following:: |
1740 | 1732 | ||
1741 | BBCLASSEXTEND = "nativesdk" | 1733 | BBCLASSEXTEND = "nativesdk" |
1742 | 1734 | ||
@@ -1755,7 +1747,7 @@ couple different ways: | |||
1755 | Not doing so can lead to subtle problems because there is code that | 1747 | Not doing so can lead to subtle problems because there is code that |
1756 | depends on the naming convention. | 1748 | depends on the naming convention. |
1757 | 1749 | ||
1758 | Although applied differently, the :ref:`nativesdk <ref-classes-nativesdk>` class is used with both | 1750 | Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both |
1759 | methods. The advantage of the second method is that you do not need to | 1751 | methods. The advantage of the second method is that you do not need to |
1760 | have two separate recipes (assuming you need both) for the SDK machine | 1752 | have two separate recipes (assuming you need both) for the SDK machine |
1761 | and the target. All common parts of the recipe are automatically shared. | 1753 | and the target. All common parts of the recipe are automatically shared. |
@@ -1790,11 +1782,11 @@ section in the Yocto Project Development Tasks Manual. | |||
1790 | ``oelint`` | 1782 | ``oelint`` |
1791 | ========== | 1783 | ========== |
1792 | 1784 | ||
1793 | The :ref:`oelint <ref-classes-oelint>` class is an obsolete lint checking tool available in | 1785 | The :ref:`ref-classes-oelint` class is an obsolete lint checking tool available in |
1794 | ``meta/classes`` in the :term:`Source Directory`. | 1786 | ``meta/classes`` in the :term:`Source Directory`. |
1795 | 1787 | ||
1796 | There are some classes that could be generally useful in OE-Core but | 1788 | There are some classes that could be generally useful in OE-Core but |
1797 | are never actually used within OE-Core itself. The :ref:`oelint <ref-classes-oelint>` class is | 1789 | are never actually used within OE-Core itself. The :ref:`ref-classes-oelint` class is |
1798 | one such example. However, being aware of this class can reduce the | 1790 | one such example. However, being aware of this class can reduce the |
1799 | proliferation of different versions of similar classes across multiple | 1791 | proliferation of different versions of similar classes across multiple |
1800 | layers. | 1792 | layers. |
@@ -1808,7 +1800,7 @@ It's often desired in Embedded System design to have a read-only root filesystem | |||
1808 | But a lot of different applications might want to have read-write access to | 1800 | But a lot of different applications might want to have read-write access to |
1809 | some parts of a filesystem. It can be especially useful when your update mechanism | 1801 | some parts of a filesystem. It can be especially useful when your update mechanism |
1810 | overwrites the whole root filesystem, but you may want your application data to be preserved | 1802 | overwrites the whole root filesystem, but you may want your application data to be preserved |
1811 | between updates. The :ref:`overlayfs <ref-classes-overlayfs>` class provides a way | 1803 | between updates. The :ref:`ref-classes-overlayfs` class provides a way |
1812 | to achieve that by means of ``overlayfs`` and at the same time keeping the base | 1804 | to achieve that by means of ``overlayfs`` and at the same time keeping the base |
1813 | root filesystem read-only. | 1805 | root filesystem read-only. |
1814 | 1806 | ||
@@ -1848,7 +1840,7 @@ and then in your recipe:: | |||
1848 | On a practical note, your application recipe might require multiple | 1840 | On a practical note, your application recipe might require multiple |
1849 | overlays to be mounted before running to avoid writing to the underlying | 1841 | overlays to be mounted before running to avoid writing to the underlying |
1850 | file system (which can be forbidden in case of read-only file system) | 1842 | file system (which can be forbidden in case of read-only file system) |
1851 | To achieve that :ref:`overlayfs <ref-classes-overlayfs>` provides a ``systemd`` | 1843 | To achieve that :ref:`ref-classes-overlayfs` provides a ``systemd`` |
1852 | helper service for mounting overlays. This helper service is named | 1844 | helper service for mounting overlays. This helper service is named |
1853 | ``${PN}-overlays.service`` and can be depended on in your application recipe | 1845 | ``${PN}-overlays.service`` and can be depended on in your application recipe |
1854 | (named ``application`` in the following example) ``systemd`` unit by adding | 1846 | (named ``application`` in the following example) ``systemd`` unit by adding |
@@ -1861,7 +1853,7 @@ to the unit the following:: | |||
1861 | .. note:: | 1853 | .. note:: |
1862 | 1854 | ||
1863 | The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it. | 1855 | The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it. |
1864 | In order to get ``/etc`` in overlayfs, see :ref:`overlayfs-etc <ref-classes-overlayfs-etc>`. | 1856 | In order to get ``/etc`` in overlayfs, see :ref:`ref-classes-overlayfs-etc`. |
1865 | 1857 | ||
1866 | .. _ref-classes-overlayfs-etc: | 1858 | .. _ref-classes-overlayfs-etc: |
1867 | 1859 | ||
@@ -1913,7 +1905,7 @@ The class provides two options for ``/sbin/init`` generation: | |||
1913 | ``own-mirrors`` | 1905 | ``own-mirrors`` |
1914 | =============== | 1906 | =============== |
1915 | 1907 | ||
1916 | The :ref:`own-mirrors <ref-classes-own-mirrors>` class makes it easier to set up your own | 1908 | The :ref:`ref-classes-own-mirrors` class makes it easier to set up your own |
1917 | :term:`PREMIRRORS` from which to first fetch source | 1909 | :term:`PREMIRRORS` from which to first fetch source |
1918 | before attempting to fetch it from the upstream specified in | 1910 | before attempting to fetch it from the upstream specified in |
1919 | :term:`SRC_URI` within each recipe. | 1911 | :term:`SRC_URI` within each recipe. |
@@ -1932,18 +1924,16 @@ in :term:`SOURCE_MIRROR_URL`. | |||
1932 | ``package`` | 1924 | ``package`` |
1933 | =========== | 1925 | =========== |
1934 | 1926 | ||
1935 | The :ref:`package <ref-classes-package>` class supports generating packages from a build's | 1927 | The :ref:`ref-classes-package` class supports generating packages from a build's |
1936 | output. The core generic functionality is in ``package.bbclass``. The | 1928 | output. The core generic functionality is in ``package.bbclass``. The |
1937 | code specific to particular package types resides in these | 1929 | code specific to particular package types resides in these |
1938 | package-specific classes: | 1930 | package-specific classes: :ref:`ref-classes-package_deb`, |
1939 | :ref:`package_deb <ref-classes-package_deb>`, | 1931 | :ref:`ref-classes-package_rpm`, :ref:`ref-classes-package_ipk`, and |
1940 | :ref:`package_rpm <ref-classes-package_rpm>`, | 1932 | :ref:`ref-classes-package_tar`. |
1941 | :ref:`package_ipk <ref-classes-package_ipk>`, and | ||
1942 | :ref:`package_tar <ref-classes-package_tar>`. | ||
1943 | 1933 | ||
1944 | .. note:: | 1934 | .. note:: |
1945 | 1935 | ||
1946 | The :ref:`package_tar <ref-classes-package_tar>` class is broken and | 1936 | The :ref:`ref-classes-package_tar` class is broken and |
1947 | not supported. It is recommended that you do not use this class. | 1937 | not supported. It is recommended that you do not use this class. |
1948 | 1938 | ||
1949 | You can control the list of resulting package formats by using the | 1939 | You can control the list of resulting package formats by using the |
@@ -1969,7 +1959,7 @@ complete build of the package with all dependencies previously built. | |||
1969 | The reason for this discrepancy is because the RPM package manager | 1959 | The reason for this discrepancy is because the RPM package manager |
1970 | creates and processes more :term:`Metadata` than the IPK package | 1960 | creates and processes more :term:`Metadata` than the IPK package |
1971 | manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to | 1961 | manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to |
1972 | ":ref:`package_ipk <ref-classes-package_ipk>`" if you are building smaller systems. | 1962 | ":ref:`ref-classes-package_ipk`" if you are building smaller systems. |
1973 | 1963 | ||
1974 | Before making your package manager decision, however, you should | 1964 | Before making your package manager decision, however, you should |
1975 | consider some further things about using RPM: | 1965 | consider some further things about using RPM: |
@@ -1997,12 +1987,12 @@ at these two Yocto Project mailing list links: | |||
1997 | ``package_deb`` | 1987 | ``package_deb`` |
1998 | =============== | 1988 | =============== |
1999 | 1989 | ||
2000 | The :ref:`package_deb <ref-classes-package_deb>` class provides support for creating packages that | 1990 | The :ref:`ref-classes-package_deb` class provides support for creating packages that |
2001 | use the Debian (i.e. ``.deb``) file format. The class ensures the | 1991 | use the Debian (i.e. ``.deb``) file format. The class ensures the |
2002 | packages are written out in a ``.deb`` file format to the | 1992 | packages are written out in a ``.deb`` file format to the |
2003 | ``${``\ :term:`DEPLOY_DIR_DEB`\ ``}`` directory. | 1993 | ``${``\ :term:`DEPLOY_DIR_DEB`\ ``}`` directory. |
2004 | 1994 | ||
2005 | This class inherits the :ref:`package <ref-classes-package>` class and | 1995 | This class inherits the :ref:`ref-classes-package` class and |
2006 | is enabled through the :term:`PACKAGE_CLASSES` | 1996 | is enabled through the :term:`PACKAGE_CLASSES` |
2007 | variable in the ``local.conf`` file. | 1997 | variable in the ``local.conf`` file. |
2008 | 1998 | ||
@@ -2011,12 +2001,12 @@ variable in the ``local.conf`` file. | |||
2011 | ``package_ipk`` | 2001 | ``package_ipk`` |
2012 | =============== | 2002 | =============== |
2013 | 2003 | ||
2014 | The :ref:`package_ipk <ref-classes-package_ipk>` class provides support for creating packages that | 2004 | The :ref:`ref-classes-package_ipk` class provides support for creating packages that |
2015 | use the IPK (i.e. ``.ipk``) file format. The class ensures the packages | 2005 | use the IPK (i.e. ``.ipk``) file format. The class ensures the packages |
2016 | are written out in a ``.ipk`` file format to the | 2006 | are written out in a ``.ipk`` file format to the |
2017 | ``${``\ :term:`DEPLOY_DIR_IPK`\ ``}`` directory. | 2007 | ``${``\ :term:`DEPLOY_DIR_IPK`\ ``}`` directory. |
2018 | 2008 | ||
2019 | This class inherits the :ref:`package <ref-classes-package>` class and | 2009 | This class inherits the :ref:`ref-classes-package` class and |
2020 | is enabled through the :term:`PACKAGE_CLASSES` | 2010 | is enabled through the :term:`PACKAGE_CLASSES` |
2021 | variable in the ``local.conf`` file. | 2011 | variable in the ``local.conf`` file. |
2022 | 2012 | ||
@@ -2025,12 +2015,12 @@ variable in the ``local.conf`` file. | |||
2025 | ``package_rpm`` | 2015 | ``package_rpm`` |
2026 | =============== | 2016 | =============== |
2027 | 2017 | ||
2028 | The :ref:`package_rpm <ref-classes-package_rpm>` class provides support for creating packages that | 2018 | The :ref:`ref-classes-package_rpm` class provides support for creating packages that |
2029 | use the RPM (i.e. ``.rpm``) file format. The class ensures the packages | 2019 | use the RPM (i.e. ``.rpm``) file format. The class ensures the packages |
2030 | are written out in a ``.rpm`` file format to the | 2020 | are written out in a ``.rpm`` file format to the |
2031 | ``${``\ :term:`DEPLOY_DIR_RPM`\ ``}`` directory. | 2021 | ``${``\ :term:`DEPLOY_DIR_RPM`\ ``}`` directory. |
2032 | 2022 | ||
2033 | This class inherits the :ref:`package <ref-classes-package>` class and | 2023 | This class inherits the :ref:`ref-classes-package` class and |
2034 | is enabled through the :term:`PACKAGE_CLASSES` | 2024 | is enabled through the :term:`PACKAGE_CLASSES` |
2035 | variable in the ``local.conf`` file. | 2025 | variable in the ``local.conf`` file. |
2036 | 2026 | ||
@@ -2039,17 +2029,17 @@ variable in the ``local.conf`` file. | |||
2039 | ``package_tar`` | 2029 | ``package_tar`` |
2040 | =============== | 2030 | =============== |
2041 | 2031 | ||
2042 | The :ref:`package_tar <ref-classes-package_tar>` class provides support for creating tarballs. The | 2032 | The :ref:`ref-classes-package_tar` class provides support for creating tarballs. The |
2043 | class ensures the packages are written out in a tarball format to the | 2033 | class ensures the packages are written out in a tarball format to the |
2044 | ``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory. | 2034 | ``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory. |
2045 | 2035 | ||
2046 | This class inherits the :ref:`package <ref-classes-package>` class and | 2036 | This class inherits the :ref:`ref-classes-package` class and |
2047 | is enabled through the :term:`PACKAGE_CLASSES` | 2037 | is enabled through the :term:`PACKAGE_CLASSES` |
2048 | variable in the ``local.conf`` file. | 2038 | variable in the ``local.conf`` file. |
2049 | 2039 | ||
2050 | .. note:: | 2040 | .. note:: |
2051 | 2041 | ||
2052 | You cannot specify the :ref:`package_tar <ref-classes-package_tar>` class first using the | 2042 | You cannot specify the :ref:`ref-classes-package_tar` class first using the |
2053 | :term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm`` | 2043 | :term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm`` |
2054 | file formats for your image or SDK. | 2044 | file formats for your image or SDK. |
2055 | 2045 | ||
@@ -2058,20 +2048,20 @@ variable in the ``local.conf`` file. | |||
2058 | ``packagedata`` | 2048 | ``packagedata`` |
2059 | =============== | 2049 | =============== |
2060 | 2050 | ||
2061 | The :ref:`packagedata <ref-classes-packagedata>` class provides common functionality for reading | 2051 | The :ref:`ref-classes-packagedata` class provides common functionality for reading |
2062 | ``pkgdata`` files found in :term:`PKGDATA_DIR`. These | 2052 | ``pkgdata`` files found in :term:`PKGDATA_DIR`. These |
2063 | files contain information about each output package produced by the | 2053 | files contain information about each output package produced by the |
2064 | OpenEmbedded build system. | 2054 | OpenEmbedded build system. |
2065 | 2055 | ||
2066 | This class is enabled by default because it is inherited by the | 2056 | This class is enabled by default because it is inherited by the |
2067 | :ref:`package <ref-classes-package>` class. | 2057 | :ref:`ref-classes-package` class. |
2068 | 2058 | ||
2069 | .. _ref-classes-packagegroup: | 2059 | .. _ref-classes-packagegroup: |
2070 | 2060 | ||
2071 | ``packagegroup`` | 2061 | ``packagegroup`` |
2072 | ================ | 2062 | ================ |
2073 | 2063 | ||
2074 | The :ref:`packagegroup <ref-classes-packagegroup>` class sets default values appropriate for package | 2064 | The :ref:`ref-classes-packagegroup` class sets default values appropriate for package |
2075 | group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and | 2065 | group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and |
2076 | so forth). It is highly recommended that all package group recipes | 2066 | so forth). It is highly recommended that all package group recipes |
2077 | inherit this class. | 2067 | inherit this class. |
@@ -2087,18 +2077,18 @@ Previously, this class was called the ``task`` class. | |||
2087 | ``patch`` | 2077 | ``patch`` |
2088 | ========= | 2078 | ========= |
2089 | 2079 | ||
2090 | The :ref:`patch <ref-classes-patch>` class provides all functionality for applying patches | 2080 | The :ref:`ref-classes-patch` class provides all functionality for applying patches |
2091 | during the :ref:`ref-tasks-patch` task. | 2081 | during the :ref:`ref-tasks-patch` task. |
2092 | 2082 | ||
2093 | This class is enabled by default because it is inherited by the | 2083 | This class is enabled by default because it is inherited by the |
2094 | :ref:`base <ref-classes-base>` class. | 2084 | :ref:`ref-classes-base` class. |
2095 | 2085 | ||
2096 | .. _ref-classes-perlnative: | 2086 | .. _ref-classes-perlnative: |
2097 | 2087 | ||
2098 | ``perlnative`` | 2088 | ``perlnative`` |
2099 | ============== | 2089 | ============== |
2100 | 2090 | ||
2101 | When inherited by a recipe, the :ref:`perlnative <ref-classes-perlnative>` class supports using the | 2091 | When inherited by a recipe, the :ref:`ref-classes-perlnative` class supports using the |
2102 | native version of Perl built by the build system rather than using the | 2092 | native version of Perl built by the build system rather than using the |
2103 | version provided by the build host. | 2093 | version provided by the build host. |
2104 | 2094 | ||
@@ -2107,14 +2097,14 @@ version provided by the build host. | |||
2107 | ``pypi`` | 2097 | ``pypi`` |
2108 | ======== | 2098 | ======== |
2109 | 2099 | ||
2110 | The :ref:`pypi <ref-classes-pypi>` class sets variables appropriately for recipes that build | 2100 | The :ref:`ref-classes-pypi` class sets variables appropriately for recipes that build |
2111 | Python modules from `PyPI <https://pypi.org/>`__, the Python Package Index. | 2101 | Python modules from `PyPI <https://pypi.org/>`__, the Python Package Index. |
2112 | By default it determines the PyPI package name based upon :term:`BPN` | 2102 | By default it determines the PyPI package name based upon :term:`BPN` |
2113 | (stripping the "python-" or "python3-" prefix off if present), however in | 2103 | (stripping the "python-" or "python3-" prefix off if present), however in |
2114 | some cases you may need to set it manually in the recipe by setting | 2104 | some cases you may need to set it manually in the recipe by setting |
2115 | :term:`PYPI_PACKAGE`. | 2105 | :term:`PYPI_PACKAGE`. |
2116 | 2106 | ||
2117 | Variables set by the :ref:`pypi <ref-classes-pypi>` class include :term:`SRC_URI`, :term:`SECTION`, | 2107 | Variables set by the :ref:`ref-classes-pypi` class include :term:`SRC_URI`, :term:`SECTION`, |
2118 | :term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX` | 2108 | :term:`HOMEPAGE`, :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX` |
2119 | and :term:`CVE_PRODUCT`. | 2109 | and :term:`CVE_PRODUCT`. |
2120 | 2110 | ||
@@ -2123,7 +2113,7 @@ and :term:`CVE_PRODUCT`. | |||
2123 | ``python_flit_core`` | 2113 | ``python_flit_core`` |
2124 | ==================== | 2114 | ==================== |
2125 | 2115 | ||
2126 | The :ref:`python_flit_core <ref-classes-python_flit_core>` class enables building Python modules which declare | 2116 | The :ref:`ref-classes-python_flit_core` class enables building Python modules which declare |
2127 | the `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant | 2117 | the `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant |
2128 | ``flit_core.buildapi`` ``build-backend`` in the ``[build-system]`` | 2118 | ``flit_core.buildapi`` ``build-backend`` in the ``[build-system]`` |
2129 | section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). | 2119 | section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). |
@@ -2131,40 +2121,39 @@ section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep | |||
2131 | Python modules built with ``flit_core.buildapi`` are pure Python (no | 2121 | Python modules built with ``flit_core.buildapi`` are pure Python (no |
2132 | ``C`` or ``Rust`` extensions). | 2122 | ``C`` or ``Rust`` extensions). |
2133 | 2123 | ||
2134 | Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. | 2124 | Internally this uses the :ref:`ref-classes-python_pep517` class. |
2135 | 2125 | ||
2136 | .. _ref-classes-python_pep517: | 2126 | .. _ref-classes-python_pep517: |
2137 | 2127 | ||
2138 | ``python_pep517`` | 2128 | ``python_pep517`` |
2139 | ================= | 2129 | ================= |
2140 | 2130 | ||
2141 | The :ref:`python_pep517 <ref-classes-python_pep517>` class builds and installs a Python ``wheel`` binary | 2131 | The :ref:`ref-classes-python_pep517` class builds and installs a Python ``wheel`` binary |
2142 | archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__). | 2132 | archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__). |
2143 | 2133 | ||
2144 | Recipes wouldn't inherit this directly, instead typically another class will | 2134 | Recipes wouldn't inherit this directly, instead typically another class will |
2145 | inherit this and add the relevant native dependencies. | 2135 | inherit this and add the relevant native dependencies. |
2146 | 2136 | ||
2147 | Examples of classes which do this are :ref:`python_flit_core | 2137 | Examples of classes which do this are :ref:`ref-classes-python_flit_core`, |
2148 | <ref-classes-python_flit_core>`, :ref:`python_setuptools_build_meta | 2138 | :ref:`ref-classes-python_setuptools_build_meta`, and |
2149 | <ref-classes-python_setuptools_build_meta>`, and :ref:`python_poetry_core | 2139 | :ref:`ref-classes-python_poetry_core`. |
2150 | <ref-classes-python_poetry_core>`. | ||
2151 | 2140 | ||
2152 | .. _ref-classes-python_poetry_core: | 2141 | .. _ref-classes-python_poetry_core: |
2153 | 2142 | ||
2154 | ``python_poetry_core`` | 2143 | ``python_poetry_core`` |
2155 | ====================== | 2144 | ====================== |
2156 | 2145 | ||
2157 | The :ref:`python_poetry_core <ref-classes-python_poetry_core>` class enables building Python modules which use the | 2146 | The :ref:`ref-classes-python_poetry_core` class enables building Python modules which use the |
2158 | `Poetry Core <https://python-poetry.org>`__ build system. | 2147 | `Poetry Core <https://python-poetry.org>`__ build system. |
2159 | 2148 | ||
2160 | Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. | 2149 | Internally this uses the :ref:`ref-classes-python_pep517` class. |
2161 | 2150 | ||
2162 | .. _ref-classes-pixbufcache: | 2151 | .. _ref-classes-pixbufcache: |
2163 | 2152 | ||
2164 | ``pixbufcache`` | 2153 | ``pixbufcache`` |
2165 | =============== | 2154 | =============== |
2166 | 2155 | ||
2167 | The :ref:`pixbufcache <ref-classes-pixbufcache>` class generates the proper post-install and | 2156 | The :ref:`ref-classes-pixbufcache` class generates the proper post-install and |
2168 | post-remove (postinst/postrm) scriptlets for packages that install | 2157 | post-remove (postinst/postrm) scriptlets for packages that install |
2169 | pixbuf loaders, which are used with ``gdk-pixbuf``. These scriptlets | 2158 | pixbuf loaders, which are used with ``gdk-pixbuf``. These scriptlets |
2170 | call ``update_pixbuf_cache`` to add the pixbuf loaders to the cache. | 2159 | call ``update_pixbuf_cache`` to add the pixbuf loaders to the cache. |
@@ -2182,13 +2171,13 @@ containing the loaders. | |||
2182 | ``pkgconfig`` | 2171 | ``pkgconfig`` |
2183 | ============= | 2172 | ============= |
2184 | 2173 | ||
2185 | The :ref:`pkgconfig <ref-classes-pkgconfig>` class provides a standard way to get header and | 2174 | The :ref:`ref-classes-pkgconfig` class provides a standard way to get header and |
2186 | library information by using ``pkg-config``. This class aims to smooth | 2175 | library information by using ``pkg-config``. This class aims to smooth |
2187 | integration of ``pkg-config`` into libraries that use it. | 2176 | integration of ``pkg-config`` into libraries that use it. |
2188 | 2177 | ||
2189 | During staging, BitBake installs ``pkg-config`` data into the | 2178 | During staging, BitBake installs ``pkg-config`` data into the |
2190 | ``sysroots/`` directory. By making use of sysroot functionality within | 2179 | ``sysroots/`` directory. By making use of sysroot functionality within |
2191 | ``pkg-config``, the :ref:`pkgconfig <ref-classes-pkgconfig>` class no longer has to manipulate the | 2180 | ``pkg-config``, the :ref:`ref-classes-pkgconfig` class no longer has to manipulate the |
2192 | files. | 2181 | files. |
2193 | 2182 | ||
2194 | .. _ref-classes-populate-sdk: | 2183 | .. _ref-classes-populate-sdk: |
@@ -2196,7 +2185,7 @@ files. | |||
2196 | ``populate_sdk`` | 2185 | ``populate_sdk`` |
2197 | ================ | 2186 | ================ |
2198 | 2187 | ||
2199 | The :ref:`populate_sdk <ref-classes-populate-sdk>` class provides support for SDK-only recipes. For | 2188 | The :ref:`ref-classes-populate-sdk` class provides support for SDK-only recipes. For |
2200 | information on advantages gained when building a cross-development | 2189 | information on advantages gained when building a cross-development |
2201 | toolchain using the :ref:`ref-tasks-populate_sdk` | 2190 | toolchain using the :ref:`ref-tasks-populate_sdk` |
2202 | task, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`" | 2191 | task, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`" |
@@ -2208,7 +2197,7 @@ Software Development Kit (eSDK) manual. | |||
2208 | ``populate_sdk_*`` | 2197 | ``populate_sdk_*`` |
2209 | ================== | 2198 | ================== |
2210 | 2199 | ||
2211 | The :ref:`populate_sdk_* <ref-classes-populate-sdk-*>` classes support SDK creation and consist of the | 2200 | The :ref:`ref-classes-populate-sdk-*` classes support SDK creation and consist of the |
2212 | following classes: | 2201 | following classes: |
2213 | 2202 | ||
2214 | - :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`: The base class supporting SDK creation under | 2203 | - :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`: The base class supporting SDK creation under |
@@ -2265,7 +2254,7 @@ Software Development Kit (eSDK) manual. | |||
2265 | ``prexport`` | 2254 | ``prexport`` |
2266 | ============ | 2255 | ============ |
2267 | 2256 | ||
2268 | The :ref:`prexport <ref-classes-prexport>` class provides functionality for exporting | 2257 | The :ref:`ref-classes-prexport` class provides functionality for exporting |
2269 | :term:`PR` values. | 2258 | :term:`PR` values. |
2270 | 2259 | ||
2271 | .. note:: | 2260 | .. note:: |
@@ -2278,7 +2267,7 @@ The :ref:`prexport <ref-classes-prexport>` class provides functionality for expo | |||
2278 | ``primport`` | 2267 | ``primport`` |
2279 | ============ | 2268 | ============ |
2280 | 2269 | ||
2281 | The :ref:`primport <ref-classes-primport>` class provides functionality for importing | 2270 | The :ref:`ref-classes-primport` class provides functionality for importing |
2282 | :term:`PR` values. | 2271 | :term:`PR` values. |
2283 | 2272 | ||
2284 | .. note:: | 2273 | .. note:: |
@@ -2291,13 +2280,13 @@ The :ref:`primport <ref-classes-primport>` class provides functionality for impo | |||
2291 | ``prserv`` | 2280 | ``prserv`` |
2292 | ========== | 2281 | ========== |
2293 | 2282 | ||
2294 | The :ref:`prserv <ref-classes-prserv>` class provides functionality for using a :ref:`PR | 2283 | The :ref:`ref-classes-prserv` class provides functionality for using a :ref:`PR |
2295 | service <dev-manual/packages:working with a pr service>` in order to | 2284 | service <dev-manual/packages:working with a pr service>` in order to |
2296 | automatically manage the incrementing of the :term:`PR` | 2285 | automatically manage the incrementing of the :term:`PR` |
2297 | variable for each recipe. | 2286 | variable for each recipe. |
2298 | 2287 | ||
2299 | This class is enabled by default because it is inherited by the | 2288 | This class is enabled by default because it is inherited by the |
2300 | :ref:`package <ref-classes-package>` class. However, the OpenEmbedded | 2289 | :ref:`ref-classes-package` class. However, the OpenEmbedded |
2301 | build system will not enable the functionality of this class unless | 2290 | build system will not enable the functionality of this class unless |
2302 | :term:`PRSERV_HOST` has been set. | 2291 | :term:`PRSERV_HOST` has been set. |
2303 | 2292 | ||
@@ -2306,7 +2295,7 @@ build system will not enable the functionality of this class unless | |||
2306 | ``ptest`` | 2295 | ``ptest`` |
2307 | ========= | 2296 | ========= |
2308 | 2297 | ||
2309 | The :ref:`ptest <ref-classes-ptest>` class provides functionality for packaging and installing | 2298 | The :ref:`ref-classes-ptest` class provides functionality for packaging and installing |
2310 | runtime tests for recipes that build software that provides these tests. | 2299 | runtime tests for recipes that build software that provides these tests. |
2311 | 2300 | ||
2312 | This class is intended to be inherited by individual recipes. However, | 2301 | This class is intended to be inherited by individual recipes. However, |
@@ -2333,7 +2322,7 @@ section in the Yocto Project Development Tasks Manual. | |||
2333 | ``python3-dir`` | 2322 | ``python3-dir`` |
2334 | =============== | 2323 | =============== |
2335 | 2324 | ||
2336 | The :ref:`python3-dir <ref-classes-python3-dir>` class provides the base version, location, and site | 2325 | The :ref:`ref-classes-python3-dir` class provides the base version, location, and site |
2337 | package location for Python 3. | 2326 | package location for Python 3. |
2338 | 2327 | ||
2339 | .. _ref-classes-python3native: | 2328 | .. _ref-classes-python3native: |
@@ -2341,7 +2330,7 @@ package location for Python 3. | |||
2341 | ``python3native`` | 2330 | ``python3native`` |
2342 | ================= | 2331 | ================= |
2343 | 2332 | ||
2344 | The :ref:`python3native <ref-classes-python3native>` class supports using the native version of Python | 2333 | The :ref:`ref-classes-python3native` class supports using the native version of Python |
2345 | 3 built by the build system rather than support of the version provided | 2334 | 3 built by the build system rather than support of the version provided |
2346 | by the build host. | 2335 | by the build host. |
2347 | 2336 | ||
@@ -2350,7 +2339,7 @@ by the build host. | |||
2350 | ``python3targetconfig`` | 2339 | ``python3targetconfig`` |
2351 | ======================= | 2340 | ======================= |
2352 | 2341 | ||
2353 | The :ref:`python3targetconfig <ref-classes-python3targetconfig>` class supports using the native version of Python | 2342 | The :ref:`ref-classes-python3targetconfig` class supports using the native version of Python |
2354 | 3 built by the build system rather than support of the version provided | 2343 | 3 built by the build system rather than support of the version provided |
2355 | by the build host, except that the configuration for the target machine | 2344 | by the build host, except that the configuration for the target machine |
2356 | is accessible (such as correct installation directories). This also adds a | 2345 | is accessible (such as correct installation directories). This also adds a |
@@ -2362,7 +2351,7 @@ in order to avoid unnecessarily lengthening builds. | |||
2362 | ``qemu`` | 2351 | ``qemu`` |
2363 | ======== | 2352 | ======== |
2364 | 2353 | ||
2365 | The :ref:`qemu <ref-classes-qemu>` class provides functionality for recipes that either need | 2354 | The :ref:`ref-classes-qemu` class provides functionality for recipes that either need |
2366 | QEMU or test for the existence of QEMU. Typically, this class is used to | 2355 | QEMU or test for the existence of QEMU. Typically, this class is used to |
2367 | run programs for a target system on the build host using QEMU's | 2356 | run programs for a target system on the build host using QEMU's |
2368 | application emulation mode. | 2357 | application emulation mode. |
@@ -2372,7 +2361,7 @@ application emulation mode. | |||
2372 | ``recipe_sanity`` | 2361 | ``recipe_sanity`` |
2373 | ================= | 2362 | ================= |
2374 | 2363 | ||
2375 | The :ref:`recipe_sanity <ref-classes-recipe_sanity>` class checks for the presence of any host system | 2364 | The :ref:`ref-classes-recipe_sanity` class checks for the presence of any host system |
2376 | recipe prerequisites that might affect the build (e.g. variables that | 2365 | recipe prerequisites that might affect the build (e.g. variables that |
2377 | are set or software that is present). | 2366 | are set or software that is present). |
2378 | 2367 | ||
@@ -2381,19 +2370,18 @@ are set or software that is present). | |||
2381 | ``relocatable`` | 2370 | ``relocatable`` |
2382 | =============== | 2371 | =============== |
2383 | 2372 | ||
2384 | The :ref:`relocatable <ref-classes-relocatable>` class enables relocation of binaries when they are | 2373 | The :ref:`ref-classes-relocatable` class enables relocation of binaries when they are |
2385 | installed into the sysroot. | 2374 | installed into the sysroot. |
2386 | 2375 | ||
2387 | This class makes use of the :ref:`chrpath <ref-classes-chrpath>` class | 2376 | This class makes use of the :ref:`ref-classes-chrpath` class and is used by |
2388 | and is used by both the :ref:`cross <ref-classes-cross>` and | 2377 | both the :ref:`ref-classes-cross` and :ref:`ref-classes-native` classes. |
2389 | :ref:`native <ref-classes-native>` classes. | ||
2390 | 2378 | ||
2391 | .. _ref-classes-remove-libtool: | 2379 | .. _ref-classes-remove-libtool: |
2392 | 2380 | ||
2393 | ``remove-libtool`` | 2381 | ``remove-libtool`` |
2394 | ================== | 2382 | ================== |
2395 | 2383 | ||
2396 | The :ref:`remove-libtool <ref-classes-remove-libtool>` class adds a post function to the | 2384 | The :ref:`ref-classes-remove-libtool` class adds a post function to the |
2397 | :ref:`ref-tasks-install` task to remove all ``.la`` files | 2385 | :ref:`ref-tasks-install` task to remove all ``.la`` files |
2398 | installed by ``libtool``. Removing these files results in them being | 2386 | installed by ``libtool``. Removing these files results in them being |
2399 | absent from both the sysroot and target packages. | 2387 | absent from both the sysroot and target packages. |
@@ -2405,14 +2393,14 @@ override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows:: | |||
2405 | 2393 | ||
2406 | .. note:: | 2394 | .. note:: |
2407 | 2395 | ||
2408 | The :ref:`remove-libtool <ref-classes-remove-libtool>` class is not enabled by default. | 2396 | The :ref:`ref-classes-remove-libtool` class is not enabled by default. |
2409 | 2397 | ||
2410 | .. _ref-classes-report-error: | 2398 | .. _ref-classes-report-error: |
2411 | 2399 | ||
2412 | ``report-error`` | 2400 | ``report-error`` |
2413 | ================ | 2401 | ================ |
2414 | 2402 | ||
2415 | The :ref:`report-error <ref-classes-report-error>` class supports enabling the :ref:`error reporting | 2403 | The :ref:`ref-classes-report-error` class supports enabling the :ref:`error reporting |
2416 | tool <dev-manual/error-reporting-tool:using the error reporting tool>`", | 2404 | tool <dev-manual/error-reporting-tool:using the error reporting tool>`", |
2417 | which allows you to submit build error information to a central database. | 2405 | which allows you to submit build error information to a central database. |
2418 | 2406 | ||
@@ -2427,7 +2415,7 @@ are created and stored in | |||
2427 | ``rm_work`` | 2415 | ``rm_work`` |
2428 | =========== | 2416 | =========== |
2429 | 2417 | ||
2430 | The :ref:`rm_work <ref-classes-rm-work>` class supports deletion of temporary workspace, which | 2418 | The :ref:`ref-classes-rm-work` class supports deletion of temporary workspace, which |
2431 | can ease your hard drive demands during builds. | 2419 | can ease your hard drive demands during builds. |
2432 | 2420 | ||
2433 | The OpenEmbedded build system can use a substantial amount of disk space | 2421 | The OpenEmbedded build system can use a substantial amount of disk space |
@@ -2436,19 +2424,18 @@ under the ``${TMPDIR}/work`` directory for each recipe. Once the build | |||
2436 | system generates the packages for a recipe, the work files for that | 2424 | system generates the packages for a recipe, the work files for that |
2437 | recipe are no longer needed. However, by default, the build system | 2425 | recipe are no longer needed. However, by default, the build system |
2438 | preserves these files for inspection and possible debugging purposes. If | 2426 | preserves these files for inspection and possible debugging purposes. If |
2439 | you would rather have these files deleted to save disk space as the | 2427 | you would rather have these files deleted to save disk space as the build |
2440 | build progresses, you can enable :ref:`rm_work <ref-classes-rm-work>` by adding the following to | 2428 | progresses, you can enable :ref:`ref-classes-rm-work` by adding the following to |
2441 | your ``local.conf`` file, which is found in the :term:`Build Directory`:: | 2429 | your ``local.conf`` file, which is found in the :term:`Build Directory`:: |
2442 | 2430 | ||
2443 | INHERIT += "rm_work" | 2431 | INHERIT += "rm_work" |
2444 | 2432 | ||
2445 | If you are | 2433 | If you are modifying and building source code out of the work directory for a |
2446 | modifying and building source code out of the work directory for a | 2434 | recipe, enabling :ref:`ref-classes-rm-work` will potentially result in your |
2447 | recipe, enabling :ref:`rm_work <ref-classes-rm-work>` will potentially result in your changes to | 2435 | changes to the source being lost. To exclude some recipes from having their work |
2448 | the source being lost. To exclude some recipes from having their work | 2436 | directories deleted by :ref:`ref-classes-rm-work`, you can add the names of the |
2449 | directories deleted by :ref:`rm_work <ref-classes-rm-work>`, you can add the names of the recipe | 2437 | recipe or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable, |
2450 | or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable, which | 2438 | which can also be set in your ``local.conf`` file. Here is an example:: |
2451 | can also be set in your ``local.conf`` file. Here is an example:: | ||
2452 | 2439 | ||
2453 | RM_WORK_EXCLUDE += "busybox glibc" | 2440 | RM_WORK_EXCLUDE += "busybox glibc" |
2454 | 2441 | ||
@@ -2457,7 +2444,7 @@ can also be set in your ``local.conf`` file. Here is an example:: | |||
2457 | ``rootfs*`` | 2444 | ``rootfs*`` |
2458 | =========== | 2445 | =========== |
2459 | 2446 | ||
2460 | The :ref:`rootfs* <ref-classes-rootfs*>` classes support creating the root filesystem for an | 2447 | The :ref:`ref-classes-rootfs*` classes support creating the root filesystem for an |
2461 | image and consist of the following classes: | 2448 | image and consist of the following classes: |
2462 | 2449 | ||
2463 | - The :ref:`rootfs-postcommands <ref-classes-rootfs*>` class, which defines filesystem | 2450 | - The :ref:`rootfs-postcommands <ref-classes-rootfs*>` class, which defines filesystem |
@@ -2476,8 +2463,8 @@ image and consist of the following classes: | |||
2476 | on the build host directly into the root filesystem. | 2463 | on the build host directly into the root filesystem. |
2477 | 2464 | ||
2478 | The root filesystem is created from packages using one of the | 2465 | The root filesystem is created from packages using one of the |
2479 | :ref:`rootfs*.bbclass <ref-classes-rootfs*>` files as determined by the | 2466 | :ref:`ref-classes-rootfs*` files as determined by the :term:`PACKAGE_CLASSES` |
2480 | :term:`PACKAGE_CLASSES` variable. | 2467 | variable. |
2481 | 2468 | ||
2482 | For information on how root filesystem images are created, see the | 2469 | For information on how root filesystem images are created, see the |
2483 | ":ref:`overview-manual/concepts:image generation`" | 2470 | ":ref:`overview-manual/concepts:image generation`" |
@@ -2488,7 +2475,7 @@ section in the Yocto Project Overview and Concepts Manual. | |||
2488 | ``sanity`` | 2475 | ``sanity`` |
2489 | ========== | 2476 | ========== |
2490 | 2477 | ||
2491 | The :ref:`sanity <ref-classes-sanity>` class checks to see if prerequisite software is present | 2478 | The :ref:`ref-classes-sanity` class checks to see if prerequisite software is present |
2492 | on the host system so that users can be notified of potential problems | 2479 | on the host system so that users can be notified of potential problems |
2493 | that might affect their build. The class also performs basic user | 2480 | that might affect their build. The class also performs basic user |
2494 | configuration checks from the ``local.conf`` configuration file to | 2481 | configuration checks from the ``local.conf`` configuration file to |
@@ -2500,17 +2487,17 @@ usually determines whether to include this class. | |||
2500 | ``scons`` | 2487 | ``scons`` |
2501 | ========= | 2488 | ========= |
2502 | 2489 | ||
2503 | The :ref:`scons <ref-classes-scons>` class supports recipes that need to build software that | 2490 | The :ref:`ref-classes-scons` class supports recipes that need to build software |
2504 | uses the SCons build system. You can use the | 2491 | that uses the SCons build system. You can use the :term:`EXTRA_OESCONS` |
2505 | :term:`EXTRA_OESCONS` variable to specify | 2492 | variable to specify additional configuration options you want to pass SCons |
2506 | additional configuration options you want to pass SCons command line. | 2493 | command line. |
2507 | 2494 | ||
2508 | .. _ref-classes-sdl: | 2495 | .. _ref-classes-sdl: |
2509 | 2496 | ||
2510 | ``sdl`` | 2497 | ``sdl`` |
2511 | ======= | 2498 | ======= |
2512 | 2499 | ||
2513 | The :ref:`sdl <ref-classes-sdl>` class supports recipes that need to build software that uses | 2500 | The :ref:`ref-classes-sdl` class supports recipes that need to build software that uses |
2514 | the Simple DirectMedia Layer (SDL) library. | 2501 | the Simple DirectMedia Layer (SDL) library. |
2515 | 2502 | ||
2516 | .. _ref-classes-python_setuptools_build_meta: | 2503 | .. _ref-classes-python_setuptools_build_meta: |
@@ -2518,8 +2505,8 @@ the Simple DirectMedia Layer (SDL) library. | |||
2518 | ``python_setuptools_build_meta`` | 2505 | ``python_setuptools_build_meta`` |
2519 | ================================ | 2506 | ================================ |
2520 | 2507 | ||
2521 | The :ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>` class enables building Python modules which | 2508 | The :ref:`ref-classes-python_setuptools_build_meta` class enables building |
2522 | declare the | 2509 | Python modules which declare the |
2523 | `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant | 2510 | `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant |
2524 | ``setuptools.build_meta`` ``build-backend`` in the ``[build-system]`` | 2511 | ``setuptools.build_meta`` ``build-backend`` in the ``[build-system]`` |
2525 | section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). | 2512 | section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__). |
@@ -2527,21 +2514,22 @@ section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep | |||
2527 | Python modules built with ``setuptools.build_meta`` can be pure Python or | 2514 | Python modules built with ``setuptools.build_meta`` can be pure Python or |
2528 | include ``C`` or ``Rust`` extensions). | 2515 | include ``C`` or ``Rust`` extensions). |
2529 | 2516 | ||
2530 | Internally this uses the :ref:`python_pep517 <ref-classes-python_pep517>` class. | 2517 | Internally this uses the :ref:`ref-classes-python_pep517` class. |
2531 | 2518 | ||
2532 | .. _ref-classes-setuptools3: | 2519 | .. _ref-classes-setuptools3: |
2533 | 2520 | ||
2534 | ``setuptools3`` | 2521 | ``setuptools3`` |
2535 | =============== | 2522 | =============== |
2536 | 2523 | ||
2537 | The :ref:`setuptools3 <ref-classes-setuptools3>` class supports Python version 3.x extensions that | 2524 | The :ref:`ref-classes-setuptools3` class supports Python version 3.x extensions |
2538 | use build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and | 2525 | that use build systems based on ``setuptools`` (e.g. only have a ``setup.py`` |
2539 | have not migrated to the official ``pyproject.toml`` format). If your recipe | 2526 | and have not migrated to the official ``pyproject.toml`` format). If your recipe |
2540 | uses these build systems, the recipe needs to inherit the :ref:`setuptools3 <ref-classes-setuptools3>` class. | 2527 | uses these build systems, the recipe needs to inherit the |
2528 | :ref:`ref-classes-setuptools3` class. | ||
2541 | 2529 | ||
2542 | .. note:: | 2530 | .. note:: |
2543 | 2531 | ||
2544 | The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-compile` task now calls | 2532 | The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-compile` task now calls |
2545 | ``setup.py bdist_wheel`` to build the ``wheel`` binary archive format | 2533 | ``setup.py bdist_wheel`` to build the ``wheel`` binary archive format |
2546 | (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__). | 2534 | (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__). |
2547 | 2535 | ||
@@ -2552,22 +2540,22 @@ uses these build systems, the recipe needs to inherit the :ref:`setuptools3 <ref | |||
2552 | 2540 | ||
2553 | .. note:: | 2541 | .. note:: |
2554 | 2542 | ||
2555 | The :ref:`setuptools3 <ref-classes-setuptools3>` class :ref:`ref-tasks-install` task now installs the ``wheel`` | 2543 | The :ref:`ref-classes-setuptools3` class :ref:`ref-tasks-install` task now |
2556 | binary archive. In current versions of ``setuptools`` the legacy ``setup.py | 2544 | installs the ``wheel`` binary archive. In current versions of |
2557 | install`` method is deprecated. If the ``setup.py`` cannot be used with | 2545 | ``setuptools`` the legacy ``setup.py install`` method is deprecated. If |
2558 | wheels, for example it creates files outside of the Python module or | 2546 | the ``setup.py`` cannot be used with wheels, for example it creates files |
2559 | standard entry points, then :ref:`setuptools3_legacy | 2547 | outside of the Python module or standard entry points, then |
2560 | <ref-classes-setuptools3_legacy>` should be used. | 2548 | :ref:`ref-classes-setuptools3_legacy` should be used. |
2561 | 2549 | ||
2562 | .. _ref-classes-setuptools3_legacy: | 2550 | .. _ref-classes-setuptools3_legacy: |
2563 | 2551 | ||
2564 | ``setuptools3_legacy`` | 2552 | ``setuptools3_legacy`` |
2565 | ====================== | 2553 | ====================== |
2566 | 2554 | ||
2567 | The :ref:`setuptools3_legacy <ref-classes-setuptools3_legacy>` class supports | 2555 | The :ref:`ref-classes-setuptools3_legacy` class supports |
2568 | Python version 3.x extensions that use build systems based on ``setuptools`` | 2556 | Python version 3.x extensions that use build systems based on ``setuptools`` |
2569 | (e.g. only have a ``setup.py`` and have not migrated to the official | 2557 | (e.g. only have a ``setup.py`` and have not migrated to the official |
2570 | ``pyproject.toml`` format). Unlike :ref:`setuptools3 <ref-classes-setuptools3>`, | 2558 | ``pyproject.toml`` format). Unlike :ref:`ref-classes-setuptools3`, |
2571 | this uses the traditional ``setup.py`` ``build`` and ``install`` commands and | 2559 | this uses the traditional ``setup.py`` ``build`` and ``install`` commands and |
2572 | not wheels. This use of ``setuptools`` like this is | 2560 | not wheels. This use of ``setuptools`` like this is |
2573 | `deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__ | 2561 | `deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`__ |
@@ -2578,36 +2566,35 @@ but still relatively common. | |||
2578 | ``setuptools3-base`` | 2566 | ``setuptools3-base`` |
2579 | ==================== | 2567 | ==================== |
2580 | 2568 | ||
2581 | The :ref:`setuptools3-base <ref-classes-setuptools3-base>` class provides a reusable base for other classes | 2569 | The :ref:`ref-classes-setuptools3-base` class provides a reusable base for |
2582 | that support building Python version 3.x extensions. If you need | 2570 | other classes that support building Python version 3.x extensions. If you need |
2583 | functionality that is not provided by the :ref:`setuptools3 <ref-classes-setuptools3>` class, you may | 2571 | functionality that is not provided by the :ref:`ref-classes-setuptools3` class, |
2584 | want to ``inherit setuptools3-base``. Some recipes do not need the tasks | 2572 | you may want to ``inherit setuptools3-base``. Some recipes do not need the tasks |
2585 | in the :ref:`setuptools3 <ref-classes-setuptools3>` class and inherit this class instead. | 2573 | in the :ref:`ref-classes-setuptools3` class and inherit this class instead. |
2586 | 2574 | ||
2587 | .. _ref-classes-sign_rpm: | 2575 | .. _ref-classes-sign_rpm: |
2588 | 2576 | ||
2589 | ``sign_rpm`` | 2577 | ``sign_rpm`` |
2590 | ============ | 2578 | ============ |
2591 | 2579 | ||
2592 | The :ref:`sign_rpm <ref-classes-sign_rpm>` class supports generating signed RPM packages. | 2580 | The :ref:`ref-classes-sign_rpm` class supports generating signed RPM packages. |
2593 | 2581 | ||
2594 | .. _ref-classes-siteconfig: | 2582 | .. _ref-classes-siteconfig: |
2595 | 2583 | ||
2596 | ``siteconfig`` | 2584 | ``siteconfig`` |
2597 | ============== | 2585 | ============== |
2598 | 2586 | ||
2599 | The :ref:`siteconfig <ref-classes-siteconfig>` class provides functionality for handling site | 2587 | The :ref:`ref-classes-siteconfig` class provides functionality for handling site |
2600 | configuration. The class is used by the | 2588 | configuration. The class is used by the :ref:`ref-classes-autotools` class to |
2601 | :ref:`autotools <ref-classes-autotools>` class to accelerate the | 2589 | accelerate the :ref:`ref-tasks-configure` task. |
2602 | :ref:`ref-tasks-configure` task. | ||
2603 | 2590 | ||
2604 | .. _ref-classes-siteinfo: | 2591 | .. _ref-classes-siteinfo: |
2605 | 2592 | ||
2606 | ``siteinfo`` | 2593 | ``siteinfo`` |
2607 | ============ | 2594 | ============ |
2608 | 2595 | ||
2609 | The :ref:`siteinfo <ref-classes-siteinfo>` class provides information about the targets that might | 2596 | The :ref:`ref-classes-siteinfo` class provides information about the targets |
2610 | be needed by other classes or recipes. | 2597 | that might be needed by other classes or recipes. |
2611 | 2598 | ||
2612 | As an example, consider Autotools, which can require tests that must | 2599 | As an example, consider Autotools, which can require tests that must |
2613 | execute on the target hardware. Since this is not possible in general | 2600 | execute on the target hardware. Since this is not possible in general |
@@ -2627,9 +2614,9 @@ The class also provides variables like :term:`SITEINFO_ENDIANNESS` and | |||
2627 | ``sstate`` | 2614 | ``sstate`` |
2628 | ========== | 2615 | ========== |
2629 | 2616 | ||
2630 | The :ref:`sstate <ref-classes-sstate>` class provides support for Shared State (sstate). By | 2617 | The :ref:`ref-classes-sstate` class provides support for Shared State (sstate). |
2631 | default, the class is enabled through the | 2618 | By default, the class is enabled through the :term:`INHERIT_DISTRO` variable's |
2632 | :term:`INHERIT_DISTRO` variable's default value. | 2619 | default value. |
2633 | 2620 | ||
2634 | For more information on sstate, see the | 2621 | For more information on sstate, see the |
2635 | ":ref:`overview-manual/concepts:shared state cache`" | 2622 | ":ref:`overview-manual/concepts:shared state cache`" |
@@ -2640,7 +2627,7 @@ section in the Yocto Project Overview and Concepts Manual. | |||
2640 | ``staging`` | 2627 | ``staging`` |
2641 | =========== | 2628 | =========== |
2642 | 2629 | ||
2643 | The :ref:`staging <ref-classes-staging>` class installs files into individual recipe work | 2630 | The :ref:`ref-classes-staging` class installs files into individual recipe work |
2644 | directories for sysroots. The class contains the following key tasks: | 2631 | directories for sysroots. The class contains the following key tasks: |
2645 | 2632 | ||
2646 | - The :ref:`ref-tasks-populate_sysroot` task, | 2633 | - The :ref:`ref-tasks-populate_sysroot` task, |
@@ -2653,8 +2640,8 @@ directories for sysroots. The class contains the following key tasks: | |||
2653 | installs the files into the individual recipe work directories (i.e. | 2640 | installs the files into the individual recipe work directories (i.e. |
2654 | :term:`WORKDIR`). | 2641 | :term:`WORKDIR`). |
2655 | 2642 | ||
2656 | The code in the :ref:`staging <ref-classes-staging>` class is complex and basically works in two | 2643 | The code in the :ref:`ref-classes-staging` class is complex and basically works |
2657 | stages: | 2644 | in two stages: |
2658 | 2645 | ||
2659 | - *Stage One:* The first stage addresses recipes that have files they | 2646 | - *Stage One:* The first stage addresses recipes that have files they |
2660 | want to share with other recipes that have dependencies on the | 2647 | want to share with other recipes that have dependencies on the |
@@ -2727,8 +2714,7 @@ stages: | |||
2727 | dependencies traversed or installed. The same sstate dependency code | 2714 | dependencies traversed or installed. The same sstate dependency code |
2728 | is used so that builds should be identical regardless of whether | 2715 | is used so that builds should be identical regardless of whether |
2729 | sstate was used or not. For a closer look, see the | 2716 | sstate was used or not. For a closer look, see the |
2730 | ``setscene_depvalid()`` function in the | 2717 | ``setscene_depvalid()`` function in the :ref:`ref-classes-sstate` class. |
2731 | :ref:`sstate <ref-classes-sstate>` class. | ||
2732 | 2718 | ||
2733 | The build system is careful to maintain manifests of the files it | 2719 | The build system is careful to maintain manifests of the files it |
2734 | installs so that any given dependency can be installed as needed. The | 2720 | installs so that any given dependency can be installed as needed. The |
@@ -2740,8 +2726,8 @@ stages: | |||
2740 | ``syslinux`` | 2726 | ``syslinux`` |
2741 | ============ | 2727 | ============ |
2742 | 2728 | ||
2743 | The :ref:`syslinux <ref-classes-syslinux>` class provides syslinux-specific functions for building | 2729 | The :ref:`ref-classes-syslinux` class provides syslinux-specific functions for |
2744 | bootable images. | 2730 | building bootable images. |
2745 | 2731 | ||
2746 | The class supports the following variables: | 2732 | The class supports the following variables: |
2747 | 2733 | ||
@@ -2783,8 +2769,8 @@ The class supports the following variables: | |||
2783 | ``systemd`` | 2769 | ``systemd`` |
2784 | =========== | 2770 | =========== |
2785 | 2771 | ||
2786 | The :ref:`systemd <ref-classes-systemd>` class provides support for recipes that install systemd | 2772 | The :ref:`ref-classes-systemd` class provides support for recipes that install |
2787 | unit files. | 2773 | systemd unit files. |
2788 | 2774 | ||
2789 | The functionality for this class is disabled unless you have "systemd" | 2775 | The functionality for this class is disabled unless you have "systemd" |
2790 | in :term:`DISTRO_FEATURES`. | 2776 | in :term:`DISTRO_FEATURES`. |
@@ -2809,7 +2795,7 @@ Services are set up to start on boot automatically | |||
2809 | unless you have set | 2795 | unless you have set |
2810 | :term:`SYSTEMD_AUTO_ENABLE` to "disable". | 2796 | :term:`SYSTEMD_AUTO_ENABLE` to "disable". |
2811 | 2797 | ||
2812 | For more information on :ref:`systemd <ref-classes-systemd>`, see the | 2798 | For more information on :ref:`ref-classes-systemd`, see the |
2813 | ":ref:`dev-manual/init-manager:selecting an initialization manager`" | 2799 | ":ref:`dev-manual/init-manager:selecting an initialization manager`" |
2814 | section in the Yocto Project Development Tasks Manual. | 2800 | section in the Yocto Project Development Tasks Manual. |
2815 | 2801 | ||
@@ -2818,18 +2804,18 @@ section in the Yocto Project Development Tasks Manual. | |||
2818 | ``systemd-boot`` | 2804 | ``systemd-boot`` |
2819 | ================ | 2805 | ================ |
2820 | 2806 | ||
2821 | The :ref:`systemd-boot <ref-classes-systemd-boot>` class provides functions specific to the | 2807 | The :ref:`ref-classes-systemd-boot` class provides functions specific to the |
2822 | systemd-boot bootloader for building bootable images. This is an | 2808 | systemd-boot bootloader for building bootable images. This is an |
2823 | internal class and is not intended to be used directly. | 2809 | internal class and is not intended to be used directly. |
2824 | 2810 | ||
2825 | .. note:: | 2811 | .. note:: |
2826 | 2812 | ||
2827 | The :ref:`systemd-boot <ref-classes-systemd-boot>` class is a result from merging the ``gummiboot`` class | 2813 | The :ref:`ref-classes-systemd-boot` class is a result from merging the ``gummiboot`` class |
2828 | used in previous Yocto Project releases with the ``systemd`` project. | 2814 | used in previous Yocto Project releases with the ``systemd`` project. |
2829 | 2815 | ||
2830 | Set the :term:`EFI_PROVIDER` variable to | 2816 | Set the :term:`EFI_PROVIDER` variable to ":ref:`ref-classes-systemd-boot`" to |
2831 | ":ref:`systemd-boot <ref-classes-systemd-boot>`" to use this class. Doing so creates a standalone EFI | 2817 | use this class. Doing so creates a standalone EFI bootloader that is not |
2832 | bootloader that is not dependent on systemd. | 2818 | dependent on systemd. |
2833 | 2819 | ||
2834 | For information on more variables used and supported in this class, see | 2820 | For information on more variables used and supported in this class, see |
2835 | the :term:`SYSTEMD_BOOT_CFG`, | 2821 | the :term:`SYSTEMD_BOOT_CFG`, |
@@ -2845,24 +2831,22 @@ for more information. | |||
2845 | ``terminal`` | 2831 | ``terminal`` |
2846 | ============ | 2832 | ============ |
2847 | 2833 | ||
2848 | The :ref:`terminal <ref-classes-terminal>` class provides support for starting a terminal session. | 2834 | The :ref:`ref-classes-terminal` class provides support for starting a terminal |
2849 | The :term:`OE_TERMINAL` variable controls which | 2835 | session. The :term:`OE_TERMINAL` variable controls which terminal emulator is |
2850 | terminal emulator is used for the session. | 2836 | used for the session. |
2851 | 2837 | ||
2852 | Other classes use the :ref:`terminal <ref-classes-terminal>` class anywhere a separate terminal | 2838 | Other classes use the :ref:`ref-classes-terminal` class anywhere a separate |
2853 | session needs to be started. For example, the | 2839 | terminal session needs to be started. For example, the :ref:`ref-classes-patch` |
2854 | :ref:`patch <ref-classes-patch>` class assuming | 2840 | class assuming :term:`PATCHRESOLVE` is set to "user", the |
2855 | :term:`PATCHRESOLVE` is set to "user", the | 2841 | :ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all |
2856 | :ref:`cml1 <ref-classes-cml1>` class, and the | 2842 | use the :ref:`ref-classes-terminal` class. |
2857 | :ref:`devshell <ref-classes-devshell>` class all use the :ref:`terminal <ref-classes-terminal>` | ||
2858 | class. | ||
2859 | 2843 | ||
2860 | .. _ref-classes-testimage: | 2844 | .. _ref-classes-testimage: |
2861 | 2845 | ||
2862 | ``testimage`` | 2846 | ``testimage`` |
2863 | ============= | 2847 | ============= |
2864 | 2848 | ||
2865 | The :ref:`testimage <ref-classes-testimage>` class supports running automated tests against | 2849 | The :ref:`ref-classes-testimage` class supports running automated tests against |
2866 | images using QEMU and on actual hardware. The classes handle loading the | 2850 | images using QEMU and on actual hardware. The classes handle loading the |
2867 | tests and starting the image. To use the classes, you need to perform | 2851 | tests and starting the image. To use the classes, you need to perform |
2868 | steps to set up the environment. | 2852 | steps to set up the environment. |
@@ -2874,7 +2858,7 @@ To enable this class, add the following to your configuration:: | |||
2874 | The tests are commands that run on the target system over ``ssh``. Each | 2858 | The tests are commands that run on the target system over ``ssh``. Each |
2875 | test is written in Python and makes use of the ``unittest`` module. | 2859 | test is written in Python and makes use of the ``unittest`` module. |
2876 | 2860 | ||
2877 | The :ref:`testimage <ref-classes-testimage>` class runs tests on an image when called using the | 2861 | The :ref:`ref-classes-testimage` class runs tests on an image when called using the |
2878 | following:: | 2862 | following:: |
2879 | 2863 | ||
2880 | $ bitbake -c testimage image | 2864 | $ bitbake -c testimage image |
@@ -2894,7 +2878,7 @@ section in the Yocto Project Development Tasks Manual. | |||
2894 | =========== | 2878 | =========== |
2895 | 2879 | ||
2896 | This class supports running automated tests against software development | 2880 | This class supports running automated tests against software development |
2897 | kits (SDKs). The :ref:`testsdk <ref-classes-testsdk>` class runs tests on an SDK when called | 2881 | kits (SDKs). The :ref:`ref-classes-testsdk` class runs tests on an SDK when called |
2898 | using the following:: | 2882 | using the following:: |
2899 | 2883 | ||
2900 | $ bitbake -c testsdk image | 2884 | $ bitbake -c testsdk image |
@@ -2902,7 +2886,7 @@ using the following:: | |||
2902 | .. note:: | 2886 | .. note:: |
2903 | 2887 | ||
2904 | Best practices include using :term:`IMAGE_CLASSES` rather than | 2888 | Best practices include using :term:`IMAGE_CLASSES` rather than |
2905 | :term:`INHERIT` to inherit the :ref:`testsdk <ref-classes-testsdk>` class for automated SDK | 2889 | :term:`INHERIT` to inherit the :ref:`ref-classes-testsdk` class for automated SDK |
2906 | testing. | 2890 | testing. |
2907 | 2891 | ||
2908 | .. _ref-classes-texinfo: | 2892 | .. _ref-classes-texinfo: |
@@ -2928,7 +2912,7 @@ host system. | |||
2928 | ``toaster`` | 2912 | ``toaster`` |
2929 | =========== | 2913 | =========== |
2930 | 2914 | ||
2931 | The :ref:`toaster <ref-classes-toaster>` class collects information about packages and images and | 2915 | The :ref:`ref-classes-toaster` class collects information about packages and images and |
2932 | sends them as events that the BitBake user interface can receive. The | 2916 | sends them as events that the BitBake user interface can receive. The |
2933 | class is enabled when the Toaster user interface is running. | 2917 | class is enabled when the Toaster user interface is running. |
2934 | 2918 | ||
@@ -2939,7 +2923,7 @@ This class is not intended to be used directly. | |||
2939 | ``toolchain-scripts`` | 2923 | ``toolchain-scripts`` |
2940 | ===================== | 2924 | ===================== |
2941 | 2925 | ||
2942 | The :ref:`toolchain-scripts <ref-classes-toolchain-scripts>` class provides the scripts used for setting up | 2926 | The :ref:`ref-classes-toolchain-scripts` class provides the scripts used for setting up |
2943 | the environment for installed SDKs. | 2927 | the environment for installed SDKs. |
2944 | 2928 | ||
2945 | .. _ref-classes-typecheck: | 2929 | .. _ref-classes-typecheck: |
@@ -2947,7 +2931,7 @@ the environment for installed SDKs. | |||
2947 | ``typecheck`` | 2931 | ``typecheck`` |
2948 | ============= | 2932 | ============= |
2949 | 2933 | ||
2950 | The :ref:`typecheck <ref-classes-typecheck>` class provides support for validating the values of | 2934 | The :ref:`ref-classes-typecheck` class provides support for validating the values of |
2951 | variables set at the configuration level against their defined types. | 2935 | variables set at the configuration level against their defined types. |
2952 | The OpenEmbedded build system allows you to define the type of a | 2936 | The OpenEmbedded build system allows you to define the type of a |
2953 | variable using the "type" varflag. Here is an example:: | 2937 | variable using the "type" varflag. Here is an example:: |
@@ -2959,7 +2943,7 @@ variable using the "type" varflag. Here is an example:: | |||
2959 | ``uboot-config`` | 2943 | ``uboot-config`` |
2960 | ================ | 2944 | ================ |
2961 | 2945 | ||
2962 | The :ref:`uboot-config <ref-classes-uboot-config>` class provides support for U-Boot configuration for | 2946 | The :ref:`ref-classes-uboot-config` class provides support for U-Boot configuration for |
2963 | a machine. Specify the machine in your recipe as follows:: | 2947 | a machine. Specify the machine in your recipe as follows:: |
2964 | 2948 | ||
2965 | UBOOT_CONFIG ??= <default> | 2949 | UBOOT_CONFIG ??= <default> |
@@ -2990,7 +2974,7 @@ yourself, publish the resulting tarball (e.g. via HTTP) and set | |||
2990 | ``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an | 2974 | ``UNINATIVE_URL`` and ``UNINATIVE_CHECKSUM`` appropriately. For an |
2991 | example, see the ``meta/conf/distro/include/yocto-uninative.inc``. | 2975 | example, see the ``meta/conf/distro/include/yocto-uninative.inc``. |
2992 | 2976 | ||
2993 | The :ref:`uninative <ref-classes-uninative>` class is also used unconditionally by the extensible | 2977 | The :ref:`ref-classes-uninative` class is also used unconditionally by the extensible |
2994 | SDK. When building the extensible SDK, ``uninative-tarball`` is built | 2978 | SDK. When building the extensible SDK, ``uninative-tarball`` is built |
2995 | and the resulting tarball is included within the SDK. | 2979 | and the resulting tarball is included within the SDK. |
2996 | 2980 | ||
@@ -2999,12 +2983,12 @@ and the resulting tarball is included within the SDK. | |||
2999 | ``update-alternatives`` | 2983 | ``update-alternatives`` |
3000 | ======================= | 2984 | ======================= |
3001 | 2985 | ||
3002 | The :ref:`update-alternatives <ref-classes-update-alternatives>` class helps the alternatives system when | 2986 | The :ref:`ref-classes-update-alternatives` class helps the alternatives system when |
3003 | multiple sources provide the same command. This situation occurs when | 2987 | multiple sources provide the same command. This situation occurs when |
3004 | several programs that have the same or similar function are installed | 2988 | several programs that have the same or similar function are installed |
3005 | with the same name. For example, the ``ar`` command is available from | 2989 | with the same name. For example, the ``ar`` command is available from |
3006 | the ``busybox``, ``binutils`` and ``elfutils`` packages. The | 2990 | the ``busybox``, ``binutils`` and ``elfutils`` packages. The |
3007 | :ref:`update-alternatives <ref-classes-update-alternatives>` class handles renaming the binaries so that | 2991 | :ref:`ref-classes-update-alternatives` class handles renaming the binaries so that |
3008 | multiple packages can be installed without conflicts. The ``ar`` command | 2992 | multiple packages can be installed without conflicts. The ``ar`` command |
3009 | still works regardless of which packages are installed or subsequently | 2993 | still works regardless of which packages are installed or subsequently |
3010 | removed. The class renames the conflicting binary in each package and | 2994 | removed. The class renames the conflicting binary in each package and |
@@ -3037,7 +3021,7 @@ file. | |||
3037 | ``update-rc.d`` | 3021 | ``update-rc.d`` |
3038 | =============== | 3022 | =============== |
3039 | 3023 | ||
3040 | The :ref:`update-rc.d <ref-classes-update-rc.d>` class uses ``update-rc.d`` to safely install an | 3024 | The :ref:`ref-classes-update-rc.d` class uses ``update-rc.d`` to safely install an |
3041 | initialization script on behalf of the package. The OpenEmbedded build | 3025 | initialization script on behalf of the package. The OpenEmbedded build |
3042 | system takes care of details such as making sure the script is stopped | 3026 | system takes care of details such as making sure the script is stopped |
3043 | before a package is removed and started when the package is installed. | 3027 | before a package is removed and started when the package is installed. |
@@ -3085,13 +3069,11 @@ set static values, the OpenEmbedded build system looks in | |||
3085 | :term:`BBPATH` for ``files/passwd`` and ``files/group`` | 3069 | :term:`BBPATH` for ``files/passwd`` and ``files/group`` |
3086 | files for the values. | 3070 | files for the values. |
3087 | 3071 | ||
3088 | To use static ``uid`` and ``gid`` values, you need to set some | 3072 | To use static ``uid`` and ``gid`` values, you need to set some variables. See |
3089 | variables. See the :term:`USERADDEXTENSION`, | 3073 | the :term:`USERADDEXTENSION`, :term:`USERADD_UID_TABLES`, |
3090 | :term:`USERADD_UID_TABLES`, | 3074 | :term:`USERADD_GID_TABLES`, and :term:`USERADD_ERROR_DYNAMIC` variables. |
3091 | :term:`USERADD_GID_TABLES`, and | 3075 | You can also see the :ref:`ref-classes-useradd` class for additional |
3092 | :term:`USERADD_ERROR_DYNAMIC` variables. | 3076 | information. |
3093 | You can also see the :ref:`useradd <ref-classes-useradd>` class for | ||
3094 | additional information. | ||
3095 | 3077 | ||
3096 | .. note:: | 3078 | .. note:: |
3097 | 3079 | ||
@@ -3106,32 +3088,31 @@ additional information. | |||
3106 | ``utility-tasks`` | 3088 | ``utility-tasks`` |
3107 | ================= | 3089 | ================= |
3108 | 3090 | ||
3109 | The :ref:`utility-tasks <ref-classes-utility-tasks>` class provides support for various "utility" type | 3091 | The :ref:`ref-classes-utility-tasks` class provides support for various |
3110 | tasks that are applicable to all recipes, such as | 3092 | "utility" type tasks that are applicable to all recipes, such as |
3111 | :ref:`ref-tasks-clean` and | 3093 | :ref:`ref-tasks-clean` and :ref:`ref-tasks-listtasks`. |
3112 | :ref:`ref-tasks-listtasks`. | ||
3113 | 3094 | ||
3114 | This class is enabled by default because it is inherited by the | 3095 | This class is enabled by default because it is inherited by the |
3115 | :ref:`base <ref-classes-base>` class. | 3096 | :ref:`ref-classes-base` class. |
3116 | 3097 | ||
3117 | .. _ref-classes-utils: | 3098 | .. _ref-classes-utils: |
3118 | 3099 | ||
3119 | ``utils`` | 3100 | ``utils`` |
3120 | ========= | 3101 | ========= |
3121 | 3102 | ||
3122 | The :ref:`utils <ref-classes-utils>` class provides some useful Python functions that are | 3103 | The :ref:`ref-classes-utils` class provides some useful Python functions that are |
3123 | typically used in inline Python expressions (e.g. ``${@...}``). One | 3104 | typically used in inline Python expressions (e.g. ``${@...}``). One |
3124 | example use is for ``bb.utils.contains()``. | 3105 | example use is for ``bb.utils.contains()``. |
3125 | 3106 | ||
3126 | This class is enabled by default because it is inherited by the | 3107 | This class is enabled by default because it is inherited by the |
3127 | :ref:`base <ref-classes-base>` class. | 3108 | :ref:`ref-classes-base` class. |
3128 | 3109 | ||
3129 | .. _ref-classes-vala: | 3110 | .. _ref-classes-vala: |
3130 | 3111 | ||
3131 | ``vala`` | 3112 | ``vala`` |
3132 | ======== | 3113 | ======== |
3133 | 3114 | ||
3134 | The :ref:`vala <ref-classes-vala>` class supports recipes that need to build software written | 3115 | The :ref:`ref-classes-vala` class supports recipes that need to build software written |
3135 | using the Vala programming language. | 3116 | using the Vala programming language. |
3136 | 3117 | ||
3137 | .. _ref-classes-waf: | 3118 | .. _ref-classes-waf: |
@@ -3139,7 +3120,7 @@ using the Vala programming language. | |||
3139 | ``waf`` | 3120 | ``waf`` |
3140 | ======= | 3121 | ======= |
3141 | 3122 | ||
3142 | The :ref:`waf <ref-classes-waf>` class supports recipes that need to build software that uses | 3123 | The :ref:`ref-classes-waf` class supports recipes that need to build software that uses |
3143 | the Waf build system. You can use the | 3124 | the Waf build system. You can use the |
3144 | :term:`EXTRA_OECONF` or | 3125 | :term:`EXTRA_OECONF` or |
3145 | :term:`PACKAGECONFIG_CONFARGS` variables | 3126 | :term:`PACKAGECONFIG_CONFARGS` variables |