diff options
Diffstat (limited to 'documentation/ref-manual/ref-classes.rst')
| -rw-r--r-- | documentation/ref-manual/ref-classes.rst | 143 |
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 | |||
| 1032 | either raise a warning or an error message. Typically, failures for new | 1022 | either raise a warning or an error message. Typically, failures for new |
| 1033 | tests generate a warning. Subsequent failures for the same test would | 1023 | tests generate a warning. Subsequent failures for the same test would |
| 1034 | then generate an error message once the metadata is in a known and good | 1024 | then generate an error message once the metadata is in a known and good |
| 1035 | condition. See the "`QA Error and Warning Messages <#ref-qa-checks>`__" | 1025 | condition. See the ":doc:`ref-qa-checks`" Chapter for a list of all the warning |
| 1036 | Chapter for a list of all the warning and error messages you might | 1026 | and error messages you might encounter using a default configuration. |
| 1037 | encounter using a default configuration. | ||
| 1038 | 1027 | ||
| 1039 | Use the :term:`WARN_QA` and | 1028 | Use 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 | ||
| 1631 | The ``native`` class provides common functionality for recipes that | 1620 | The ``native`` class provides common functionality for recipes that |
| 1632 | build tools to run on the `build host <#hardware-build-system-term>`__ | 1621 | build 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). | 1622 | or other tools from the build host). |
| 1634 | 1623 | ||
| 1635 | You can create a recipe that builds tools that run natively on the host | 1624 | You can create a recipe that builds tools that run natively on the host |
| 1636 | a couple different ways: | 1625 | a 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 | ||
| 1735 | For information on how to create NPM packages, see the | 1723 | For information on how to create NPM packages, see the |
| @@ -1833,9 +1821,9 @@ consider some further things about using RPM: | |||
| 1833 | You can find additional information on the effects of the package class | 1821 | You can find additional information on the effects of the package class |
| 1834 | at these two Yocto Project mailing list links: | 1822 | at 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 | ||
| 2595 | Set the :term:`EFI_PROVIDER` variable to | 2563 | Set 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 | ||
| 2645 | The tests are commands that run on the target system over ``ssh``. Each | 2609 | The tests are commands that run on the target system over ``ssh``. Each |
| 2646 | test is written in Python and makes use of the ``unittest`` module. | 2610 | test 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: |
