diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2021-11-23 18:49:18 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-12-13 23:31:34 +0000 |
commit | d21c35bd81ffb806e5157a43231f8af92c0ba90a (patch) | |
tree | 606afefe6b6db878d974d6c6850fbe10fd850cb4 /documentation/dev-manual | |
parent | 121f5758ab39b305be2e651f538c8b9a6b4e4a81 (diff) | |
download | poky-d21c35bd81ffb806e5157a43231f8af92c0ba90a.tar.gz |
misc manuals: add further class references
(From yocto-docs rev: 0693f1f8466a118dc707a9c17d5ca528b4ea368a)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/common-tasks.rst | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index e870cdb545..0c267d5f48 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
@@ -938,7 +938,8 @@ a recipe and using :term:`EXTRA_IMAGE_FEATURES` from within your | |||
938 | :term:`Build Directory`. | 938 | :term:`Build Directory`. |
939 | 939 | ||
940 | To understand how these features work, the best reference is | 940 | To understand how these features work, the best reference is |
941 | ``meta/classes/image.bbclass``. This class lists out the available | 941 | :ref:`meta/classes/image.bbclass <ref-classes-image>`. |
942 | This class lists out the available | ||
942 | :term:`IMAGE_FEATURES` of which most map to package groups while some, such | 943 | :term:`IMAGE_FEATURES` of which most map to package groups while some, such |
943 | as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general | 944 | as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general |
944 | configuration settings. | 945 | configuration settings. |
@@ -2113,7 +2114,7 @@ statement that essentially identifies itself as being able to provide | |||
2113 | 2114 | ||
2114 | PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }" | 2115 | PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }" |
2115 | 2116 | ||
2116 | Any recipe that inherits the ``kernel`` class is | 2117 | Any recipe that inherits the :ref:`kernel <ref-classes-kernel>` class is |
2117 | going to utilize a :term:`PROVIDES` statement that identifies that recipe as | 2118 | going to utilize a :term:`PROVIDES` statement that identifies that recipe as |
2118 | being able to provide the ``virtual/kernel`` item. | 2119 | being able to provide the ``virtual/kernel`` item. |
2119 | 2120 | ||
@@ -2459,7 +2460,7 @@ sometimes you have no choice. | |||
2459 | The easiest solution is to create a recipe that uses the | 2460 | The easiest solution is to create a recipe that uses the |
2460 | :ref:`bin_package <ref-classes-bin-package>` class | 2461 | :ref:`bin_package <ref-classes-bin-package>` class |
2461 | and to be sure that you are using default locations for build artifacts. | 2462 | and to be sure that you are using default locations for build artifacts. |
2462 | In most cases, the ``bin_package`` class handles "skipping" the | 2463 | In most cases, the :ref:`bin_package <ref-classes-bin-package>` class handles "skipping" the |
2463 | configure and compile steps as well as sets things up to grab packages | 2464 | configure and compile steps as well as sets things up to grab packages |
2464 | from the appropriate area. In particular, this class sets ``noexec`` on | 2465 | from the appropriate area. In particular, this class sets ``noexec`` on |
2465 | both the :ref:`ref-tasks-configure` | 2466 | both the :ref:`ref-tasks-configure` |
@@ -2467,7 +2468,7 @@ and :ref:`ref-tasks-compile` tasks, | |||
2467 | sets ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a | 2468 | sets ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a |
2468 | :ref:`ref-tasks-install` task, which | 2469 | :ref:`ref-tasks-install` task, which |
2469 | effectively copies all files from ``${S}`` to ``${D}``. The | 2470 | effectively copies all files from ``${S}`` to ``${D}``. The |
2470 | ``bin_package`` class works well when the files extracted into ``${S}`` | 2471 | :ref:`bin_package <ref-classes-bin-package>` class works well when the files extracted into ``${S}`` |
2471 | are already laid out in the way they should be laid out on the target. | 2472 | are already laid out in the way they should be laid out on the target. |
2472 | For more information on these variables, see the | 2473 | For more information on these variables, see the |
2473 | :term:`FILES`, | 2474 | :term:`FILES`, |
@@ -2492,7 +2493,7 @@ Reference Manual's variable glossary. | |||
2492 | section in the Yocto Project Overview and Concepts Manual for more | 2493 | section in the Yocto Project Overview and Concepts Manual for more |
2493 | information. | 2494 | information. |
2494 | 2495 | ||
2495 | If you cannot use the ``bin_package`` class, you need to be sure you are | 2496 | If you cannot use the :ref:`bin_package <ref-classes-bin-package>` class, you need to be sure you are |
2496 | doing the following: | 2497 | doing the following: |
2497 | 2498 | ||
2498 | - Create a recipe where the | 2499 | - Create a recipe where the |
@@ -2532,7 +2533,7 @@ doing the following: | |||
2532 | 2533 | ||
2533 | .. note:: | 2534 | .. note:: |
2534 | 2535 | ||
2535 | If image prelinking is enabled (e.g. "image-prelink" is in :term:`USER_CLASSES` | 2536 | If image prelinking is enabled (e.g. :ref:`image-prelink <ref-classes-image-prelink>` is in :term:`USER_CLASSES` |
2536 | which it is by default), prelink will change the binaries in the generated images | 2537 | which it is by default), prelink will change the binaries in the generated images |
2537 | and this often catches people out. Remove that class to ensure binaries are | 2538 | and this often catches people out. Remove that class to ensure binaries are |
2538 | preserved exactly if that is necessary. | 2539 | preserved exactly if that is necessary. |
@@ -4454,19 +4455,16 @@ Follow these steps to build your target using the files in the downloads | |||
4454 | directory: | 4455 | directory: |
4455 | 4456 | ||
4456 | 1. *Using Local Files Only:* Inside your ``local.conf`` file, add the | 4457 | 1. *Using Local Files Only:* Inside your ``local.conf`` file, add the |
4457 | :term:`SOURCE_MIRROR_URL` | 4458 | :term:`SOURCE_MIRROR_URL` variable, inherit the |
4458 | variable, inherit the | 4459 | :ref:`own-mirrors <ref-classes-own-mirrors>` class, and use the |
4459 | :ref:`own-mirrors <ref-classes-own-mirrors>` | 4460 | :term:`BB_NO_NETWORK` variable to your ``local.conf``. |
4460 | class, and use the | ||
4461 | :term:`BB_NO_NETWORK` | ||
4462 | variable to your ``local.conf``. | ||
4463 | :: | 4461 | :: |
4464 | 4462 | ||
4465 | SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" | 4463 | SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" |
4466 | INHERIT += "own-mirrors" | 4464 | INHERIT += "own-mirrors" |
4467 | BB_NO_NETWORK = "1" | 4465 | BB_NO_NETWORK = "1" |
4468 | 4466 | ||
4469 | The :term:`SOURCE_MIRROR_URL` and ``own-mirror`` | 4467 | The :term:`SOURCE_MIRROR_URL` and :ref:`own-mirrors <ref-classes-own-mirrors>` |
4470 | class set up the system to use the downloads directory as your "own | 4468 | class set up the system to use the downloads directory as your "own |
4471 | mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that | 4469 | mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that |
4472 | BitBake's fetching process in step 3 stays local, which means files | 4470 | BitBake's fetching process in step 3 stays local, which means files |
@@ -4751,7 +4749,8 @@ done using the | |||
4751 | Eventually, all recipes will be covered and this list will not be | 4749 | Eventually, all recipes will be covered and this list will not be |
4752 | needed. | 4750 | needed. |
4753 | 4751 | ||
4754 | For the most part, the Multilib class extension works automatically to | 4752 | For the most part, the :ref:`Multilib <ref-classes-multilib*>` |
4753 | class extension works automatically to | ||
4755 | extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where | 4754 | extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where |
4756 | :term:`MLPREFIX` is the particular multilib (e.g. "lib32-" or "lib64-"). | 4755 | :term:`MLPREFIX` is the particular multilib (e.g. "lib32-" or "lib64-"). |
4757 | Standard variables such as | 4756 | Standard variables such as |
@@ -4763,8 +4762,7 @@ Standard variables such as | |||
4763 | :term:`PACKAGES_DYNAMIC` are | 4762 | :term:`PACKAGES_DYNAMIC` are |
4764 | automatically extended by the system. If you are extending any manual | 4763 | automatically extended by the system. If you are extending any manual |
4765 | code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure | 4764 | code in the recipe, you can use the ``${MLPREFIX}`` variable to ensure |
4766 | those names are extended correctly. This automatic extension code | 4765 | those names are extended correctly. |
4767 | resides in ``multilib.bbclass``. | ||
4768 | 4766 | ||
4769 | Using Multilib | 4767 | Using Multilib |
4770 | ~~~~~~~~~~~~~~ | 4768 | ~~~~~~~~~~~~~~ |
@@ -10993,7 +10991,7 @@ accidental release of proprietary software. The Yocto Project provides | |||
10993 | an :ref:`archiver <ref-classes-archiver>` class to | 10991 | an :ref:`archiver <ref-classes-archiver>` class to |
10994 | help avoid some of these concerns. | 10992 | help avoid some of these concerns. |
10995 | 10993 | ||
10996 | Before you employ :term:`DL_DIR` or the ``archiver`` class, you need to | 10994 | Before you employ :term:`DL_DIR` or the :ref:`archiver <ref-classes-archiver>` class, you need to |
10997 | decide how you choose to provide source. The source ``archiver`` class | 10995 | decide how you choose to provide source. The source ``archiver`` class |
10998 | can generate tarballs and SRPMs and can create them with various levels | 10996 | can generate tarballs and SRPMs and can create them with various levels |
10999 | of compliance in mind. | 10997 | of compliance in mind. |