diff options
Diffstat (limited to 'documentation/dev-manual/common-tasks.rst')
| -rw-r--r-- | documentation/dev-manual/common-tasks.rst | 241 |
1 files changed, 108 insertions, 133 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index 3f35dc6361..176025f9e8 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
| @@ -155,8 +155,8 @@ Follow these general steps to create your layer without using tools: | |||
| 155 | 5. *Optionally Test for Compatibility:* If you want permission to use | 155 | 5. *Optionally Test for Compatibility:* If you want permission to use |
| 156 | the Yocto Project Compatibility logo with your layer or application | 156 | the Yocto Project Compatibility logo with your layer or application |
| 157 | that uses your layer, perform the steps to apply for compatibility. | 157 | that uses your layer, perform the steps to apply for compatibility. |
| 158 | See the "`Making Sure Your Layer is Compatible With Yocto | 158 | See the |
| 159 | Project <#making-sure-your-layer-is-compatible-with-yocto-project>`__" | 159 | ":ref:`dev-manual/common-tasks:making sure your layer is compatible with yocto project`" |
| 160 | section for more information. | 160 | section for more information. |
| 161 | 161 | ||
| 162 | Following Best Practices When Creating Layers | 162 | Following Best Practices When Creating Layers |
| @@ -282,9 +282,8 @@ following list: | |||
| 282 | - *Perform Steps to Apply for Yocto Project Compatibility:* If you want | 282 | - *Perform Steps to Apply for Yocto Project Compatibility:* If you want |
| 283 | permission to use the Yocto Project Compatibility logo with your | 283 | permission to use the Yocto Project Compatibility logo with your |
| 284 | layer or application that uses your layer, perform the steps to apply | 284 | layer or application that uses your layer, perform the steps to apply |
| 285 | for compatibility. See the "`Making Sure Your Layer is Compatible | 285 | for compatibility. See the |
| 286 | With Yocto | 286 | ":ref:`dev-manual/common-tasks:making sure your layer is compatible with yocto project`" |
| 287 | Project <#making-sure-your-layer-is-compatible-with-yocto-project>`__" | ||
| 288 | section for more information. | 287 | section for more information. |
| 289 | 288 | ||
| 290 | - *Follow the Layer Naming Convention:* Store custom layers in a Git | 289 | - *Follow the Layer Naming Convention:* Store custom layers in a Git |
| @@ -1247,8 +1246,7 @@ the recipe. | |||
| 1247 | your layer such that it can be found. | 1246 | your layer such that it can be found. |
| 1248 | 1247 | ||
| 1249 | You can find more information on how layers are structured in the | 1248 | You can find more information on how layers are structured in the |
| 1250 | "`Understanding and Creating | 1249 | ":ref:`dev-manual/common-tasks:understanding and creating layers`" section. |
| 1251 | Layers <#understanding-and-creating-layers>`__" section. | ||
| 1252 | 1250 | ||
| 1253 | - *Naming Your Recipe:* When you name your recipe, you need to follow | 1251 | - *Naming Your Recipe:* When you name your recipe, you need to follow |
| 1254 | this naming convention: | 1252 | this naming convention: |
| @@ -1364,7 +1362,7 @@ extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so | |||
| 1364 | forth), are automatically extracted during the | 1362 | forth), are automatically extracted during the |
| 1365 | :ref:`ref-tasks-unpack` task. For | 1363 | :ref:`ref-tasks-unpack` task. For |
| 1366 | another example that specifies these types of files, see the | 1364 | another example that specifies these types of files, see the |
| 1367 | "`Autotooled Package <#new-recipe-autotooled-package>`__" section. | 1365 | ":ref:`dev-manual/common-tasks:autotooled package`" section. |
| 1368 | 1366 | ||
| 1369 | Another way of specifying source is from an SCM. For Git repositories, | 1367 | Another way of specifying source is from an SCM. For Git repositories, |
| 1370 | you must specify :term:`SRCREV` and | 1368 | you must specify :term:`SRCREV` and |
| @@ -1445,15 +1443,14 @@ and searches specific directories in a certain order: | |||
| 1445 | ``${``\ :term:`BPN`\ ``}``, and | 1443 | ``${``\ :term:`BPN`\ ``}``, and |
| 1446 | ``files``. The directories are assumed to be subdirectories of the | 1444 | ``files``. The directories are assumed to be subdirectories of the |
| 1447 | directory in which the recipe or append file resides. For another | 1445 | directory in which the recipe or append file resides. For another |
| 1448 | example that specifies these types of files, see the "`Single .c File | 1446 | example that specifies these types of files, see the |
| 1449 | Package (Hello | 1447 | ":ref:`dev-manual/common-tasks:single .c file package (hello world!)`" section. |
| 1450 | World!) <#new-recipe-single-c-file-package-hello-world>`__" section. | ||
| 1451 | 1448 | ||
| 1452 | The previous example also specifies a patch file. Patch files are files | 1449 | The previous example also specifies a patch file. Patch files are files |
| 1453 | whose names usually end in ``.patch`` or ``.diff`` but can end with | 1450 | whose names usually end in ``.patch`` or ``.diff`` but can end with |
| 1454 | compressed suffixes such as ``diff.gz`` and ``patch.bz2``, for example. | 1451 | compressed suffixes such as ``diff.gz`` and ``patch.bz2``, for example. |
| 1455 | The build system automatically applies patches as described in the | 1452 | The build system automatically applies patches as described in the |
| 1456 | "`Patching Code <#new-recipe-patching-code>`__" section. | 1453 | ":ref:`dev-manual/common-tasks:patching code`" section. |
| 1457 | 1454 | ||
| 1458 | Unpacking Code | 1455 | Unpacking Code |
| 1459 | -------------- | 1456 | -------------- |
| @@ -1543,7 +1540,7 @@ variables: | |||
| 1543 | appropriate files in the ``LIC_FILES_CHKSUM`` variable with incorrect | 1540 | appropriate files in the ``LIC_FILES_CHKSUM`` variable with incorrect |
| 1544 | md5 strings, attempt to build the software, and then note the | 1541 | md5 strings, attempt to build the software, and then note the |
| 1545 | resulting error messages that will report the correct md5 strings. | 1542 | resulting error messages that will report the correct md5 strings. |
| 1546 | See the "`Fetching Code <#new-recipe-fetching-code>`__" section for | 1543 | See the ":ref:`dev-manual/common-tasks:fetching code`" section for |
| 1547 | additional information. | 1544 | additional information. |
| 1548 | 1545 | ||
| 1549 | Here is an example that assumes the software has a ``COPYING`` file: | 1546 | Here is an example that assumes the software has a ``COPYING`` file: |
| @@ -1787,8 +1784,8 @@ Here are some common issues that cause failures. | |||
| 1787 | 1784 | ||
| 1788 | PARALLEL_MAKE = "" | 1785 | PARALLEL_MAKE = "" |
| 1789 | 1786 | ||
| 1790 | For information on parallel Makefile issues, see the "`Debugging | 1787 | For information on parallel Makefile issues, see the |
| 1791 | Parallel Make Races <#debugging-parallel-make-races>`__" section. | 1788 | ":ref:`dev-manual/common-tasks:debugging parallel make races`" section. |
| 1792 | 1789 | ||
| 1793 | - *Improper host path usage:* This failure applies to recipes building | 1790 | - *Improper host path usage:* This failure applies to recipes building |
| 1794 | for the target or ``nativesdk`` only. The failure occurs when the | 1791 | for the target or ``nativesdk`` only. The failure occurs when the |
| @@ -1854,8 +1851,7 @@ the software being built: | |||
| 1854 | ``PREFIX=${D}``, ``INSTALLROOT=${D}``, and so forth). | 1851 | ``PREFIX=${D}``, ``INSTALLROOT=${D}``, and so forth). |
| 1855 | 1852 | ||
| 1856 | For an example recipe using ``make install``, see the | 1853 | For an example recipe using ``make install``, see the |
| 1857 | "`Makefile-Based Package <#new-recipe-makefile-based-package>`__" | 1854 | ":ref:`dev-manual/common-tasks:makefile-based package`" section. |
| 1858 | section. | ||
| 1859 | 1855 | ||
| 1860 | - *Manual:* You need to define a ``do_install`` function in your | 1856 | - *Manual:* You need to define a ``do_install`` function in your |
| 1861 | recipe. The function must first use ``install -d`` to create the | 1857 | recipe. The function must first use ``install -d`` to create the |
| @@ -1990,14 +1986,13 @@ take. The following list describes the process: | |||
| 1990 | ``do_install(_append)``, and so forth as needed. | 1986 | ``do_install(_append)``, and so forth as needed. |
| 1991 | 1987 | ||
| 1992 | - *Splitting an Application into Multiple Packages*: If you need to | 1988 | - *Splitting an Application into Multiple Packages*: If you need to |
| 1993 | split an application into several packages, see the "`Splitting an | 1989 | split an application into several packages, see the |
| 1994 | Application into Multiple | 1990 | ":ref:`dev-manual/common-tasks:splitting an application into multiple packages`" |
| 1995 | Packages <#splitting-an-application-into-multiple-packages>`__" | ||
| 1996 | section for an example. | 1991 | section for an example. |
| 1997 | 1992 | ||
| 1998 | - *Installing a Post-Installation Script*: For an example showing how | 1993 | - *Installing a Post-Installation Script*: For an example showing how |
| 1999 | to install a post-installation script, see the "`Post-Installation | 1994 | to install a post-installation script, see the |
| 2000 | Scripts <#new-recipe-post-installation-scripts>`__" section. | 1995 | ":ref:`dev-manual/common-tasks:post-installation scripts`" section. |
| 2001 | 1996 | ||
| 2002 | - *Marking Package Architecture*: Depending on what your recipe is | 1997 | - *Marking Package Architecture*: Depending on what your recipe is |
| 2003 | building and how it is configured, it might be important to mark the | 1998 | building and how it is configured, it might be important to mark the |
| @@ -2172,9 +2167,8 @@ Properly Versioning Pre-Release Recipes | |||
| 2172 | Sometimes the name of a recipe can lead to versioning problems when the | 2167 | Sometimes the name of a recipe can lead to versioning problems when the |
| 2173 | recipe is upgraded to a final release. For example, consider the | 2168 | recipe is upgraded to a final release. For example, consider the |
| 2174 | ``irssi_0.8.16-rc1.bb`` recipe file in the list of example recipes in | 2169 | ``irssi_0.8.16-rc1.bb`` recipe file in the list of example recipes in |
| 2175 | the "`Storing and Naming the | 2170 | the ":ref:`dev-manual/common-tasks:storing and naming the recipe`" section. |
| 2176 | Recipe <#new-recipe-storing-and-naming-the-recipe>`__" section. This | 2171 | This recipe is at a release candidate stage (i.e. "rc1"). When the recipe is |
| 2177 | recipe is at a release candidate stage (i.e. "rc1"). When the recipe is | ||
| 2178 | released, the recipe filename becomes ``irssi_0.8.16.bb``. The version | 2172 | released, the recipe filename becomes ``irssi_0.8.16.bb``. The version |
| 2179 | change from ``0.8.16-rc1`` to ``0.8.16`` is seen as a decrease by the | 2173 | change from ``0.8.16-rc1`` to ``0.8.16`` is seen as a decrease by the |
| 2180 | build system and package managers, so the resulting packages will not | 2174 | build system and package managers, so the resulting packages will not |
| @@ -2258,8 +2252,7 @@ software you built runs correctly. To accomplish runtime testing, add | |||
| 2258 | the build's output packages to your image and test them on the target. | 2252 | the build's output packages to your image and test them on the target. |
| 2259 | 2253 | ||
| 2260 | For information on how to customize your image by adding specific | 2254 | For information on how to customize your image by adding specific |
| 2261 | packages, see the "`Customizing | 2255 | packages, see ":ref:`dev-manual/common-tasks:customizing images`" section. |
| 2262 | Images <#usingpoky-extend-customimage>`__" section. | ||
| 2263 | 2256 | ||
| 2264 | Examples | 2257 | Examples |
| 2265 | -------- | 2258 | -------- |
| @@ -2309,8 +2302,8 @@ directory BitBake uses for the build. | |||
| 2309 | 2302 | ||
| 2310 | By default, the ``helloworld``, ``helloworld-dbg``, and | 2303 | By default, the ``helloworld``, ``helloworld-dbg``, and |
| 2311 | ``helloworld-dev`` packages are built. For information on how to | 2304 | ``helloworld-dev`` packages are built. For information on how to |
| 2312 | customize the packaging process, see the "`Splitting an Application into | 2305 | customize the packaging process, see the |
| 2313 | Multiple Packages <#splitting-an-application-into-multiple-packages>`__" | 2306 | ":ref:`dev-manual/common-tasks:splitting an application into multiple packages`" |
| 2314 | section. | 2307 | section. |
| 2315 | 2308 | ||
| 2316 | Autotooled Package | 2309 | Autotooled Package |
| @@ -3423,9 +3416,8 @@ Follow these general steps: | |||
| 3423 | 1. *Find the Source Code:* Temporary source code used by the | 3416 | 1. *Find the Source Code:* Temporary source code used by the |
| 3424 | OpenEmbedded build system is kept in the | 3417 | OpenEmbedded build system is kept in the |
| 3425 | :term:`Build Directory`. See the | 3418 | :term:`Build Directory`. See the |
| 3426 | "`Finding Temporary Source | 3419 | ":ref:`dev-manual/common-tasks:finding temporary source code`" section to |
| 3427 | Code <#finding-the-temporary-source-code>`__" section to learn how to | 3420 | learn how to locate the directory that has the temporary source code for a |
| 3428 | locate the directory that has the temporary source code for a | ||
| 3429 | particular package. | 3421 | particular package. |
| 3430 | 3422 | ||
| 3431 | 2. *Change Your Working Directory:* You need to be in the directory that | 3423 | 2. *Change Your Working Directory:* You need to be in the directory that |
| @@ -3994,24 +3986,21 @@ perform to create distributions with smaller root filesystems, achieve | |||
| 3994 | faster boot times, maintain your critical functionality, and avoid | 3986 | faster boot times, maintain your critical functionality, and avoid |
| 3995 | initial RAM disks: | 3987 | initial RAM disks: |
| 3996 | 3988 | ||
| 3997 | - `Determine your goals and guiding | 3989 | - :ref:`Determine your goals and guiding principles |
| 3998 | principles. <#goals-and-guiding-principles>`__ | 3990 | <dev-manual/common-tasks:goals and guiding principles>` |
| 3999 | 3991 | ||
| 4000 | - `Understand what contributes to your image | 3992 | - :ref:`dev-manual/common-tasks:understand what contributes to your image size` |
| 4001 | size. <#understand-what-gives-your-image-size>`__ | ||
| 4002 | 3993 | ||
| 4003 | - `Reduce the size of the root | 3994 | - :ref:`Reduce the size of the root filesystem |
| 4004 | filesystem. <#trim-the-root-filesystem>`__ | 3995 | <dev-manual/common-tasks:trim the root filesystem>` |
| 4005 | 3996 | ||
| 4006 | - `Reduce the size of the kernel. <#trim-the-kernel>`__ | 3997 | - :ref:`Reduce the size of the kernel <dev-manual/common-tasks:trim the kernel>` |
| 4007 | 3998 | ||
| 4008 | - `Eliminate packaging | 3999 | - :ref:`dev-manual/common-tasks:remove package management requirements` |
| 4009 | requirements. <#remove-package-management-requirements>`__ | ||
| 4010 | 4000 | ||
| 4011 | - `Look for other ways to minimize | 4001 | - :ref:`dev-manual/common-tasks:look for other ways to minimize size` |
| 4012 | size. <#look-for-other-ways-to-minimize-size>`__ | ||
| 4013 | 4002 | ||
| 4014 | - `Iterate on the process. <#iterate-on-the-process>`__ | 4003 | - :ref:`dev-manual/common-tasks:iterate on the process` |
| 4015 | 4004 | ||
| 4016 | Goals and Guiding Principles | 4005 | Goals and Guiding Principles |
| 4017 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 4006 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -4031,8 +4020,8 @@ very small distributions: | |||
| 4031 | - Leverage the device-specific options. | 4020 | - Leverage the device-specific options. |
| 4032 | 4021 | ||
| 4033 | - Work in a separate layer so that you keep changes isolated. For | 4022 | - Work in a separate layer so that you keep changes isolated. For |
| 4034 | information on how to create layers, see the "`Understanding and | 4023 | information on how to create layers, see the |
| 4035 | Creating Layers <#understanding-and-creating-layers>`__" section. | 4024 | ":ref:`dev-manual/common-tasks:understanding and creating layers`" section. |
| 4036 | 4025 | ||
| 4037 | Understand What Contributes to Your Image Size | 4026 | Understand What Contributes to Your Image Size |
| 4038 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 4027 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -4576,13 +4565,13 @@ directory: | |||
| 4576 | If you do have recipes that use ``AUTOREV``, you can take steps to | 4565 | If you do have recipes that use ``AUTOREV``, you can take steps to |
| 4577 | still use the recipes in an offline build. Do the following: | 4566 | still use the recipes in an offline build. Do the following: |
| 4578 | 4567 | ||
| 4579 | 1. Use a configuration generated by enabling `build | 4568 | 1. Use a configuration generated by enabling :ref:`build |
| 4580 | history <#maintaining-build-output-quality>`__. | 4569 | history <dev-manual/common-tasks:maintaining build output quality>`. |
| 4581 | 4570 | ||
| 4582 | 2. Use the ``buildhistory-collect-srcrevs`` command to collect the | 4571 | 2. Use the ``buildhistory-collect-srcrevs`` command to collect the |
| 4583 | stored ``SRCREV`` values from the build's history. For more | 4572 | stored ``SRCREV`` values from the build's history. For more |
| 4584 | information on collecting these values, see the "`Build History | 4573 | information on collecting these values, see the |
| 4585 | Package Information <#build-history-package-information>`__" | 4574 | ":ref:`dev-manual/common-tasks:build history package information`" |
| 4586 | section. | 4575 | section. |
| 4587 | 4576 | ||
| 4588 | 3. Once you have the correct source revisions, you can modify | 4577 | 3. Once you have the correct source revisions, you can modify |
| @@ -4706,16 +4695,16 @@ Libraries are an integral part of your system. This section describes | |||
| 4706 | some common practices you might find helpful when working with libraries | 4695 | some common practices you might find helpful when working with libraries |
| 4707 | to build your system: | 4696 | to build your system: |
| 4708 | 4697 | ||
| 4709 | - `How to include static library | 4698 | - :ref:`How to include static library files |
| 4710 | files <#including-static-library-files>`__ | 4699 | <dev-manual/common-tasks:including static library files>` |
| 4711 | 4700 | ||
| 4712 | - `How to use the Multilib feature to combine multiple versions of | 4701 | - :ref:`How to use the Multilib feature to combine multiple versions of |
| 4713 | library files into a single | 4702 | library files into a single image |
| 4714 | image <#combining-multiple-versions-library-files-into-one-image>`__ | 4703 | <dev-manual/common-tasks:combining multiple versions of library files into one image>` |
| 4715 | 4704 | ||
| 4716 | - `How to install multiple versions of the same library in parallel on | 4705 | - :ref:`How to install multiple versions of the same library in parallel on |
| 4717 | the same | 4706 | the same system |
| 4718 | system <#installing-multiple-versions-of-the-same-library>`__ | 4707 | <dev-manual/common-tasks:installing multiple versions of the same library>` |
| 4719 | 4708 | ||
| 4720 | Including Static Library Files | 4709 | Including Static Library Files |
| 4721 | ------------------------------ | 4710 | ------------------------------ |
| @@ -5053,7 +5042,7 @@ because the library is produced for the target architecture, but its | |||
| 5053 | code needs to be executed on the build host. This problem is solved with | 5042 | code needs to be executed on the build host. This problem is solved with |
| 5054 | the OpenEmbedded build system by running the code through QEMU, which | 5043 | the OpenEmbedded build system by running the code through QEMU, which |
| 5055 | allows precisely that. Unfortunately, QEMU does not always work | 5044 | allows precisely that. Unfortunately, QEMU does not always work |
| 5056 | perfectly as mentioned in the "`Known Issues <#known-issues>`__" | 5045 | perfectly as mentioned in the ":ref:`dev-manual/common-tasks:known issues`" |
| 5057 | section. | 5046 | section. |
| 5058 | 5047 | ||
| 5059 | Enabling the Generation of Introspection Data | 5048 | Enabling the Generation of Introspection Data |
| @@ -5225,11 +5214,11 @@ OpenEmbedded build artifacts. Image generation is driven by partitioning | |||
| 5225 | commands contained in an Openembedded kickstart file (``.wks``) | 5214 | commands contained in an Openembedded kickstart file (``.wks``) |
| 5226 | specified either directly on the command line or as one of a selection | 5215 | specified either directly on the command line or as one of a selection |
| 5227 | of canned kickstart files as shown with the ``wic list images`` command | 5216 | of canned kickstart files as shown with the ``wic list images`` command |
| 5228 | in the "`Using an Existing Kickstart | 5217 | in the |
| 5229 | File <#using-a-provided-kickstart-file>`__" section. When you apply the | 5218 | ":ref:`dev-manual/common-tasks:generate an image using an existing kickstart file`" |
| 5230 | command to a given set of build artifacts, the result is an image or set | 5219 | section. When you apply the command to a given set of build artifacts, the |
| 5231 | of images that can be directly written onto media and used on a | 5220 | result is an image or set of images that can be directly written onto media and |
| 5232 | particular system. | 5221 | used on a particular system. |
| 5233 | 5222 | ||
| 5234 | .. note:: | 5223 | .. note:: |
| 5235 | 5224 | ||
| @@ -5240,8 +5229,8 @@ particular system. | |||
| 5240 | The ``wic`` command and the infrastructure it is based on is by | 5229 | The ``wic`` command and the infrastructure it is based on is by |
| 5241 | definition incomplete. The purpose of the command is to allow the | 5230 | definition incomplete. The purpose of the command is to allow the |
| 5242 | generation of customized images, and as such, was designed to be | 5231 | generation of customized images, and as such, was designed to be |
| 5243 | completely extensible through a plugin interface. See the "`Using the | 5232 | completely extensible through a plugin interface. See the |
| 5244 | Wic PlugIn Interface <#wic-using-the-wic-plugin-interface>`__" section | 5233 | ":ref:`dev-manual/common-tasks:using the wic plugin interface`" section |
| 5245 | for information on these plugins. | 5234 | for information on these plugins. |
| 5246 | 5235 | ||
| 5247 | This section provides some background information on Wic, describes what | 5236 | This section provides some background information on Wic, describes what |
| @@ -5678,7 +5667,7 @@ Wic Examples | |||
| 5678 | 5667 | ||
| 5679 | This section provides several examples that show how to use the Wic | 5668 | This section provides several examples that show how to use the Wic |
| 5680 | utility. All the examples assume the list of requirements in the | 5669 | utility. All the examples assume the list of requirements in the |
| 5681 | "`Requirements <#wic-requirements>`__" section have been met. The | 5670 | ":ref:`dev-manual/common-tasks:requirements`" section have been met. The |
| 5682 | examples assume the previously generated image is | 5671 | examples assume the previously generated image is |
| 5683 | ``core-image-minimal``. | 5672 | ``core-image-minimal``. |
| 5684 | 5673 | ||
| @@ -6093,8 +6082,7 @@ more secure: | |||
| 6093 | 6082 | ||
| 6094 | - Ensure you remove or disable debugging functionality before producing | 6083 | - Ensure you remove or disable debugging functionality before producing |
| 6095 | the final image. For information on how to do this, see the | 6084 | the final image. For information on how to do this, see the |
| 6096 | "`Considerations Specific to the OpenEmbedded Build | 6085 | ":ref:`dev-manual/common-tasks:considerations specific to the openembedded build system`" |
| 6097 | System <#considerations-specific-to-the-openembedded-build-system>`__" | ||
| 6098 | section. | 6086 | section. |
| 6099 | 6087 | ||
| 6100 | - Ensure you have no network services listening that are not needed. | 6088 | - Ensure you have no network services listening that are not needed. |
| @@ -6275,17 +6263,17 @@ layer. The following steps provide some more detail: | |||
| 6275 | distro-specific configuration files that are included by an | 6263 | distro-specific configuration files that are included by an |
| 6276 | existing recipe, you should add an append file (``.bbappend``) for | 6264 | existing recipe, you should add an append file (``.bbappend``) for |
| 6277 | those. For general information and recommendations on how to add | 6265 | those. For general information and recommendations on how to add |
| 6278 | recipes to your layer, see the "`Creating Your Own | 6266 | recipes to your layer, see the |
| 6279 | Layer <#creating-your-own-layer>`__" and "`Following Best | 6267 | ":ref:`dev-manual/common-tasks:creating your own layer`" and |
| 6280 | Practices When Creating | 6268 | ":ref:`dev-manual/common-tasks:following best practices when creating layers`" |
| 6281 | Layers <#best-practices-to-follow-when-creating-layers>`__" | ||
| 6282 | sections. | 6269 | sections. |
| 6283 | 6270 | ||
| 6284 | - Add any image recipes that are specific to your distribution. | 6271 | - Add any image recipes that are specific to your distribution. |
| 6285 | 6272 | ||
| 6286 | - Add a ``psplash`` append file for a branded splash screen. For | 6273 | - Add a ``psplash`` append file for a branded splash screen. For |
| 6287 | information on append files, see the "`Using .bbappend Files in | 6274 | information on append files, see the |
| 6288 | Your Layer <#using-bbappend-files>`__" section. | 6275 | ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" |
| 6276 | section. | ||
| 6289 | 6277 | ||
| 6290 | - Add any other append files to make custom changes that are | 6278 | - Add any other append files to make custom changes that are |
| 6291 | specific to individual recipes. | 6279 | specific to individual recipes. |
| @@ -6383,29 +6371,22 @@ Working with Packages | |||
| 6383 | 6371 | ||
| 6384 | This section describes a few tasks that involve packages: | 6372 | This section describes a few tasks that involve packages: |
| 6385 | 6373 | ||
| 6386 | - `Excluding packages from an | 6374 | - :ref:`dev-manual/common-tasks:excluding packages from an image` |
| 6387 | image <#excluding-packages-from-an-image>`__ | ||
| 6388 | 6375 | ||
| 6389 | - `Incrementing a binary package | 6376 | - :ref:`dev-manual/common-tasks:incrementing a package version` |
| 6390 | version <#incrementing-a-binary-package-version>`__ | ||
| 6391 | 6377 | ||
| 6392 | - `Handling optional module | 6378 | - :ref:`dev-manual/common-tasks:handling optional module packaging` |
| 6393 | packaging <#handling-optional-module-packaging>`__ | ||
| 6394 | 6379 | ||
| 6395 | - `Using runtime package | 6380 | - :ref:`dev-manual/common-tasks:using runtime package management` |
| 6396 | management <#using-runtime-package-management>`__ | ||
| 6397 | 6381 | ||
| 6398 | - `Generating and using signed | 6382 | - :ref:`dev-manual/common-tasks:generating and using signed packages` |
| 6399 | packages <#generating-and-using-signed-packages>`__ | ||
| 6400 | 6383 | ||
| 6401 | - `Setting up and running package test | 6384 | - :ref:`Setting up and running package test |
| 6402 | (ptest) <#testing-packages-with-ptest>`__ | 6385 | (ptest) <dev-manual/common-tasks:testing packages with ptest>` |
| 6403 | 6386 | ||
| 6404 | - `Creating node package manager (NPM) | 6387 | - :ref:`dev-manual/common-tasks:creating node package manager (npm) packages` |
| 6405 | packages <#creating-node-package-manager-npm-packages>`__ | ||
| 6406 | 6388 | ||
| 6407 | - `Adding custom metadata to | 6389 | - :ref:`dev-manual/common-tasks:adding custom metadata to packages` |
| 6408 | packages <#adding-custom-metadata-to-packages>`__ | ||
| 6409 | 6390 | ||
| 6410 | Excluding Packages from an Image | 6391 | Excluding Packages from an Image |
| 6411 | -------------------------------- | 6392 | -------------------------------- |
| @@ -6494,9 +6475,8 @@ much preferred over a manual system. In either system, the main | |||
| 6494 | requirement is that binary package version numbering increases in a | 6475 | requirement is that binary package version numbering increases in a |
| 6495 | linear fashion and that a number of version components exist that | 6476 | linear fashion and that a number of version components exist that |
| 6496 | support that linear progression. For information on how to ensure | 6477 | support that linear progression. For information on how to ensure |
| 6497 | package revisioning remains linear, see the "`Automatically Incrementing | 6478 | package revisioning remains linear, see the |
| 6498 | a Binary Package Revision | 6479 | ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" |
| 6499 | Number <#automatically-incrementing-a-binary-package-revision-number>`__" | ||
| 6500 | section. | 6480 | section. |
| 6501 | 6481 | ||
| 6502 | The following three sections provide related information on the PR | 6482 | The following three sections provide related information on the PR |
| @@ -6587,8 +6567,8 @@ each building system's ``local.conf`` file: | |||
| 6587 | BUILDHISTORY_COMMIT = "1" | 6567 | BUILDHISTORY_COMMIT = "1" |
| 6588 | 6568 | ||
| 6589 | For information on build | 6569 | For information on build |
| 6590 | history, see the "`Maintaining Build Output | 6570 | history, see the |
| 6591 | Quality <#maintaining-build-output-quality>`__" section. | 6571 | ":ref:`dev-manual/common-tasks:maintaining build output quality`" section. |
| 6592 | 6572 | ||
| 6593 | .. note:: | 6573 | .. note:: |
| 6594 | 6574 | ||
| @@ -8591,8 +8571,8 @@ options exist: | |||
| 8591 | it the same IP address for each reboot. | 8571 | it the same IP address for each reboot. |
| 8592 | 8572 | ||
| 8593 | If you choose "SystemdbootTarget", there are additional requirements | 8573 | If you choose "SystemdbootTarget", there are additional requirements |
| 8594 | and considerations. See the "`Selecting | 8574 | and considerations. See the |
| 8595 | SystemdbootTarget <#selecting-systemdboottarget>`__" section, which | 8575 | ":ref:`dev-manual/common-tasks:selecting systemdboottarget`" section, which |
| 8596 | follows, for more information. | 8576 | follows, for more information. |
| 8597 | 8577 | ||
| 8598 | - *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying | 8578 | - *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying |
| @@ -8624,7 +8604,7 @@ Selecting SystemdbootTarget | |||
| 8624 | 8604 | ||
| 8625 | If you did not set ``TEST_TARGET`` to "SystemdbootTarget", then you do | 8605 | If you did not set ``TEST_TARGET`` to "SystemdbootTarget", then you do |
| 8626 | not need any information in this section. You can skip down to the | 8606 | not need any information in this section. You can skip down to the |
| 8627 | "`Running Tests <#qemu-image-running-tests>`__" section. | 8607 | ":ref:`dev-manual/common-tasks:running tests`" section. |
| 8628 | 8608 | ||
| 8629 | If you did set ``TEST_TARGET`` to "SystemdbootTarget", you also need to | 8609 | If you did set ``TEST_TARGET`` to "SystemdbootTarget", you also need to |
| 8630 | perform a one-time setup of your master image by doing the following: | 8610 | perform a one-time setup of your master image by doing the following: |
| @@ -9090,13 +9070,11 @@ situations. | |||
| 9090 | The following list shows the debugging topics in the remainder of this | 9070 | The following list shows the debugging topics in the remainder of this |
| 9091 | section: | 9071 | section: |
| 9092 | 9072 | ||
| 9093 | - "`Viewing Logs from Failed | 9073 | - ":ref:`dev-manual/common-tasks:viewing logs from failed tasks`" describes |
| 9094 | Tasks <#dev-debugging-viewing-logs-from-failed-tasks>`__" describes | ||
| 9095 | how to find and view logs from tasks that failed during the build | 9074 | how to find and view logs from tasks that failed during the build |
| 9096 | process. | 9075 | process. |
| 9097 | 9076 | ||
| 9098 | - "`Viewing Variable | 9077 | - ":ref:`dev-manual/common-tasks:viewing variable values`" describes how to |
| 9099 | Values <#dev-debugging-viewing-variable-values>`__" describes how to | ||
| 9100 | use the BitBake ``-e`` option to examine variable values after a | 9078 | use the BitBake ``-e`` option to examine variable values after a |
| 9101 | recipe has been parsed. | 9079 | recipe has been parsed. |
| 9102 | 9080 | ||
| @@ -9105,51 +9083,47 @@ section: | |||
| 9105 | :term:`PKGDATA_DIR` and | 9083 | :term:`PKGDATA_DIR` and |
| 9106 | display package-related information for built packages. | 9084 | display package-related information for built packages. |
| 9107 | 9085 | ||
| 9108 | - "`Viewing Dependencies Between Recipes and | 9086 | - ":ref:`dev-manual/common-tasks:viewing dependencies between recipes and tasks`" |
| 9109 | Tasks <#dev-viewing-dependencies-between-recipes-and-tasks>`__" | ||
| 9110 | describes how to use the BitBake ``-g`` option to display recipe | 9087 | describes how to use the BitBake ``-g`` option to display recipe |
| 9111 | dependency information used during the build. | 9088 | dependency information used during the build. |
| 9112 | 9089 | ||
| 9113 | - "`Viewing Task Variable | 9090 | - ":ref:`dev-manual/common-tasks:viewing task variable dependencies`" describes |
| 9114 | Dependencies <#dev-viewing-task-variable-dependencies>`__" describes | ||
| 9115 | how to use the ``bitbake-dumpsig`` command in conjunction with key | 9091 | how to use the ``bitbake-dumpsig`` command in conjunction with key |
| 9116 | subdirectories in the | 9092 | subdirectories in the |
| 9117 | :term:`Build Directory` to determine | 9093 | :term:`Build Directory` to determine |
| 9118 | variable dependencies. | 9094 | variable dependencies. |
| 9119 | 9095 | ||
| 9120 | - "`Running Specific Tasks <#dev-debugging-taskrunning>`__" describes | 9096 | - ":ref:`dev-manual/common-tasks:running specific tasks`" describes |
| 9121 | how to use several BitBake options (e.g. ``-c``, ``-C``, and ``-f``) | 9097 | how to use several BitBake options (e.g. ``-c``, ``-C``, and ``-f``) |
| 9122 | to run specific tasks in the build chain. It can be useful to run | 9098 | to run specific tasks in the build chain. It can be useful to run |
| 9123 | tasks "out-of-order" when trying isolate build issues. | 9099 | tasks "out-of-order" when trying isolate build issues. |
| 9124 | 9100 | ||
| 9125 | - "`General BitBake Problems <#dev-debugging-bitbake>`__" describes how | 9101 | - ":ref:`dev-manual/common-tasks:general bitbake problems`" describes how |
| 9126 | to use BitBake's ``-D`` debug output option to reveal more about what | 9102 | to use BitBake's ``-D`` debug output option to reveal more about what |
| 9127 | BitBake is doing during the build. | 9103 | BitBake is doing during the build. |
| 9128 | 9104 | ||
| 9129 | - "`Building with No Dependencies <#dev-debugging-buildfile>`__" | 9105 | - ":ref:`dev-manual/common-tasks:building with no dependencies`" |
| 9130 | describes how to use the BitBake ``-b`` option to build a recipe | 9106 | describes how to use the BitBake ``-b`` option to build a recipe |
| 9131 | while ignoring dependencies. | 9107 | while ignoring dependencies. |
| 9132 | 9108 | ||
| 9133 | - "`Recipe Logging Mechanisms <#recipe-logging-mechanisms>`__" | 9109 | - ":ref:`dev-manual/common-tasks:recipe logging mechanisms`" |
| 9134 | describes how to use the many recipe logging functions to produce | 9110 | describes how to use the many recipe logging functions to produce |
| 9135 | debugging output and report errors and warnings. | 9111 | debugging output and report errors and warnings. |
| 9136 | 9112 | ||
| 9137 | - "`Debugging Parallel Make Races <#debugging-parallel-make-races>`__" | 9113 | - ":ref:`dev-manual/common-tasks:debugging parallel make races`" |
| 9138 | describes how to debug situations where the build consists of several | 9114 | describes how to debug situations where the build consists of several |
| 9139 | parts that are run simultaneously and when the output or result of | 9115 | parts that are run simultaneously and when the output or result of |
| 9140 | one part is not ready for use with a different part of the build that | 9116 | one part is not ready for use with a different part of the build that |
| 9141 | depends on that output. | 9117 | depends on that output. |
| 9142 | 9118 | ||
| 9143 | - "`Debugging With the GNU Project Debugger (GDB) | 9119 | - ":ref:`dev-manual/common-tasks:debugging with the gnu project debugger (gdb) remotely`" |
| 9144 | Remotely <#platdev-gdb-remotedebug>`__" describes how to use GDB to | 9120 | describes how to use GDB to allow you to examine running programs, which can |
| 9145 | allow you to examine running programs, which can help you fix | 9121 | help you fix problems. |
| 9146 | problems. | ||
| 9147 | 9122 | ||
| 9148 | - "`Debugging with the GNU Project Debugger (GDB) on the | 9123 | - ":ref:`dev-manual/common-tasks:debugging with the gnu project debugger (gdb) on the target`" |
| 9149 | Target <#debugging-with-the-gnu-project-debugger-gdb-on-the-target>`__" | ||
| 9150 | describes how to use GDB directly on target hardware for debugging. | 9124 | describes how to use GDB directly on target hardware for debugging. |
| 9151 | 9125 | ||
| 9152 | - "`Other Debugging Tips <#dev-other-debugging-others>`__" describes | 9126 | - ":ref:`dev-manual/common-tasks:other debugging tips`" describes |
| 9153 | miscellaneous debugging tips that can be useful. | 9127 | miscellaneous debugging tips that can be useful. |
| 9154 | 9128 | ||
| 9155 | Viewing Logs from Failed Tasks | 9129 | Viewing Logs from Failed Tasks |
| @@ -9457,8 +9431,8 @@ state (sstate) task can be a useful debugging aid. This information is | |||
| 9457 | available in signature information (``siginfo``) files in | 9431 | available in signature information (``siginfo``) files in |
| 9458 | :term:`SSTATE_DIR`. For | 9432 | :term:`SSTATE_DIR`. For |
| 9459 | information on how to view and interpret information in ``siginfo`` | 9433 | information on how to view and interpret information in ``siginfo`` |
| 9460 | files, see the "`Viewing Task Variable | 9434 | files, see the |
| 9461 | Dependencies <#dev-viewing-task-variable-dependencies>`__" section. | 9435 | ":ref:`dev-manual/common-tasks:viewing task variable dependencies`" section. |
| 9462 | 9436 | ||
| 9463 | For conceptual information on shared state, see the | 9437 | For conceptual information on shared state, see the |
| 9464 | ":ref:`overview-manual/concepts:shared state`" | 9438 | ":ref:`overview-manual/concepts:shared state`" |
| @@ -9877,9 +9851,8 @@ Once the local build for "neard" completes, start a ``devshell`` build: | |||
| 9877 | 9851 | ||
| 9878 | $ bitbake neard -c devshell | 9852 | $ bitbake neard -c devshell |
| 9879 | 9853 | ||
| 9880 | For information on how to use a | 9854 | For information on how to use a ``devshell``, see the |
| 9881 | ``devshell``, see the "`Using a Development | 9855 | ":ref:`dev-manual/common-tasks:using a development shell`" section. |
| 9882 | Shell <#platdev-appdev-devshell>`__" section. | ||
| 9883 | 9856 | ||
| 9884 | In the ``devshell``, do the following: | 9857 | In the ``devshell``, do the following: |
| 9885 | :: | 9858 | :: |
| @@ -9921,7 +9894,7 @@ to patch the ``Makefile.am`` file, which is generated from | |||
| 9921 | File Makefile.am added to patch patches/parallelmake.patch | 9894 | File Makefile.am added to patch patches/parallelmake.patch |
| 9922 | 9895 | ||
| 9923 | For more information on using Quilt, see the | 9896 | For more information on using Quilt, see the |
| 9924 | "`Using Quilt in Your Workflow <#using-a-quilt-workflow>`__" section. | 9897 | ":ref:`dev-manual/common-tasks:using quilt in your workflow`" section. |
| 9925 | 9898 | ||
| 9926 | At this point you need to make the edits to ``Makefile.am`` to add the | 9899 | At this point you need to make the edits to ``Makefile.am`` to add the |
| 9927 | missing dependency. For our example, you have to add the following line | 9900 | missing dependency. For our example, you have to add the following line |
| @@ -9987,9 +9960,9 @@ The build should work without issue. | |||
| 9987 | 9960 | ||
| 9988 | As with all solved problems, if they originated upstream, you need to | 9961 | As with all solved problems, if they originated upstream, you need to |
| 9989 | submit the fix for the recipe in OE-Core and upstream so that the | 9962 | submit the fix for the recipe in OE-Core and upstream so that the |
| 9990 | problem is taken care of at its source. See the "`Submitting a Change to | 9963 | problem is taken care of at its source. See the |
| 9991 | the Yocto Project <#how-to-submit-a-change>`__" section for more | 9964 | ":ref:`dev-manual/common-tasks:submitting a change to the yocto project`" |
| 9992 | information. | 9965 | section for more information. |
| 9993 | 9966 | ||
| 9994 | Debugging With the GNU Project Debugger (GDB) Remotely | 9967 | Debugging With the GNU Project Debugger (GDB) Remotely |
| 9995 | ------------------------------------------------------ | 9968 | ------------------------------------------------------ |
| @@ -10363,8 +10336,9 @@ Here are some other tips that you might find useful: | |||
| 10363 | :yocto_bugs:`Bugzilla <>`. For information on | 10336 | :yocto_bugs:`Bugzilla <>`. For information on |
| 10364 | how to submit a bug against the Yocto Project, see the Yocto Project | 10337 | how to submit a bug against the Yocto Project, see the Yocto Project |
| 10365 | Bugzilla :yocto_wiki:`wiki page </Bugzilla_Configuration_and_Bug_Tracking>` | 10338 | Bugzilla :yocto_wiki:`wiki page </Bugzilla_Configuration_and_Bug_Tracking>` |
| 10366 | and the "`Submitting a Defect Against the Yocto | 10339 | and the |
| 10367 | Project <#submitting-a-defect-against-the-yocto-project>`__" section. | 10340 | ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`" |
| 10341 | section. | ||
| 10368 | 10342 | ||
| 10369 | .. note:: | 10343 | .. note:: |
| 10370 | 10344 | ||
| @@ -10619,8 +10593,9 @@ Using Email to Submit a Patch | |||
| 10619 | 10593 | ||
| 10620 | Depending on the components changed, you need to submit the email to a | 10594 | Depending on the components changed, you need to submit the email to a |
| 10621 | specific mailing list. For some guidance on which mailing list to use, | 10595 | specific mailing list. For some guidance on which mailing list to use, |
| 10622 | see the `list <#figuring-out-the-mailing-list-to-use>`__ at the | 10596 | see the |
| 10623 | beginning of this section. For a description of all the available | 10597 | :ref:`list <dev-manual/common-tasks:submitting a change to the yocto project>` |
| 10598 | at the beginning of this section. For a description of all the available | ||
| 10624 | mailing lists, see the ":ref:`Mailing Lists <resources-mailinglist>`" section in the | 10599 | mailing lists, see the ":ref:`Mailing Lists <resources-mailinglist>`" section in the |
| 10625 | Yocto Project Reference Manual. | 10600 | Yocto Project Reference Manual. |
| 10626 | 10601 | ||
| @@ -11034,7 +11009,7 @@ file. For example, to enable the | |||
| 11034 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you | 11009 | ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you |
| 11035 | could add either the string "commercial_gst-plugins-ugly" or the more | 11010 | could add either the string "commercial_gst-plugins-ugly" or the more |
| 11036 | general string "commercial" to ``LICENSE_FLAGS_WHITELIST``. See the | 11011 | general string "commercial" to ``LICENSE_FLAGS_WHITELIST``. See the |
| 11037 | "`License Flag Matching <#license-flag-matching>`__" section for a full | 11012 | ":ref:`dev-manual/common-tasks:license flag matching`" section for a full |
| 11038 | explanation of how ``LICENSE_FLAGS`` matching works. Here is the | 11013 | explanation of how ``LICENSE_FLAGS`` matching works. Here is the |
| 11039 | example: | 11014 | example: |
| 11040 | :: | 11015 | :: |
