summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-common-tasks.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.rst')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.rst173
1 files changed, 84 insertions, 89 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.rst b/documentation/dev-manual/dev-manual-common-tasks.rst
index e1fe881437..c019057bf8 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.rst
+++ b/documentation/dev-manual/dev-manual-common-tasks.rst
@@ -48,8 +48,8 @@ Follow these general steps to create your layer without using tools:
48 48
492. *Create a Directory:* Create the directory for your layer. When you 492. *Create a Directory:* Create the directory for your layer. When you
50 create the layer, be sure to create the directory in an area not 50 create the layer, be sure to create the directory in an area not
51 associated with the Yocto Project `Source 51 associated with the Yocto Project :term:`Source Directory`
52 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. the cloned 52 (e.g. the cloned
53 ``poky`` repository). 53 ``poky`` repository).
54 54
55 While not strictly required, prepend the name of the directory with 55 While not strictly required, prepend the name of the directory with
@@ -263,8 +263,7 @@ following list:
263 repository that use the ``meta-layer_name`` format. 263 repository that use the ``meta-layer_name`` format.
264 264
265- *Group Your Layers Locally:* Clone your repository alongside other 265- *Group Your Layers Locally:* Clone your repository alongside other
266 cloned ``meta`` directories from the `Source 266 cloned ``meta`` directories from the :term:`Source Directory`.
267 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__.
268 267
269Making Sure Your Layer is Compatible With Yocto Project 268Making Sure Your Layer is Compatible With Yocto Project
270------------------------------------------------------- 269-------------------------------------------------------
@@ -449,8 +448,8 @@ does not have a corresponding recipe with a matching name. See the
449variable for information on how to handle this error. 448variable for information on how to handle this error.
450 449
451As an example, consider the main formfactor recipe and a corresponding 450As an example, consider the main formfactor recipe and a corresponding
452formfactor append file both from the `Source 451formfactor append file both from the :term:`Source Directory`.
453Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Here is the main 452Here is the main
454formfactor recipe, which is named ``formfactor_0.0.bb`` and located in 453formfactor recipe, which is named ``formfactor_0.0.bb`` and located in
455the "meta" layer at ``meta/recipes-bsp/formfactor``: SUMMARY = "Device 454the "meta" layer at ``meta/recipes-bsp/formfactor``: SUMMARY = "Device
456formfactor information" SECTION = "base" LICENSE = "MIT" 455formfactor information" SECTION = "base" LICENSE = "MIT"
@@ -769,8 +768,8 @@ high-level image features by using the
769variables. Although the functions for both variables are nearly 768variables. Although the functions for both variables are nearly
770equivalent, best practices dictate using ``IMAGE_FEATURES`` from within 769equivalent, best practices dictate using ``IMAGE_FEATURES`` from within
771a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your 770a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your
772``local.conf`` file, which is found in the `Build 771``local.conf`` file, which is found in the
773Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. 772:term:`Build Directory`.
774 773
775To understand how these features work, the best reference is 774To understand how these features work, the best reference is
776``meta/classes/core-image.bbclass``. This class lists out the available 775``meta/classes/core-image.bbclass``. This class lists out the available
@@ -996,8 +995,8 @@ application that builds using Autotools. Creating the base recipe using
996``recipetool`` results in a recipe that has the pre-build dependencies, 995``recipetool`` results in a recipe that has the pre-build dependencies,
997license requirements, and checksums configured. 996license requirements, and checksums configured.
998 997
999To run the tool, you just need to be in your `Build 998To run the tool, you just need to be in your
1000Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ and have sourced the 999:term:`Build Directory` and have sourced the
1001build environment setup script (i.e. 1000build environment setup script (i.e.
1002```oe-init-build-env`` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__). 1001```oe-init-build-env`` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__).
1003To get help on the tool, use the following command: $ recipetool -h 1002To get help on the tool, use the following command: $ recipetool -h
@@ -1799,8 +1798,8 @@ different ways:
1799 1798
1800 To enable a service using systemd, your recipe needs to inherit the 1799 To enable a service using systemd, your recipe needs to inherit the
1801 :ref:`systemd <ref-classes-systemd>` class. See 1800 :ref:`systemd <ref-classes-systemd>` class. See
1802 the ``systemd.bbclass`` file located in your `Source 1801 the ``systemd.bbclass`` file located in your :term:`Source Directory`
1803 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. section for 1802 section for
1804 more information. 1803 more information.
1805 1804
1806.. _new-recipe-packaging: 1805.. _new-recipe-packaging:
@@ -2251,7 +2250,7 @@ could lead to compatibility problems with ABI in the future. However,
2251sometimes you have no choice. 2250sometimes you have no choice.
2252 2251
2253The easiest solution is to create a recipe that uses the 2252The easiest solution is to create a recipe that uses the
2254```bin_package`` <&YOCTO_DOCS_REF_URL;#ref-classes-bin-package>`__ class 2253:ref:`bin_package <ref-classes-bin-package>` class
2255and to be sure that you are using default locations for build artifacts. 2254and to be sure that you are using default locations for build artifacts.
2256In most cases, the ``bin_package`` class handles "skipping" the 2255In most cases, the ``bin_package`` class handles "skipping" the
2257configure and compile steps as well as sets things up to grab packages 2256configure and compile steps as well as sets things up to grab packages
@@ -2739,7 +2738,7 @@ The following steps describe how to set up the AUH utility:
2739 your build directory. 2738 your build directory.
2740 2739
2741 - If you want to enable testing through the 2740 - If you want to enable testing through the
2742 ```testimage`` <&YOCTO_DOCS_REF_URL;#ref-classes-testimage*>`__ 2741 :ref:`testimage <ref-classes-testimage*>`
2743 class, which is optional, you need to have the following set in 2742 class, which is optional, you need to have the following set in
2744 your ``conf/local.conf`` file: INHERIT += "testimage" 2743 your ``conf/local.conf`` file: INHERIT += "testimage"
2745 2744
@@ -2856,8 +2855,8 @@ could add it easily using the
2856script. For example, suppose you use the ``nano.bb`` recipe from the 2855script. For example, suppose you use the ``nano.bb`` recipe from the
2857``meta-oe`` layer in the ``meta-openembedded`` repository. For this 2856``meta-oe`` layer in the ``meta-openembedded`` repository. For this
2858example, assume that the layer has been cloned into following area: 2857example, assume that the layer has been cloned into following area:
2859/home/scottrif/meta-openembedded The following command from your `Build 2858/home/scottrif/meta-openembedded The following command from your
2860Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ adds the layer to 2859:term:`Build Directory` adds the layer to
2861your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``): $ 2860your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``): $
2862bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe NOTE: 2861bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe NOTE:
2863Starting bitbake server... Parsing recipes: 100% 2862Starting bitbake server... Parsing recipes: 100%
@@ -3014,8 +3013,8 @@ You might find it helpful during development to modify the temporary
3014source code used by recipes to build packages. For example, suppose you 3013source code used by recipes to build packages. For example, suppose you
3015are developing a patch and you need to experiment a bit to figure out 3014are developing a patch and you need to experiment a bit to figure out
3016your solution. After you have initially built the package, you can 3015your solution. After you have initially built the package, you can
3017iteratively tweak the source code, which is located in the `Build 3016iteratively tweak the source code, which is located in the
3018Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, and then you can 3017:term:`Build Directory`, and then you can
3019force a re-compile and quickly test your altered code. Once you settle 3018force a re-compile and quickly test your altered code. Once you settle
3020on a solution, you can then preserve your changes in the form of 3019on a solution, you can then preserve your changes in the form of
3021patches. 3020patches.
@@ -3024,8 +3023,8 @@ During a build, the unpacked temporary source code used by recipes to
3024build packages is available in the Build Directory as defined by the 3023build packages is available in the Build Directory as defined by the
3025:term:`S` variable. Below is the default 3024:term:`S` variable. Below is the default
3026value for the ``S`` variable as defined in the 3025value for the ``S`` variable as defined in the
3027``meta/conf/bitbake.conf`` configuration file in the `Source 3026``meta/conf/bitbake.conf`` configuration file in the
3028Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__: S = 3027:term:`Source Directory`: S =
3029"${WORKDIR}/${BP}" You should be aware that many recipes override the 3028"${WORKDIR}/${BP}" You should be aware that many recipes override the
3030``S`` variable. For example, recipes that fetch their source from Git 3029``S`` variable. For example, recipes that fetch their source from Git
3031usually set ``S`` to ``${WORKDIR}/git``. 3030usually set ``S`` to ``${WORKDIR}/git``.
@@ -3096,8 +3095,8 @@ form of a patch all using Quilt.
3096Follow these general steps: 3095Follow these general steps:
3097 3096
30981. *Find the Source Code:* Temporary source code used by the 30971. *Find the Source Code:* Temporary source code used by the
3099 OpenEmbedded build system is kept in the `Build 3098 OpenEmbedded build system is kept in the
3100 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. See the 3099 :term:`Build Directory`. See the
3101 "`Finding Temporary Source 3100 "`Finding Temporary Source
3102 Code <#finding-the-temporary-source-code>`__" section to learn how to 3101 Code <#finding-the-temporary-source-code>`__" section to learn how to
3103 locate the directory that has the temporary source code for a 3102 locate the directory that has the temporary source code for a
@@ -3314,8 +3313,8 @@ build host running Linux.
3314 Build <&YOCTO_DOCS_BRIEF_URL;>`__ document. 3313 Build <&YOCTO_DOCS_BRIEF_URL;>`__ document.
3315 3314
3316The build process creates an entire Linux distribution from source and 3315The build process creates an entire Linux distribution from source and
3317places it in your `Build 3316places it in your
3318Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ under 3317:term:`Build Directory` under
3319``tmp/deploy/images``. For detailed information on the build process 3318``tmp/deploy/images``. For detailed information on the build process
3320using BitBake, see the 3319using BitBake, see the
3321"`Images <&YOCTO_DOCS_OM_URL;#images-dev-environment>`__" section in the 3320"`Images <&YOCTO_DOCS_OM_URL;#images-dev-environment>`__" section in the
@@ -3372,8 +3371,8 @@ The following figure and list overviews the build process:
3372 3371
3373 The target is the name of the recipe you want to build. Common 3372 The target is the name of the recipe you want to build. Common
3374 targets are the images in ``meta/recipes-core/images``, 3373 targets are the images in ``meta/recipes-core/images``,
3375 ``meta/recipes-sato/images``, and so forth all found in the `Source 3374 ``meta/recipes-sato/images``, and so forth all found in the
3376 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Or, the target 3375 :term:`Source Directory`. Or, the target
3377 can be the name of a recipe for a specific piece of software such as 3376 can be the name of a recipe for a specific piece of software such as
3378 BusyBox. For more details about the images the OpenEmbedded build 3377 BusyBox. For more details about the images the OpenEmbedded build
3379 system supports, see the 3378 system supports, see the
@@ -3557,8 +3556,8 @@ Follow these steps to create an initramfs image:
3557 3556
35581. *Create the initramfs Image Recipe:* You can reference the 35571. *Create the initramfs Image Recipe:* You can reference the
3559 ``core-image-minimal-initramfs.bb`` recipe found in the 3558 ``core-image-minimal-initramfs.bb`` recipe found in the
3560 ``meta/recipes-core`` directory of the `Source 3559 ``meta/recipes-core`` directory of the :term:`Source Directory`
3561 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ as an example 3560 as an example
3562 from which to work. 3561 from which to work.
3563 3562
35642. *Decide if You Need to Bundle the initramfs Image Into the Kernel 35632. *Decide if You Need to Bundle the initramfs Image Into the Kernel
@@ -3715,8 +3714,8 @@ memory used for decompressing the kernel and for the ``__init__``
3715functions. 3714functions.
3716 3715
3717To help you see where you currently are with kernel and root filesystem 3716To help you see where you currently are with kernel and root filesystem
3718sizes, you can use two tools found in the `Source 3717sizes, you can use two tools found in the :term:`Source Directory`
3719Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ in the 3718in the
3720``scripts/tiny/`` directory: 3719``scripts/tiny/`` directory:
3721 3720
3722- ``ksize.py``: Reports component sizes for the kernel build objects. 3721- ``ksize.py``: Reports component sizes for the kernel build objects.
@@ -4049,8 +4048,8 @@ your tunings to best consider build times and package feed maintenance.
4049Building Software from an External Source 4048Building Software from an External Source
4050----------------------------------------- 4049-----------------------------------------
4051 4050
4052By default, the OpenEmbedded build system uses the `Build 4051By default, the OpenEmbedded build system uses the
4053Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ when building source 4052:term:`Build Directory` when building source
4054code. The build process involves fetching the source files, unpacking 4053code. The build process involves fetching the source files, unpacking
4055them, and then patching them if necessary before the build takes place. 4054them, and then patching them if necessary before the build takes place.
4056 4055
@@ -4158,8 +4157,7 @@ directory:
41582. *Start With a Clean Build:* You can start with a clean build by 41572. *Start With a Clean Build:* You can start with a clean build by
4159 removing the 4158 removing the
4160 ``${``\ :term:`TMPDIR`\ ``}`` 4159 ``${``\ :term:`TMPDIR`\ ``}``
4161 directory or using a new `Build 4160 directory or using a new :term:`Build Directory`.
4162 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__.
4163 4161
41643. *Build Your Target:* Use BitBake to build your target: $ bitbake 41623. *Build Your Target:* Use BitBake to build your target: $ bitbake
4165 target The build completes using the known local "snapshot" of source 4163 target The build completes using the known local "snapshot" of source
@@ -4258,7 +4256,7 @@ Following are additional factors that can affect build speed:
4258 contents could easily be rebuilt. 4256 contents could easily be rebuilt.
4259 4257
4260- Inheriting the 4258- Inheriting the
4261 ```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ class: 4259 :ref:`rm_work <ref-classes-rm-work>` class:
4262 Inheriting this class has shown to speed up builds due to 4260 Inheriting this class has shown to speed up builds due to
4263 significantly lower amounts of data stored in the data cache as well 4261 significantly lower amounts of data stored in the data cache as well
4264 as on disk. Inheriting this class also makes cleanup of 4262 as on disk. Inheriting this class also makes cleanup of
@@ -4409,8 +4407,8 @@ meet your needs.
4409In order to enable Multilib, you first need to ensure your recipe is 4407In order to enable Multilib, you first need to ensure your recipe is
4410extended to support multiple libraries. Many standard recipes are 4408extended to support multiple libraries. Many standard recipes are
4411already extended and support multiple libraries. You can check in the 4409already extended and support multiple libraries. You can check in the
4412``meta/conf/multilib.conf`` configuration file in the `Source 4410``meta/conf/multilib.conf`` configuration file in the
4413Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ to see how this is 4411:term:`Source Directory` to see how this is
4414done using the 4412done using the
4415:term:`BBCLASSEXTEND` variable. 4413:term:`BBCLASSEXTEND` variable.
4416Eventually, all recipes will be covered and this list will not be 4414Eventually, all recipes will be covered and this list will not be
@@ -4436,8 +4434,8 @@ Using Multilib
4436 4434
4437After you have set up the recipes, you need to define the actual 4435After you have set up the recipes, you need to define the actual
4438combination of multiple libraries you want to build. You accomplish this 4436combination of multiple libraries you want to build. You accomplish this
4439through your ``local.conf`` configuration file in the `Build 4437through your ``local.conf`` configuration file in the
4440Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. An example 4438:term:`Build Directory`. An example
4441configuration would be as follows: MACHINE = "qemux86-64" require 4439configuration would be as follows: MACHINE = "qemux86-64" require
4442conf/multilib.conf MULTILIBS = "multilib:lib32" 4440conf/multilib.conf MULTILIBS = "multilib:lib32"
4443DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_INSTALL_append = " 4441DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_INSTALL_append = "
@@ -4936,8 +4934,8 @@ Raw Mode
4936 4934
4937Running Wic in raw mode allows you to specify all the partitions through 4935Running Wic in raw mode allows you to specify all the partitions through
4938the ``wic`` command line. The primary use for raw mode is if you have 4936the ``wic`` command line. The primary use for raw mode is if you have
4939built your kernel outside of the Yocto Project `Build 4937built your kernel outside of the Yocto Project
4940Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. In other words, you 4938:term:`Build Directory`. In other words, you
4941can point to arbitrary kernel, root filesystem locations, and so forth. 4939can point to arbitrary kernel, root filesystem locations, and so forth.
4942Contrast this behavior with cooked mode where Wic looks in the Build 4940Contrast this behavior with cooked mode where Wic looks in the Build
4943Directory (e.g. ``tmp/deploy/images/``\ machine). 4941Directory (e.g. ``tmp/deploy/images/``\ machine).
@@ -5210,8 +5208,8 @@ This next example demonstrates that through modification of the
5210As mentioned earlier, you can use the command ``wic list images`` to 5208As mentioned earlier, you can use the command ``wic list images`` to
5211show the list of existing kickstart files. The directory in which the 5209show the list of existing kickstart files. The directory in which the
5212``directdisk-gpt.wks`` file resides is 5210``directdisk-gpt.wks`` file resides is
5213``scripts/lib/image/canned-wks/``, which is located in the `Source 5211``scripts/lib/image/canned-wks/``, which is located in the
5214Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). 5212:term:`Source Directory` (e.g. ``poky``).
5215Because available files reside in this directory, you can create and add 5213Because available files reside in this directory, you can create and add
5216your own custom files to the directory. Subsequent use of the 5214your own custom files to the directory. Subsequent use of the
5217``wic list images`` command would then include your kickstart files. 5215``wic list images`` command would then include your kickstart files.
@@ -5520,8 +5518,8 @@ Security Flags
5520 5518
5521The Yocto Project has security flags that you can enable that help make 5519The Yocto Project has security flags that you can enable that help make
5522your build output more secure. The security flags are in the 5520your build output more secure. The security flags are in the
5523``meta/conf/distro/include/security_flags.inc`` file in your `Source 5521``meta/conf/distro/include/security_flags.inc`` file in your
5524Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). 5522:term:`Source Directory` (e.g. ``poky``).
5525 5523
5526.. note:: 5524.. note::
5527 5525
@@ -5561,7 +5559,7 @@ system to make your images more secure:
5561 :ref:`extrausers <ref-classes-extrausers>` 5559 :ref:`extrausers <ref-classes-extrausers>`
5562 class, which is the preferred method. For an example on how to set up 5560 class, which is the preferred method. For an example on how to set up
5563 both root and user passwords, see the 5561 both root and user passwords, see the
5564 "```extrausers.bbclass`` <&YOCTO_DOCS_REF_URL;#ref-classes-extrausers>`__" 5562 ":ref:`extrausers.bbclass <ref-classes-extrausers>`"
5565 section. 5563 section.
5566 5564
5567 .. note:: 5565 .. note::
@@ -5663,8 +5661,8 @@ layer. The following steps provide some more detail:
5663 limited to the list in the previous bulleted item. 5661 limited to the list in the previous bulleted item.
5664 5662
5665- *Point to Your distribution configuration file:* In your 5663- *Point to Your distribution configuration file:* In your
5666 ``local.conf`` file in the `Build 5664 ``local.conf`` file in the :term:`Build Directory`,
5667 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__, set your 5665 set your
5668 :term:`DISTRO` variable to point to 5666 :term:`DISTRO` variable to point to
5669 your distribution's configuration file. For example, if your 5667 your distribution's configuration file. For example, if your
5670 distribution's configuration file is named ``mydistro.conf``, then 5668 distribution's configuration file is named ``mydistro.conf``, then
@@ -5704,8 +5702,8 @@ new build directory.
5704 5702
5705The OpenEmbedded build system uses the environment variable 5703The OpenEmbedded build system uses the environment variable
5706``TEMPLATECONF`` to locate the directory from which it gathers 5704``TEMPLATECONF`` to locate the directory from which it gathers
5707configuration information that ultimately ends up in the `Build 5705configuration information that ultimately ends up in the
5708Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ ``conf`` directory. 5706:term:`Build Directory` ``conf`` directory.
5709By default, ``TEMPLATECONF`` is set as follows in the ``poky`` 5707By default, ``TEMPLATECONF`` is set as follows in the ``poky``
5710repository: TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf} This is the 5708repository: TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf} This is the
5711directory used by the build system to find templates from which to build 5709directory used by the build system to find templates from which to build
@@ -5762,7 +5760,7 @@ the :term:`Build Directory`: INHERIT
5762+= "rm_work" Adding this statement deletes the work directory used for 5760+= "rm_work" Adding this statement deletes the work directory used for
5763building a recipe once the recipe is built. For more information on 5761building a recipe once the recipe is built. For more information on
5764"rm_work", see the 5762"rm_work", see the
5765```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ class in the 5763:ref:`rm_work <ref-classes-rm-work>` class in the
5766Yocto Project Reference Manual. 5764Yocto Project Reference Manual.
5767 5765
5768Working with Packages 5766Working with Packages
@@ -5947,8 +5945,7 @@ The simplest form for a PR Service is for it to exist for a single host
5947development system that builds the package feed (building system). For 5945development system that builds the package feed (building system). For
5948this scenario, you can enable a local PR Service by setting 5946this scenario, you can enable a local PR Service by setting
5949:term:`PRSERV_HOST` in your 5947:term:`PRSERV_HOST` in your
5950``local.conf`` file in the `Build 5948``local.conf`` file in the :term:`Build Directory`: PRSERV_HOST =
5951Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: PRSERV_HOST =
5952"localhost:0" Once the service is started, packages will automatically 5949"localhost:0" Once the service is started, packages will automatically
5953get increasing ``PR`` values and BitBake takes care of starting and 5950get increasing ``PR`` values and BitBake takes care of starting and
5954stopping the server. 5951stopping the server.
@@ -6253,8 +6250,8 @@ to use. In your configuration, you use the
6253:term:`PACKAGE_CLASSES` 6250:term:`PACKAGE_CLASSES`
6254variable to specify the format: 6251variable to specify the format:
6255 6252
62561. Open the ``local.conf`` file inside your `Build 62531. Open the ``local.conf`` file inside your
6257 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ (e.g. 6254 :term:`Build Directory` (e.g.
6258 ``~/poky/build/conf/local.conf``). 6255 ``~/poky/build/conf/local.conf``).
6259 6256
62602. Select the desired package format as follows: PACKAGE_CLASSES ?= 62572. Select the desired package format as follows: PACKAGE_CLASSES ?=
@@ -6582,8 +6579,8 @@ Adding ptest to Your Build
6582To add package testing to your build, add the 6579To add package testing to your build, add the
6583:term:`DISTRO_FEATURES` and 6580:term:`DISTRO_FEATURES` and
6584:term:`EXTRA_IMAGE_FEATURES` 6581:term:`EXTRA_IMAGE_FEATURES`
6585variables to your ``local.conf`` file, which is found in the `Build 6582variables to your ``local.conf`` file, which is found in the
6586Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: 6583:term:`Build Directory`:
6587DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" 6584DISTRO_FEATURES_append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs"
6588Once your build is complete, the ptest files are installed into the 6585Once your build is complete, the ptest files are installed into the
6589``/usr/lib/package/ptest`` directory within the image, where ``package`` 6586``/usr/lib/package/ptest`` directory within the image, where ``package``
@@ -7407,8 +7404,8 @@ dependency graphs, so you can see why something was pulled into the
7407image. If you are just interested in this information and not interested 7404image. If you are just interested in this information and not interested
7408in collecting specific package or SDK information, you can enable 7405in collecting specific package or SDK information, you can enable
7409writing only image information without any history by adding the 7406writing only image information without any history by adding the
7410following to your ``conf/local.conf`` file found in the `Build 7407following to your ``conf/local.conf`` file found in the
7411Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += 7408:term:`Build Directory`: INHERIT +=
7412"buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image" 7409"buildhistory" BUILDHISTORY_COMMIT = "0" BUILDHISTORY_FEATURES = "image"
7413Here, you set the 7410Here, you set the
7414:term:`BUILDHISTORY_FEATURES` 7411:term:`BUILDHISTORY_FEATURES`
@@ -7856,19 +7853,19 @@ You can start the tests automatically or manually:
7856 the OpenEmbedded build system successfully creates an image, first 7853 the OpenEmbedded build system successfully creates an image, first
7857 set the 7854 set the
7858 :term:`TESTIMAGE_AUTO` 7855 :term:`TESTIMAGE_AUTO`
7859 variable to "1" in your ``local.conf`` file in the `Build 7856 variable to "1" in your ``local.conf`` file in the
7860 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: TESTIMAGE_AUTO = 7857 :term:`Build Directory`: TESTIMAGE_AUTO =
7861 "1" Next, build your image. If the image successfully builds, the 7858 "1" Next, build your image. If the image successfully builds, the
7862 tests run: bitbake core-image-sato 7859 tests run: bitbake core-image-sato
7863 7860
7864- *Manually running tests:* To manually run the tests, first globally 7861- *Manually running tests:* To manually run the tests, first globally
7865 inherit the 7862 inherit the
7866 ```testimage`` <&YOCTO_DOCS_REF_URL;#ref-classes-testimage*>`__ class 7863 :ref:`testimage <ref-classes-testimage*>` class
7867 by editing your ``local.conf`` file: INHERIT += "testimage" Next, use 7864 by editing your ``local.conf`` file: INHERIT += "testimage" Next, use
7868 BitBake to run the tests: bitbake -c testimage image 7865 BitBake to run the tests: bitbake -c testimage image
7869 7866
7870All test files reside in ``meta/lib/oeqa/runtime`` in the `Source 7867All test files reside in ``meta/lib/oeqa/runtime`` in the
7871Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. A test name maps 7868:term:`Source Directory`. A test name maps
7872directly to a Python module. Each test module may contain a number of 7869directly to a Python module. Each test module may contain a number of
7873individual tests. Tests are usually grouped together by the area tested 7870individual tests. Tests are usually grouped together by the area tested
7874(e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``). 7871(e.g tests for systemd reside in ``meta/lib/oeqa/runtime/systemd.py``).
@@ -7934,8 +7931,8 @@ If your image is already built, make sure the following are set in your
7934"IP-address-for-the-test-target" TEST_SERVER_IP = 7931"IP-address-for-the-test-target" TEST_SERVER_IP =
7935"IP-address-for-the-test-server" You can then export the tests with the 7932"IP-address-for-the-test-server" You can then export the tests with the
7936following BitBake command form: $ bitbake image -c testexport Exporting 7933following BitBake command form: $ bitbake image -c testexport Exporting
7937the tests places them in the `Build 7934the tests places them in the
7938Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ in 7935:term:`Build Directory` in
7939``tmp/testexport/``\ image, which is controlled by the 7936``tmp/testexport/``\ image, which is controlled by the
7940``TEST_EXPORT_DIR`` variable. 7937``TEST_EXPORT_DIR`` variable.
7941 7938
@@ -8158,8 +8155,8 @@ section:
8158- "`Viewing Task Variable 8155- "`Viewing Task Variable
8159 Dependencies <#dev-viewing-task-variable-dependencies>`__" describes 8156 Dependencies <#dev-viewing-task-variable-dependencies>`__" describes
8160 how to use the ``bitbake-dumpsig`` command in conjunction with key 8157 how to use the ``bitbake-dumpsig`` command in conjunction with key
8161 subdirectories in the `Build 8158 subdirectories in the
8162 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ to determine 8159 :term:`Build Directory` to determine
8163 variable dependencies. 8160 variable dependencies.
8164 8161
8165- "`Running Specific Tasks <#dev-debugging-taskrunning>`__" describes 8162- "`Running Specific Tasks <#dev-debugging-taskrunning>`__" describes
@@ -8313,7 +8310,7 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands.
8313 8310
8314 If you want to inspect the ``${WORKDIR}/packages-split`` 8311 If you want to inspect the ``${WORKDIR}/packages-split``
8315 directory, make sure that 8312 directory, make sure that
8316 ```rm_work`` <&YOCTO_DOCS_REF_URL;#ref-classes-rm-work>`__ is not 8313 :ref:`rm_work <ref-classes-rm-work>` is not
8317 enabled when you build the recipe. 8314 enabled when you build the recipe.
8318 8315
8319- ``oe-pkgdata-util find-path ``\ path\ `` ...``: Lists the names of 8316- ``oe-pkgdata-util find-path ``\ path\ `` ...``: Lists the names of
@@ -8704,8 +8701,7 @@ the names ``bbplain``, ``bbnote``, ``bbdebug``, ``bbwarn``, ``bberror``,
8704and ``bbfatal``. The 8701and ``bbfatal``. The
8705:ref:`logging <ref-classes-logging>` class 8702:ref:`logging <ref-classes-logging>` class
8706implements these functions. See that class in the ``meta/classes`` 8703implements these functions. See that class in the ``meta/classes``
8707folder of the `Source 8704folder of the :term:`Source Directory` for information.
8708Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ for information.
8709 8705
8710Logging With Python 8706Logging With Python
8711~~~~~~~~~~~~~~~~~~~ 8707~~~~~~~~~~~~~~~~~~~
@@ -8890,8 +8886,8 @@ to the file: tools/snep-send.$(OBJEXT): include/near/dbus.h
8890Once you have edited the file, use the ``refresh`` command to create the 8886Once you have edited the file, use the ``refresh`` command to create the
8891patch: $ quilt refresh Refreshed patch patches/parallelmake.patch Once 8887patch: $ quilt refresh Refreshed patch patches/parallelmake.patch Once
8892the patch file exists, you need to add it back to the originating recipe 8888the patch file exists, you need to add it back to the originating recipe
8893folder. Here is an example assuming a top-level `Source 8889folder. Here is an example assuming a top-level
8894Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ named ``poky``: $ 8890:term:`Source Directory` named ``poky``: $
8895cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard 8891cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard
8896The final thing you need to do to implement the fix in the build is to 8892The final thing you need to do to implement the fix in the build is to
8897update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the 8893update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the
@@ -9163,8 +9159,8 @@ Here are some other tips that you might find useful:
9163 virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). 9159 virtual console (e.g. Fn+Left or Fn+Right on a Zaurus).
9164 9160
9165- Removing :term:`TMPDIR` (usually 9161- Removing :term:`TMPDIR` (usually
9166 ``tmp/``, within the `Build 9162 ``tmp/``, within the
9167 Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__) can often fix 9163 :term:`Build Directory`) can often fix
9168 temporary build issues. Removing ``TMPDIR`` is usually a relatively 9164 temporary build issues. Removing ``TMPDIR`` is usually a relatively
9169 cheap operation, because task output will be cached in 9165 cheap operation, because task output will be cached in
9170 :term:`SSTATE_DIR` (usually 9166 :term:`SSTATE_DIR` (usually
@@ -9471,8 +9467,7 @@ repository:
9471 methods to find out: 9467 methods to find out:
9472 9468
9473 - *Maintenance File:* Examine the ``maintainers.inc`` file, which is 9469 - *Maintenance File:* Examine the ``maintainers.inc`` file, which is
9474 located in the `Source 9470 located in the :term:`Source Directory` at
9475 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ at
9476 ``meta/conf/distro/include``, to see who is responsible for code. 9471 ``meta/conf/distro/include``, to see who is responsible for code.
9477 9472
9478 - *Search by File:* Using `Git <&YOCTO_DOCS_OM_URL;#git>`__, you can 9473 - *Search by File:* Using `Git <&YOCTO_DOCS_OM_URL;#git>`__, you can
@@ -9495,8 +9490,8 @@ repository:
9495 The Yocto Project provides two scripts that conveniently let you 9490 The Yocto Project provides two scripts that conveniently let you
9496 generate and send pull requests to the Yocto Project. These scripts 9491 generate and send pull requests to the Yocto Project. These scripts
9497 are ``create-pull-request`` and ``send-pull-request``. You can find 9492 are ``create-pull-request`` and ``send-pull-request``. You can find
9498 these scripts in the ``scripts`` directory within the `Source 9493 these scripts in the ``scripts`` directory within the
9499 Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. 9494 :term:`Source Directory` (e.g.
9500 ``~/poky/scripts``). 9495 ``~/poky/scripts``).
9501 9496
9502 Using these scripts correctly formats the requests without 9497 Using these scripts correctly formats the requests without
@@ -9641,8 +9636,8 @@ As mentioned in the "`Licensing <&YOCTO_DOCS_OM_URL;#licensing>`__"
9641section in the Yocto Project Overview and Concepts Manual, open source 9636section in the Yocto Project Overview and Concepts Manual, open source
9642projects are open to the public and they consequently have different 9637projects are open to the public and they consequently have different
9643licensing structures in place. This section describes the mechanism by 9638licensing structures in place. This section describes the mechanism by
9644which the `OpenEmbedded build 9639which the :term:`OpenEmbedded Build System`
9645system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ tracks changes to 9640tracks changes to
9646licensing text and covers how to maintain open source license compliance 9641licensing text and covers how to maintain open source license compliance
9647during your project's lifecycle. The section also describes how to 9642during your project's lifecycle. The section also describes how to
9648enable commercially licensed recipes, which by default are disabled. 9643enable commercially licensed recipes, which by default are disabled.
@@ -9947,8 +9942,8 @@ of compliance in mind.
9947 9942
9948One way of doing this (but certainly not the only way) is to release 9943One way of doing this (but certainly not the only way) is to release
9949just the source as a tarball. You can do this by adding the following to 9944just the source as a tarball. You can do this by adding the following to
9950the ``local.conf`` file found in the `Build 9945the ``local.conf`` file found in the
9951Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__: INHERIT += 9946:term:`Build Directory`: INHERIT +=
9952"archiver" ARCHIVER_MODE[src] = "original" During the creation of your 9947"archiver" ARCHIVER_MODE[src] = "original" During the creation of your
9953image, the source from all recipes that deploy packages to the image is 9948image, the source from all recipes that deploy packages to the image is
9954placed within subdirectories of ``DEPLOY_DIR/sources`` based on the 9949placed within subdirectories of ``DEPLOY_DIR/sources`` based on the
@@ -10070,8 +10065,8 @@ The error reporting tool allows you to submit errors encountered during
10070builds to a central database. Outside of the build environment, you can 10065builds to a central database. Outside of the build environment, you can
10071use a web interface to browse errors, view statistics, and query for 10066use a web interface to browse errors, view statistics, and query for
10072errors. The tool works using a client-server system where the client 10067errors. The tool works using a client-server system where the client
10073portion is integrated with the installed Yocto Project `Source 10068portion is integrated with the installed Yocto Project
10074Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__ (e.g. ``poky``). 10069:term:`Source Directory` (e.g. ``poky``).
10075The server receives the information collected and saves it in a 10070The server receives the information collected and saves it in a
10076database. 10071database.
10077 10072
@@ -10093,8 +10088,8 @@ By default, the error reporting tool is disabled. You can enable it by
10093inheriting the 10088inheriting the
10094:ref:`report-error <ref-classes-report-error>` 10089:ref:`report-error <ref-classes-report-error>`
10095class by adding the following statement to the end of your 10090class by adding the following statement to the end of your
10096``local.conf`` file in your `Build 10091``local.conf`` file in your
10097Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. INHERIT += 10092:term:`Build Directory`. INHERIT +=
10098"report-error" 10093"report-error"
10099 10094
10100By default, the error reporting feature stores information in 10095By default, the error reporting feature stores information in
@@ -10155,8 +10150,8 @@ The Yocto Project provides the Wayland protocol libraries and the
10155reference 10150reference
10156`Weston <http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston>`__ 10151`Weston <http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston>`__
10157compositor as part of its release. You can find the integrated packages 10152compositor as part of its release. You can find the integrated packages
10158in the ``meta`` layer of the `Source 10153in the ``meta`` layer of the :term:`Source Directory`.
10159Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. Specifically, you 10154Specifically, you
10160can find the recipes that build both Wayland and Weston at 10155can find the recipes that build both Wayland and Weston at
10161``meta/recipes-graphics/wayland``. 10156``meta/recipes-graphics/wayland``.
10162 10157