summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-classes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/ref-classes.rst')
-rw-r--r--documentation/ref-manual/ref-classes.rst143
1 files changed, 45 insertions, 98 deletions
diff --git a/documentation/ref-manual/ref-classes.rst b/documentation/ref-manual/ref-classes.rst
index 7277c6bb9d..21c7aab118 100644
--- a/documentation/ref-manual/ref-classes.rst
+++ b/documentation/ref-manual/ref-classes.rst
@@ -47,7 +47,7 @@ splitting out of debug symbols during packaging).
47 even if the recipes do not produce architecture-specific output. 47 even if the recipes do not produce architecture-specific output.
48 48
49 Configuring such recipes for all architectures causes the 49 Configuring such recipes for all architectures causes the
50 ```do_package_write_*`` tasks to 50 ``do_package_write_*`` tasks to
51 have different signatures for the machines with different tunings. 51 have different signatures for the machines with different tunings.
52 Additionally, unnecessary rebuilds occur every time an image for a 52 Additionally, unnecessary rebuilds occur every time an image for a
53 different ``MACHINE`` is built even when the recipe never changes. 53 different ``MACHINE`` is built even when the recipe never changes.
@@ -164,24 +164,18 @@ example use for this class.
164 164
165 For RPMs and other packages that do not contain a subdirectory, you 165 For RPMs and other packages that do not contain a subdirectory, you
166 should specify an appropriate fetcher parameter to point to the 166 should specify an appropriate fetcher parameter to point to the
167 subdirectory. For example, if BitBake is using the Git fetcher ( 167 subdirectory. For example, if BitBake is using the Git fetcher (``git://``),
168 git:// 168 the "subpath" parameter limits the checkout to a specific subpath
169 ), the "subpath" parameter limits the checkout to a specific subpath 169 of the tree. Here is an example where ``${BP}`` is used so that the files
170 of the tree. Here is an example where 170 are extracted into the subdirectory expected by the default value of
171 ${BP} 171 ``S``:
172 is used so that the files are extracted into the subdirectory
173 expected by the default value of
174 S
175 :
176 :: 172 ::
177 173
178 SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}" 174 SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}"
179 175
180 176
181 See the " 177 See the ":ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers`" section in the BitBake User Manual for
182 Fetchers 178 more information on supported BitBake Fetchers.
183 " section in the BitBake User Manual for more information on
184 supported BitBake Fetchers.
185 179
186.. _ref-classes-binconfig: 180.. _ref-classes-binconfig:
187 181
@@ -736,11 +730,8 @@ introspection. This functionality is only enabled if the
736.. note:: 730.. note::
737 731
738 This functionality is backfilled by default and, if not applicable, 732 This functionality is backfilled by default and, if not applicable,
739 should be disabled through 733 should be disabled through ``DISTRO_FEATURES_BACKFILL_CONSIDERED`` or
740 DISTRO_FEATURES_BACKFILL_CONSIDERED 734 ``MACHINE_FEATURES_BACKFILL_CONSIDERED``, respectively.
741 or
742 MACHINE_FEATURES_BACKFILL_CONSIDERED
743 , respectively.
744 735
745.. _ref-classes-grub-efi: 736.. _ref-classes-grub-efi:
746 737
@@ -969,9 +960,8 @@ The ``image_types`` class also handles conversion and compression of images.
969.. note:: 960.. note::
970 961
971 To build a VMware VMDK image, you need to add "wic.vmdk" to 962 To build a VMware VMDK image, you need to add "wic.vmdk" to
972 IMAGE_FSTYPES 963 ``IMAGE_FSTYPES``. This would also be similar for Virtual Box Virtual Disk
973 . This would also be similar for Virtual Box Virtual Disk Image 964 Image ("vdi") and QEMU Copy On Write Version 2 ("qcow2") images.
974 ("vdi") and QEMU Copy On Write Version 2 ("qcow2") images.
975 965
976.. _ref-classes-image-live: 966.. _ref-classes-image-live:
977 967
@@ -1032,9 +1022,8 @@ You can configure the sanity checks so that specific test failures
1032either raise a warning or an error message. Typically, failures for new 1022either raise a warning or an error message. Typically, failures for new
1033tests generate a warning. Subsequent failures for the same test would 1023tests generate a warning. Subsequent failures for the same test would
1034then generate an error message once the metadata is in a known and good 1024then generate an error message once the metadata is in a known and good
1035condition. See the "`QA Error and Warning Messages <#ref-qa-checks>`__" 1025condition. See the ":doc:`ref-qa-checks`" Chapter for a list of all the warning
1036Chapter for a list of all the warning and error messages you might 1026and error messages you might encounter using a default configuration.
1037encounter using a default configuration.
1038 1027
1039Use the :term:`WARN_QA` and 1028Use the :term:`WARN_QA` and
1040:term:`ERROR_QA` variables to control the behavior of 1029:term:`ERROR_QA` variables to control the behavior of
@@ -1275,9 +1264,9 @@ The following list shows the tests you can list with the ``WARN_QA`` and
1275 1264
1276- ``textrel:`` Checks for ELF binaries that contain relocations in 1265- ``textrel:`` Checks for ELF binaries that contain relocations in
1277 their ``.text`` sections, which can result in a performance impact at 1266 their ``.text`` sections, which can result in a performance impact at
1278 runtime. See the explanation for the 1267 runtime. See the explanation for the ``ELF binary`` message in
1279 ```ELF binary`` <#qa-issue-textrel>`__ message for more information 1268 ":doc:`ref-qa-checks`" for more information regarding runtime performance
1280 regarding runtime performance issues. 1269 issues.
1281 1270
1282- ``unlisted-pkg-lics:`` Checks that all declared licenses applying 1271- ``unlisted-pkg-lics:`` Checks that all declared licenses applying
1283 for a package are also declared on the recipe level (i.e. any license 1272 for a package are also declared on the recipe level (i.e. any license
@@ -1629,8 +1618,8 @@ section in the Yocto Project Development Tasks Manual.
1629================== 1618==================
1630 1619
1631The ``native`` class provides common functionality for recipes that 1620The ``native`` class provides common functionality for recipes that
1632build tools to run on the `build host <#hardware-build-system-term>`__ 1621build tools to run on the :term:`Build Host` (i.e. tools that use the compiler
1633(i.e. tools that use the compiler or other tools from the build host). 1622or other tools from the build host).
1634 1623
1635You can create a recipe that builds tools that run natively on the host 1624You can create a recipe that builds tools that run natively on the host
1636a couple different ways: 1625a couple different ways:
@@ -1728,8 +1717,7 @@ package manager (NPM) <https://en.wikipedia.org/wiki/Npm_(software)>`__.
1728 1717
1729.. note:: 1718.. note::
1730 1719
1731 Currently, recipes inheriting this class must use the 1720 Currently, recipes inheriting this class must use the ``npm://``
1732 npm://
1733 fetcher to have dependencies fetched and packaged automatically. 1721 fetcher to have dependencies fetched and packaged automatically.
1734 1722
1735For information on how to create NPM packages, see the 1723For information on how to create NPM packages, see the
@@ -1833,9 +1821,9 @@ consider some further things about using RPM:
1833You can find additional information on the effects of the package class 1821You can find additional information on the effects of the package class
1834at these two Yocto Project mailing list links: 1822at these two Yocto Project mailing list links:
1835 1823
1836- https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html 1824- :yocto_lists:`/pipermail/poky/2011-May/006362.html`
1837 1825
1838- https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html 1826- :yocto_lists:`/pipermail/poky/2011-May/006363.html`
1839 1827
1840.. _ref-classes-package_deb: 1828.. _ref-classes-package_deb:
1841 1829
@@ -1894,16 +1882,8 @@ variable in the ``local.conf`` file.
1894 1882
1895.. note:: 1883.. note::
1896 1884
1897 You cannot specify the 1885 You cannot specify the ``package_tar`` class first using the
1898 package_tar 1886 ``PACKAGE_CLASSES`` variable. You must use ``.deb``, ``.ipk``, or ``.rpm``
1899 class first using the
1900 PACKAGE_CLASSES
1901 variable. You must use
1902 .deb
1903 ,
1904 .ipk
1905 , or
1906 .rpm
1907 file formats for your image or SDK. 1887 file formats for your image or SDK.
1908 1888
1909.. _ref-classes-packagedata: 1889.. _ref-classes-packagedata:
@@ -2068,9 +2048,7 @@ The ``prexport`` class provides functionality for exporting
2068.. note:: 2048.. note::
2069 2049
2070 This class is not intended to be used directly. Rather, it is enabled 2050 This class is not intended to be used directly. Rather, it is enabled
2071 when using " 2051 when using "``bitbake-prserv-tool export``".
2072 bitbake-prserv-tool export
2073 ".
2074 2052
2075.. _ref-classes-primport: 2053.. _ref-classes-primport:
2076 2054
@@ -2083,9 +2061,7 @@ The ``primport`` class provides functionality for importing
2083.. note:: 2061.. note::
2084 2062
2085 This class is not intended to be used directly. Rather, it is enabled 2063 This class is not intended to be used directly. Rather, it is enabled
2086 when using " 2064 when using "``bitbake-prserv-tool import``".
2087 bitbake-prserv-tool import
2088 ".
2089 2065
2090.. _ref-classes-prserv: 2066.. _ref-classes-prserv:
2091 2067
@@ -2204,9 +2180,7 @@ override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows:
2204 2180
2205.. note:: 2181.. note::
2206 2182
2207 The 2183 The ``remove-libtool`` class is not enabled by default.
2208 remove-libtool
2209 class is not enabled by default.
2210 2184
2211.. _ref-classes-report-error: 2185.. _ref-classes-report-error:
2212 2186
@@ -2429,13 +2403,12 @@ stages:
2429 .. note:: 2403 .. note::
2430 2404
2431 Additionally, a recipe can customize the files further by 2405 Additionally, a recipe can customize the files further by
2432 declaring a processing function in the 2406 declaring a processing function in the ``SYSROOT_PREPROCESS_FUNCS``
2433 SYSROOT_PREPROCESS_FUNCS
2434 variable. 2407 variable.
2435 2408
2436 A shared state (sstate) object is built from these files and the 2409 A shared state (sstate) object is built from these files and the
2437 files are placed into a subdirectory of 2410 files are placed into a subdirectory of
2438 ```tmp/sysroots-components/`` <#structure-build-tmp-sysroots-components>`__. 2411 :ref:`structure-build-tmp-sysroots-components`.
2439 The files are scanned for hardcoded paths to the original 2412 The files are scanned for hardcoded paths to the original
2440 installation location. If the location is found in text files, the 2413 installation location. If the location is found in text files, the
2441 hardcoded locations are replaced by tokens and a list of the files 2414 hardcoded locations are replaced by tokens and a list of the files
@@ -2584,13 +2557,8 @@ internal class and is not intended to be used directly.
2584 2557
2585.. note:: 2558.. note::
2586 2559
2587 The 2560 The ``systemd-boot`` class is a result from merging the ``gummiboot`` class
2588 systemd-boot 2561 used in previous Yocto Project releases with the ``systemd`` project.
2589 class is a result from merging the
2590 gummiboot
2591 class used in previous Yocto Project releases with the
2592 systemd
2593 project.
2594 2562
2595Set the :term:`EFI_PROVIDER` variable to 2563Set the :term:`EFI_PROVIDER` variable to
2596"systemd-boot" to use this class. Doing so creates a standalone EFI 2564"systemd-boot" to use this class. Doing so creates a standalone EFI
@@ -2634,13 +2602,9 @@ steps to set up the environment.
2634 2602
2635.. note:: 2603.. note::
2636 2604
2637 Best practices include using 2605 Best practices include using :term:`IMAGE_CLASSES` rather than
2638 IMAGE_CLASSES 2606 :term:`INHERIT` to inherit the ``testimage`` class for automated image
2639 rather than 2607 testing.
2640 INHERIT
2641 to inherit the
2642 testimage
2643 class for automated image testing.
2644 2608
2645The tests are commands that run on the target system over ``ssh``. Each 2609The tests are commands that run on the target system over ``ssh``. Each
2646test is written in Python and makes use of the ``unittest`` module. 2610test is written in Python and makes use of the ``unittest`` module.
@@ -2673,13 +2637,9 @@ using the following:
2673 2637
2674.. note:: 2638.. note::
2675 2639
2676 Best practices include using 2640 Best practices include using :term:`IMAGE_CLASSES` rather than
2677 IMAGE_CLASSES 2641 :term:`INHERIT` to inherit the ``testsdk`` class for automated SDK
2678 rather than 2642 testing.
2679 INHERIT
2680 to inherit the
2681 testsdk
2682 class for automated SDK testing.
2683 2643
2684.. _ref-classes-texinfo: 2644.. _ref-classes-texinfo:
2685 2645
@@ -2696,11 +2656,8 @@ host system.
2696.. note:: 2656.. note::
2697 2657
2698 If you want to use the Texinfo recipe shipped with the build system, 2658 If you want to use the Texinfo recipe shipped with the build system,
2699 you can remove "texinfo-native" from 2659 you can remove "texinfo-native" from :term:`ASSUME_PROVIDED` and makeinfo
2700 ASSUME_PROVIDED 2660 from :term:`SANITY_REQUIRED_UTILITIES`.
2701 and makeinfo from
2702 SANITY_REQUIRED_UTILITIES
2703 .
2704 2661
2705.. _ref-classes-tinderclient: 2662.. _ref-classes-tinderclient:
2706 2663
@@ -2823,10 +2780,8 @@ file.
2823 2780
2824.. note:: 2781.. note::
2825 2782
2826 You can use the 2783 You can use the ``update-alternatives`` command directly in your recipes.
2827 update-alternatives 2784 However, this class simplifies things in most cases.
2828 command directly in your recipes. However, this class simplifies
2829 things in most cases.
2830 2785
2831.. _ref-classes-update-rc.d: 2786.. _ref-classes-update-rc.d:
2832 2787
@@ -2892,18 +2847,10 @@ additional information.
2892 2847
2893.. note:: 2848.. note::
2894 2849
2895 You do not use the 2850 You do not use the ``useradd-staticids`` class directly. You either enable
2896 useradd-staticids 2851 or disable the class by setting the ``USERADDEXTENSION`` variable. If you
2897 class directly. You either enable or disable the class by setting the 2852 enable or disable the class in a configured system, :term:`TMPDIR` might
2898 USERADDEXTENSION 2853 contain incorrect ``uid`` and ``gid`` values. Deleting the ``TMPDIR``
2899 variable. If you enable or disable the class in a configured system,
2900 TMPDIR
2901 might contain incorrect
2902 uid
2903 and
2904 gid
2905 values. Deleting the
2906 TMPDIR
2907 directory will correct this condition. 2854 directory will correct this condition.
2908 2855
2909.. _ref-classes-utility-tasks: 2856.. _ref-classes-utility-tasks: