summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2021-04-16 18:27:05 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-23 16:39:03 +0100
commitc3c6de21876aad811e08538544c8fe76d22ccd09 (patch)
treee22ee00a9c1ec588965f32050a42e05946bc9f71 /documentation/ref-manual
parent773536c333248214f8f41eff698d8bfd3c687249 (diff)
downloadpoky-c3c6de21876aad811e08538544c8fe76d22ccd09.tar.gz
manuals: code insertion simplification over two lines
This simplifies paragraphs ending with a colon and followed by code insertion. Automatically substituted through the command: sed -i -z "s/:\n\s*::/::/g" file.rst This generates identical HTML output. (From yocto-docs rev: 28e2192a7c12d64b68061138a9f6c796453eebb1) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/classes.rst87
-rw-r--r--documentation/ref-manual/devtool-reference.rst51
-rw-r--r--documentation/ref-manual/faq.rst12
-rw-r--r--documentation/ref-manual/features.rst3
-rw-r--r--documentation/ref-manual/images.rst3
-rw-r--r--documentation/ref-manual/kickstart.rst6
-rw-r--r--documentation/ref-manual/migration-1.3.rst3
-rw-r--r--documentation/ref-manual/migration-1.4.rst6
-rw-r--r--documentation/ref-manual/migration-1.6.rst6
-rw-r--r--documentation/ref-manual/migration-1.7.rst6
-rw-r--r--documentation/ref-manual/migration-2.0.rst9
-rw-r--r--documentation/ref-manual/migration-2.1.rst9
-rw-r--r--documentation/ref-manual/migration-2.2.rst12
-rw-r--r--documentation/ref-manual/migration-2.3.rst16
-rw-r--r--documentation/ref-manual/migration-2.5.rst6
-rw-r--r--documentation/ref-manual/migration-2.6.rst15
-rw-r--r--documentation/ref-manual/migration-3.1.rst3
-rw-r--r--documentation/ref-manual/qa-checks.rst9
-rw-r--r--documentation/ref-manual/structure.rst18
-rw-r--r--documentation/ref-manual/system-requirements.rst69
-rw-r--r--documentation/ref-manual/tasks.rst48
-rw-r--r--documentation/ref-manual/terms.rst3
-rw-r--r--documentation/ref-manual/variables.rst849
23 files changed, 416 insertions, 833 deletions
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 52a50faf67..9a1fc2c93f 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -168,8 +168,7 @@ example use for this class.
168 the "subpath" parameter limits the checkout to a specific subpath 168 the "subpath" parameter limits the checkout to a specific subpath
169 of the tree. Here is an example where ``${BP}`` is used so that the files 169 of the tree. Here is an example where ``${BP}`` is used so that the files
170 are extracted into the subdirectory expected by the default value of 170 are extracted into the subdirectory expected by the default value of
171 ``S``: 171 ``S``::
172 ::
173 172
174 SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}" 173 SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}"
175 174
@@ -221,8 +220,7 @@ each recipe you wish to blacklist. Specify the :term:`PN`
221value as a variable flag (varflag) and provide a reason, which is 220value as a variable flag (varflag) and provide a reason, which is
222reported, if the package is requested to be built as the value. For 221reported, if the package is requested to be built as the value. For
223example, if you want to blacklist a recipe called "exoticware", you add 222example, if you want to blacklist a recipe called "exoticware", you add
224the following to your ``local.conf`` or distribution configuration: 223the following to your ``local.conf`` or distribution configuration::
225::
226 224
227 INHERIT += "blacklist" 225 INHERIT += "blacklist"
228 PNBLACKLIST[exoticware] = "Not supported by our organization." 226 PNBLACKLIST[exoticware] = "Not supported by our organization."
@@ -470,8 +468,7 @@ information about using ``devshell``.
470The ``devupstream`` class uses 468The ``devupstream`` class uses
471:term:`BBCLASSEXTEND` to add a variant of the 469:term:`BBCLASSEXTEND` to add a variant of the
472recipe that fetches from an alternative URI (e.g. Git) instead of a 470recipe that fetches from an alternative URI (e.g. Git) instead of a
473tarball. Following is an example: 471tarball. Following is an example::
474::
475 472
476 BBCLASSEXTEND = "devupstream:target" 473 BBCLASSEXTEND = "devupstream:target"
477 SRC_URI_class-devupstream = "git://git.example.com/example" 474 SRC_URI_class-devupstream = "git://git.example.com/example"
@@ -481,8 +478,7 @@ Adding the above statements to your recipe creates a variant that has
481:term:`DEFAULT_PREFERENCE` set to "-1". 478:term:`DEFAULT_PREFERENCE` set to "-1".
482Consequently, you need to select the variant of the recipe to use it. 479Consequently, you need to select the variant of the recipe to use it.
483Any development-specific adjustments can be done by using the 480Any development-specific adjustments can be done by using the
484``class-devupstream`` override. Here is an example: 481``class-devupstream`` override. Here is an example::
485::
486 482
487 DEPENDS_append_class-devupstream = " gperf-native" 483 DEPENDS_append_class-devupstream = " gperf-native"
488 do_configure_prepend_class-devupstream() { 484 do_configure_prepend_class-devupstream() {
@@ -544,8 +540,7 @@ By default, this class expects the source code to support recipe builds
544that use the :term:`B` variable to point to the directory in 540that use the :term:`B` variable to point to the directory in
545which the OpenEmbedded build system places the generated objects built 541which the OpenEmbedded build system places the generated objects built
546from the recipes. By default, the ``B`` directory is set to the 542from the recipes. By default, the ``B`` directory is set to the
547following, which is separate from the source directory (``S``): 543following, which is separate from the source directory (``S``)::
548::
549 544
550 ${WORKDIR}/${BPN}/{PV}/ 545 ${WORKDIR}/${BPN}/{PV}/
551 546
@@ -581,8 +576,7 @@ be performed using the
581 useradd 576 useradd
582 class to add user and group configuration to a specific recipe. 577 class to add user and group configuration to a specific recipe.
583 578
584Here is an example that uses this class in an image recipe: 579Here is an example that uses this class in an image recipe::
585::
586 580
587 inherit extrausers 581 inherit extrausers
588 EXTRA_USERS_PARAMS = "\ 582 EXTRA_USERS_PARAMS = "\
@@ -595,8 +589,7 @@ Here is an example that uses this class in an image recipe:
595 " 589 "
596 590
597Here is an example that adds two users named "tester-jim" and "tester-sue" and assigns 591Here is an example that adds two users named "tester-jim" and "tester-sue" and assigns
598passwords: 592passwords::
599::
600 593
601 inherit extrausers 594 inherit extrausers
602 EXTRA_USERS_PARAMS = "\ 595 EXTRA_USERS_PARAMS = "\
@@ -604,8 +597,7 @@ passwords:
604 useradd -P tester01 tester-sue; \ 597 useradd -P tester01 tester-sue; \
605 " 598 "
606 599
607Finally, here is an example that sets the root password to "1876*18": 600Finally, here is an example that sets the root password to "1876*18"::
608::
609 601
610 inherit extrausers 602 inherit extrausers
611 EXTRA_USERS_PARAMS = "\ 603 EXTRA_USERS_PARAMS = "\
@@ -867,8 +859,7 @@ system need to either inherit the ``icecc`` class or nobody should.
867At the distribution level, you can inherit the ``icecc`` class to be 859At the distribution level, you can inherit the ``icecc`` class to be
868sure that all builders start with the same sstate signatures. After 860sure that all builders start with the same sstate signatures. After
869inheriting the class, you can then disable the feature by setting the 861inheriting the class, you can then disable the feature by setting the
870:term:`ICECC_DISABLED` variable to "1" as follows: 862:term:`ICECC_DISABLED` variable to "1" as follows::
871::
872 863
873 INHERIT_DISTRO_append = " icecc" 864 INHERIT_DISTRO_append = " icecc"
874 ICECC_DISABLED ??= "1" 865 ICECC_DISABLED ??= "1"
@@ -876,8 +867,7 @@ inheriting the class, you can then disable the feature by setting the
876This practice 867This practice
877makes sure everyone is using the same signatures but also requires 868makes sure everyone is using the same signatures but also requires
878individuals that do want to use Icecream to enable the feature 869individuals that do want to use Icecream to enable the feature
879individually as follows in your ``local.conf`` file: 870individually as follows in your ``local.conf`` file::
880::
881 871
882 ICECC_DISABLED = "" 872 ICECC_DISABLED = ""
883 873
@@ -925,8 +915,7 @@ types.
925 915
926By default, the :ref:`image <ref-classes-image>` class automatically 916By default, the :ref:`image <ref-classes-image>` class automatically
927enables the ``image_types`` class. The ``image`` class uses the 917enables the ``image_types`` class. The ``image`` class uses the
928``IMGCLASSES`` variable as follows: 918``IMGCLASSES`` variable as follows::
929::
930 919
931 IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}" 920 IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
932 IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}" 921 IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
@@ -968,8 +957,7 @@ during the :ref:`ref-tasks-rootfs` task, which optimizes
968the size of libraries contained in the image. 957the size of libraries contained in the image.
969 958
970By default, the class is enabled in the ``local.conf.template`` using 959By default, the class is enabled in the ``local.conf.template`` using
971the :term:`USER_CLASSES` variable as follows: 960the :term:`USER_CLASSES` variable as follows::
972::
973 961
974 USER_CLASSES ?= "buildstats image-mklibs image-prelink" 962 USER_CLASSES ?= "buildstats image-mklibs image-prelink"
975 963
@@ -984,8 +972,7 @@ the dynamic linking of shared libraries to reduce executable startup
984time. 972time.
985 973
986By default, the class is enabled in the ``local.conf.template`` using 974By default, the class is enabled in the ``local.conf.template`` using
987the :term:`USER_CLASSES` variable as follows: 975the :term:`USER_CLASSES` variable as follows::
988::
989 976
990 USER_CLASSES ?= "buildstats image-mklibs image-prelink" 977 USER_CLASSES ?= "buildstats image-mklibs image-prelink"
991 978
@@ -1014,8 +1001,7 @@ configuration). However, to skip one or more checks in recipes, you
1014should use :term:`INSANE_SKIP`. For example, to skip 1001should use :term:`INSANE_SKIP`. For example, to skip
1015the check for symbolic link ``.so`` files in the main package of a 1002the check for symbolic link ``.so`` files in the main package of a
1016recipe, add the following to the recipe. You need to realize that the 1003recipe, add the following to the recipe. You need to realize that the
1017package name override, in this example ``${PN}``, must be used: 1004package name override, in this example ``${PN}``, must be used::
1018::
1019 1005
1020 INSANE_SKIP_${PN} += "dev-so" 1006 INSANE_SKIP_${PN} += "dev-so"
1021 1007
@@ -1152,8 +1138,7 @@ The following list shows the tests you can list with the ``WARN_QA`` and
1152 1138
1153- ``invalid-packageconfig:`` Checks that no undefined features are 1139- ``invalid-packageconfig:`` Checks that no undefined features are
1154 being added to :term:`PACKAGECONFIG`. For 1140 being added to :term:`PACKAGECONFIG`. For
1155 example, any name "foo" for which the following form does not exist: 1141 example, any name "foo" for which the following form does not exist::
1156 ::
1157 1142
1158 PACKAGECONFIG[foo] = "..." 1143 PACKAGECONFIG[foo] = "..."
1159 1144
@@ -1636,8 +1621,7 @@ a couple different ways:
1636 .. note:: 1621 .. note::
1637 1622
1638 When creating a recipe this way, the recipe name must follow this 1623 When creating a recipe this way, the recipe name must follow this
1639 naming convention: 1624 naming convention::
1640 ::
1641 1625
1642 myrecipe-native.bb 1626 myrecipe-native.bb
1643 1627
@@ -1645,8 +1629,7 @@ a couple different ways:
1645 Not using this naming convention can lead to subtle problems 1629 Not using this naming convention can lead to subtle problems
1646 caused by existing code that depends on that naming convention. 1630 caused by existing code that depends on that naming convention.
1647 1631
1648- Create or modify a target recipe that contains the following: 1632- Create or modify a target recipe that contains the following::
1649 ::
1650 1633
1651 BBCLASSEXTEND = "native" 1634 BBCLASSEXTEND = "native"
1652 1635
@@ -1677,8 +1660,7 @@ couple different ways:
1677 inherit statement in the recipe after all other inherit statements so 1660 inherit statement in the recipe after all other inherit statements so
1678 that the ``nativesdk`` class is inherited last. 1661 that the ``nativesdk`` class is inherited last.
1679 1662
1680- Create a ``nativesdk`` variant of any recipe by adding the following: 1663- Create a ``nativesdk`` variant of any recipe by adding the following::
1681 ::
1682 1664
1683 BBCLASSEXTEND = "nativesdk" 1665 BBCLASSEXTEND = "nativesdk"
1684 1666
@@ -1689,8 +1671,7 @@ couple different ways:
1689 1671
1690.. note:: 1672.. note::
1691 1673
1692 When creating a recipe, you must follow this naming convention: 1674 When creating a recipe, you must follow this naming convention::
1693 ::
1694 1675
1695 nativesdk-myrecipe.bb 1676 nativesdk-myrecipe.bb
1696 1677
@@ -1753,8 +1734,7 @@ before attempting to fetch it from the upstream specified in
1753:term:`SRC_URI` within each recipe. 1734:term:`SRC_URI` within each recipe.
1754 1735
1755To use this class, inherit it globally and specify 1736To use this class, inherit it globally and specify
1756:term:`SOURCE_MIRROR_URL`. Here is an example: 1737:term:`SOURCE_MIRROR_URL`. Here is an example::
1757::
1758 1738
1759 INHERIT += "own-mirrors" 1739 INHERIT += "own-mirrors"
1760 SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" 1740 SOURCE_MIRROR_URL = "http://example.com/my-source-mirror"
@@ -2017,8 +1997,7 @@ established and then populates the SDK. After populating the SDK, the
2017contains the cross-compiler and associated tooling, and the target, 1997contains the cross-compiler and associated tooling, and the target,
2018which contains a target root filesystem that is configured for the SDK 1998which contains a target root filesystem that is configured for the SDK
2019usage. These two images reside in :term:`SDK_OUTPUT`, 1999usage. These two images reside in :term:`SDK_OUTPUT`,
2020which consists of the following: 2000which consists of the following::
2021::
2022 2001
2023 ${SDK_OUTPUT}/${SDK_ARCH}-nativesdk-pkgs 2002 ${SDK_OUTPUT}/${SDK_ARCH}-nativesdk-pkgs
2024 ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/target-pkgs 2003 ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/target-pkgs
@@ -2180,8 +2159,7 @@ installed by ``libtool``. Removing these files results in them being
2180absent from both the sysroot and target packages. 2159absent from both the sysroot and target packages.
2181 2160
2182If a recipe needs the ``.la`` files to be installed, then the recipe can 2161If a recipe needs the ``.la`` files to be installed, then the recipe can
2183override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows: 2162override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows::
2184::
2185 2163
2186 REMOVE_LIBTOOL_LA = "0" 2164 REMOVE_LIBTOOL_LA = "0"
2187 2165
@@ -2231,8 +2209,7 @@ recipe, enabling ``rm_work`` will potentially result in your changes to
2231the source being lost. To exclude some recipes from having their work 2209the source being lost. To exclude some recipes from having their work
2232directories deleted by ``rm_work``, you can add the names of the recipe 2210directories deleted by ``rm_work``, you can add the names of the recipe
2233or recipes you are working on to the ``RM_WORK_EXCLUDE`` variable, which 2211or recipes you are working on to the ``RM_WORK_EXCLUDE`` variable, which
2234can also be set in your ``local.conf`` file. Here is an example: 2212can also be set in your ``local.conf`` file. Here is an example::
2235::
2236 2213
2237 RM_WORK_EXCLUDE += "busybox glibc" 2214 RM_WORK_EXCLUDE += "busybox glibc"
2238 2215
@@ -2531,8 +2508,7 @@ You should set :term:`SYSTEMD_SERVICE` to the
2531name of the service file. You should also use a package name override to 2508name of the service file. You should also use a package name override to
2532indicate the package to which the value applies. If the value applies to 2509indicate the package to which the value applies. If the value applies to
2533the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here 2510the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here
2534is an example from the connman recipe: 2511is an example from the connman recipe::
2535::
2536 2512
2537 SYSTEMD_SERVICE_${PN} = "connman.service" 2513 SYSTEMD_SERVICE_${PN} = "connman.service"
2538 2514
@@ -2608,8 +2584,7 @@ The tests are commands that run on the target system over ``ssh``. Each
2608test is written in Python and makes use of the ``unittest`` module. 2584test is written in Python and makes use of the ``unittest`` module.
2609 2585
2610The ``testimage.bbclass`` runs tests on an image when called using the 2586The ``testimage.bbclass`` runs tests on an image when called using the
2611following: 2587following::
2612::
2613 2588
2614 $ bitbake -c testimage image 2589 $ bitbake -c testimage image
2615 2590
@@ -2628,8 +2603,7 @@ section in the Yocto Project Development Tasks Manual.
2628 2603
2629This class supports running automated tests against software development 2604This class supports running automated tests against software development
2630kits (SDKs). The ``testsdk`` class runs tests on an SDK when called 2605kits (SDKs). The ``testsdk`` class runs tests on an SDK when called
2631using the following: 2606using the following::
2632::
2633 2607
2634 $ bitbake -c testsdk image 2608 $ bitbake -c testsdk image
2635 2609
@@ -2684,8 +2658,7 @@ the environment for installed SDKs.
2684The ``typecheck`` class provides support for validating the values of 2658The ``typecheck`` class provides support for validating the values of
2685variables set at the configuration level against their defined types. 2659variables set at the configuration level against their defined types.
2686The OpenEmbedded build system allows you to define the type of a 2660The OpenEmbedded build system allows you to define the type of a
2687variable using the "type" varflag. Here is an example: 2661variable using the "type" varflag. Here is an example::
2688::
2689 2662
2690 IMAGE_FEATURES[type] = "list" 2663 IMAGE_FEATURES[type] = "list"
2691 2664
@@ -2695,14 +2668,12 @@ variable using the "type" varflag. Here is an example:
2695======================== 2668========================
2696 2669
2697The ``uboot-config`` class provides support for U-Boot configuration for 2670The ``uboot-config`` class provides support for U-Boot configuration for
2698a machine. Specify the machine in your recipe as follows: 2671a machine. Specify the machine in your recipe as follows::
2699::
2700 2672
2701 UBOOT_CONFIG ??= <default> 2673 UBOOT_CONFIG ??= <default>
2702 UBOOT_CONFIG[foo] = "config,images" 2674 UBOOT_CONFIG[foo] = "config,images"
2703 2675
2704You can also specify the machine using this method: 2676You can also specify the machine using this method::
2705::
2706 2677
2707 UBOOT_MACHINE = "config" 2678 UBOOT_MACHINE = "config"
2708 2679
diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst
index 629aa2ffb9..0ce3219831 100644
--- a/documentation/ref-manual/devtool-reference.rst
+++ b/documentation/ref-manual/devtool-reference.rst
@@ -22,8 +22,7 @@ Getting Help
22 22
23The ``devtool`` command line is organized similarly to Git in that it 23The ``devtool`` command line is organized similarly to Git in that it
24has a number of sub-commands for each function. You can run 24has a number of sub-commands for each function. You can run
25``devtool --help`` to see all the commands: 25``devtool --help`` to see all the commands::
26::
27 26
28 $ devtool -h 27 $ devtool -h
29 NOTE: Starting bitbake server... 28 NOTE: Starting bitbake server...
@@ -79,8 +78,7 @@ has a number of sub-commands for each function. You can run
79 78
80As directed in the general help output, you can 79As directed in the general help output, you can
81get more syntax on a specific command by providing the command name and 80get more syntax on a specific command by providing the command name and
82using "--help": 81using "--help"::
83::
84 82
85 $ devtool add --help 83 $ devtool add --help
86 NOTE: Starting bitbake server... 84 NOTE: Starting bitbake server...
@@ -172,8 +170,7 @@ you. The source files the recipe uses should exist in an external area.
172 170
173The following example creates and adds a new recipe named ``jackson`` to 171The following example creates and adds a new recipe named ``jackson`` to
174a workspace layer the tool creates. The source code built by the recipes 172a workspace layer the tool creates. The source code built by the recipes
175resides in ``/home/user/sources/jackson``: 173resides in ``/home/user/sources/jackson``::
176::
177 174
178 $ devtool add jackson /home/user/sources/jackson 175 $ devtool add jackson /home/user/sources/jackson
179 176
@@ -201,8 +198,7 @@ unpacking files from a remote URI. In some cases, you might want to
201specify a source revision by branch, tag, or commit hash. You can 198specify a source revision by branch, tag, or commit hash. You can
202specify these options when using the ``devtool add`` command: 199specify these options when using the ``devtool add`` command:
203 200
204- To specify a source branch, use the ``--srcbranch`` option: 201- To specify a source branch, use the ``--srcbranch`` option::
205 ::
206 202
207 $ devtool add --srcbranch &DISTRO_NAME_NO_CAP; jackson /home/user/sources/jackson 203 $ devtool add --srcbranch &DISTRO_NAME_NO_CAP; jackson /home/user/sources/jackson
208 204
@@ -210,8 +206,7 @@ specify these options when using the ``devtool add`` command:
210 branch. 206 branch.
211 207
212- To specify a specific tag or commit hash, use the ``--srcrev`` 208- To specify a specific tag or commit hash, use the ``--srcrev``
213 option: 209 option::
214 ::
215 210
216 $ devtool add --srcrev &DISTRO_REL_TAG; jackson /home/user/sources/jackson 211 $ devtool add --srcrev &DISTRO_REL_TAG; jackson /home/user/sources/jackson
217 $ devtool add --srcrev some_commit_hash /home/user/sources/jackson 212 $ devtool add --srcrev some_commit_hash /home/user/sources/jackson
@@ -269,8 +264,7 @@ The ``devtool modify`` command extracts the source for a recipe, sets it
269up as a Git repository if the source had not already been fetched from 264up as a Git repository if the source had not already been fetched from
270Git, checks out a branch for development, and applies any patches from 265Git, checks out a branch for development, and applies any patches from
271the recipe as commits on top. You can use the following command to 266the recipe as commits on top. You can use the following command to
272checkout the source files: 267checkout the source files::
273::
274 268
275 $ devtool modify recipe 269 $ devtool modify recipe
276 270
@@ -309,8 +303,7 @@ compile, and test the code.
309 303
310When you are satisfied with the results and you have committed your 304When you are satisfied with the results and you have committed your
311changes to the Git repository, you can then run the 305changes to the Git repository, you can then run the
312``devtool update-recipe`` to create the patches and update the recipe: 306``devtool update-recipe`` to create the patches and update the recipe::
313::
314 307
315 $ devtool update-recipe recipe 308 $ devtool update-recipe recipe
316 309
@@ -321,8 +314,7 @@ Often, you might want to apply customizations made to your software in
321your own layer rather than apply them to the original recipe. If so, you 314your own layer rather than apply them to the original recipe. If so, you
322can use the ``-a`` or ``--append`` option with the 315can use the ``-a`` or ``--append`` option with the
323``devtool update-recipe`` command. These options allow you to specify 316``devtool update-recipe`` command. These options allow you to specify
324the layer into which to write an append file: 317the layer into which to write an append file::
325::
326 318
327 $ devtool update-recipe recipe -a base-layer-directory 319 $ devtool update-recipe recipe -a base-layer-directory
328 320
@@ -358,8 +350,7 @@ particular recipe.
358 recipe's latest version tag. 350 recipe's latest version tag.
359 351
360As with all ``devtool`` commands, you can get help on the individual 352As with all ``devtool`` commands, you can get help on the individual
361command: 353command::
362::
363 354
364 $ devtool check-upgrade-status -h 355 $ devtool check-upgrade-status -h
365 NOTE: Starting bitbake server... 356 NOTE: Starting bitbake server...
@@ -462,8 +453,7 @@ files have been modified, the command preserves the modified files in a
462separate "attic" subdirectory under the workspace layer. 453separate "attic" subdirectory under the workspace layer.
463 454
464Here is an example that resets the workspace directory that contains the 455Here is an example that resets the workspace directory that contains the
465``mtr`` recipe: 456``mtr`` recipe::
466::
467 457
468 $ devtool reset mtr 458 $ devtool reset mtr
469 NOTE: Cleaning sysroot for recipe mtr... 459 NOTE: Cleaning sysroot for recipe mtr...
@@ -482,8 +472,7 @@ Use the ``devtool build`` command to build your recipe. The
482When you use the ``devtool build`` command, you must supply the root 472When you use the ``devtool build`` command, you must supply the root
483name of the recipe (i.e. do not provide versions, paths, or extensions). 473name of the recipe (i.e. do not provide versions, paths, or extensions).
484You can use either the "-s" or the "--disable-parallel-make" options to 474You can use either the "-s" or the "--disable-parallel-make" options to
485disable parallel makes during the build. Here is an example: 475disable parallel makes during the build. Here is an example::
486::
487 476
488 $ devtool build recipe 477 $ devtool build recipe
489 478
@@ -499,8 +488,7 @@ device for testing. For proper integration into a final image, you need
499to edit your custom image recipe appropriately. 488to edit your custom image recipe appropriately.
500 489
501When you use the ``devtool build-image`` command, you must supply the 490When you use the ``devtool build-image`` command, you must supply the
502name of the image. This command has no command line options: 491name of the image. This command has no command line options::
503::
504 492
505 $ devtool build-image image 493 $ devtool build-image image
506 494
@@ -510,8 +498,7 @@ Deploying Your Software on the Target Machine
510============================================= 498=============================================
511 499
512Use the ``devtool deploy-target`` command to deploy the recipe's build 500Use the ``devtool deploy-target`` command to deploy the recipe's build
513output to the live target machine: 501output to the live target machine::
514::
515 502
516 $ devtool deploy-target recipe target 503 $ devtool deploy-target recipe target
517 504
@@ -582,15 +569,13 @@ new workspace layer, it is populated with the ``README`` file and the
582``conf`` directory only. 569``conf`` directory only.
583 570
584The following example creates a new workspace layer in your current 571The following example creates a new workspace layer in your current
585working and by default names the workspace layer "workspace": 572working and by default names the workspace layer "workspace"::
586::
587 573
588 $ devtool create-workspace 574 $ devtool create-workspace
589 575
590You can create a workspace layer anywhere by supplying a pathname with 576You can create a workspace layer anywhere by supplying a pathname with
591the command. The following command creates a new workspace layer named 577the command. The following command creates a new workspace layer named
592"new-workspace": 578"new-workspace"::
593::
594 579
595 $ devtool create-workspace /home/scottrif/new-workspace 580 $ devtool create-workspace /home/scottrif/new-workspace
596 581
@@ -603,15 +588,13 @@ Use the ``devtool status`` command to list the recipes currently in your
603workspace. Information includes the paths to their respective external 588workspace. Information includes the paths to their respective external
604source trees. 589source trees.
605 590
606The ``devtool status`` command has no command-line options: 591The ``devtool status`` command has no command-line options::
607::
608 592
609 $ devtool status 593 $ devtool status
610 594
611Following is sample output after using 595Following is sample output after using
612:ref:`devtool add <ref-manual/devtool-reference:adding a new recipe to the workspace layer>` 596:ref:`devtool add <ref-manual/devtool-reference:adding a new recipe to the workspace layer>`
613to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory: 597to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory::
614::
615 598
616 $ devtool status 599 $ devtool status
617 mtr:/home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb) 600 mtr:/home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb)
diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
index a9103f83c6..e7bca829a3 100644
--- a/documentation/ref-manual/faq.rst
+++ b/documentation/ref-manual/faq.rst
@@ -209,8 +209,7 @@ section in the Yocto Project Development Tasks Manual.
209**A:** You need to create a form factor file as described in the 209**A:** You need to create a form factor file as described in the
210":ref:`bsp-guide/bsp:miscellaneous bsp-specific recipe files`" section in 210":ref:`bsp-guide/bsp:miscellaneous bsp-specific recipe files`" section in
211the Yocto Project Board Support Packages (BSP) Developer's Guide. Set 211the Yocto Project Board Support Packages (BSP) Developer's Guide. Set
212the ``HAVE_TOUCHSCREEN`` variable equal to one as follows: 212the ``HAVE_TOUCHSCREEN`` variable equal to one as follows::
213::
214 213
215 HAVE_TOUCHSCREEN=1 214 HAVE_TOUCHSCREEN=1
216 215
@@ -313,8 +312,7 @@ HTTPS requests and direct them to the ``http://`` sources mirror. You
313can use ``file://`` URLs to point to local directories or network shares 312can use ``file://`` URLs to point to local directories or network shares
314as well. 313as well.
315 314
316Aside from the previous technique, these options also exist: 315Aside from the previous technique, these options also exist::
317::
318 316
319 BB_NO_NETWORK = "1" 317 BB_NO_NETWORK = "1"
320 318
@@ -322,8 +320,7 @@ This statement tells BitBake to issue an error
322instead of trying to access the Internet. This technique is useful if 320instead of trying to access the Internet. This technique is useful if
323you want to ensure code builds only from local sources. 321you want to ensure code builds only from local sources.
324 322
325Here is another technique: 323Here is another technique::
326::
327 324
328 BB_FETCH_PREMIRRORONLY = "1" 325 BB_FETCH_PREMIRRORONLY = "1"
329 326
@@ -331,8 +328,7 @@ This statement
331limits the build system to pulling source from the ``PREMIRRORS`` only. 328limits the build system to pulling source from the ``PREMIRRORS`` only.
332Again, this technique is useful for reproducing builds. 329Again, this technique is useful for reproducing builds.
333 330
334Here is another technique: 331Here is another technique::
335::
336 332
337 BB_GENERATE_MIRROR_TARBALLS = "1" 333 BB_GENERATE_MIRROR_TARBALLS = "1"
338 334
diff --git a/documentation/ref-manual/features.rst b/documentation/ref-manual/features.rst
index 89c06eb65f..eb4947d594 100644
--- a/documentation/ref-manual/features.rst
+++ b/documentation/ref-manual/features.rst
@@ -26,8 +26,7 @@ One method you can use to determine which recipes are checking to see if
26a particular feature is contained or not is to ``grep`` through the 26a particular feature is contained or not is to ``grep`` through the
27:term:`Metadata` for the feature. Here is an example that 27:term:`Metadata` for the feature. Here is an example that
28discovers the recipes whose build is potentially changed based on a 28discovers the recipes whose build is potentially changed based on a
29given feature: 29given feature::
30::
31 30
32 $ cd poky 31 $ cd poky
33 $ git grep 'contains.*MACHINE_FEATURES.*feature' 32 $ git grep 'contains.*MACHINE_FEATURES.*feature'
diff --git a/documentation/ref-manual/images.rst b/documentation/ref-manual/images.rst
index 6b4e958a85..b2db1a7734 100644
--- a/documentation/ref-manual/images.rst
+++ b/documentation/ref-manual/images.rst
@@ -18,8 +18,7 @@ image you want.
18 are going to build an image using non-GPLv3 and similarly licensed 18 are going to build an image using non-GPLv3 and similarly licensed
19 components, you must make the following changes in the ``local.conf`` 19 components, you must make the following changes in the ``local.conf``
20 file before using the BitBake command to build the minimal or base 20 file before using the BitBake command to build the minimal or base
21 image: 21 image::
22 ::
23 22
24 1. Comment out the EXTRA_IMAGE_FEATURES line 23 1. Comment out the EXTRA_IMAGE_FEATURES line
25 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0" 24 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
diff --git a/documentation/ref-manual/kickstart.rst b/documentation/ref-manual/kickstart.rst
index b87cdc13b1..843292b528 100644
--- a/documentation/ref-manual/kickstart.rst
+++ b/documentation/ref-manual/kickstart.rst
@@ -30,8 +30,7 @@ Command: part or partition
30========================== 30==========================
31 31
32Either of these commands creates a partition on the system and uses the 32Either of these commands creates a partition on the system and uses the
33following syntax: 33following syntax::
34::
35 34
36 part [mntpoint] 35 part [mntpoint]
37 partition [mntpoint] 36 partition [mntpoint]
@@ -59,8 +58,7 @@ must also provide one of the ``--ondrive``, ``--ondisk``, or
59 versions of these application are currently excluded. 58 versions of these application are currently excluded.
60 59
61Here is an example that uses "/" as the mountpoint. The command uses 60Here is an example that uses "/" as the mountpoint. The command uses
62``--ondisk`` to force the partition onto the ``sdb`` disk: 61``--ondisk`` to force the partition onto the ``sdb`` disk::
63::
64 62
65 part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024 63 part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024
66 64
diff --git a/documentation/ref-manual/migration-1.3.rst b/documentation/ref-manual/migration-1.3.rst
index 7c522dc123..b90767ff90 100644
--- a/documentation/ref-manual/migration-1.3.rst
+++ b/documentation/ref-manual/migration-1.3.rst
@@ -181,8 +181,7 @@ Linux Kernel Naming
181------------------- 181-------------------
182 182
183The naming scheme for kernel output binaries has been changed to now 183The naming scheme for kernel output binaries has been changed to now
184include :term:`PE` as part of the filename: 184include :term:`PE` as part of the filename::
185::
186 185
187 KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" 186 KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
188 187
diff --git a/documentation/ref-manual/migration-1.4.rst b/documentation/ref-manual/migration-1.4.rst
index f5fac7a2ac..deb848749c 100644
--- a/documentation/ref-manual/migration-1.4.rst
+++ b/documentation/ref-manual/migration-1.4.rst
@@ -40,8 +40,7 @@ Differences include the following:
40 40
41- *Shared State Code:* The shared state code has been optimized to 41- *Shared State Code:* The shared state code has been optimized to
42 avoid running unnecessary tasks. For example, the following no longer 42 avoid running unnecessary tasks. For example, the following no longer
43 populates the target sysroot since that is not necessary: 43 populates the target sysroot since that is not necessary::
44 ::
45 44
46 $ bitbake -c rootfs some-image 45 $ bitbake -c rootfs some-image
47 46
@@ -136,8 +135,7 @@ Target Package Management with RPM
136If runtime package management is enabled and the RPM backend is 135If runtime package management is enabled and the RPM backend is
137selected, Smart is now installed for package download, dependency 136selected, Smart is now installed for package download, dependency
138resolution, and upgrades instead of Zypper. For more information on how 137resolution, and upgrades instead of Zypper. For more information on how
139to use Smart, run the following command on the target: 138to use Smart, run the following command on the target::
140::
141 139
142 smart --help 140 smart --help
143 141
diff --git a/documentation/ref-manual/migration-1.6.rst b/documentation/ref-manual/migration-1.6.rst
index fe3e04d685..5a18d63103 100644
--- a/documentation/ref-manual/migration-1.6.rst
+++ b/documentation/ref-manual/migration-1.6.rst
@@ -53,8 +53,7 @@ Matching Branch Requirement for Git Fetching
53When fetching source from a Git repository using 53When fetching source from a Git repository using
54:term:`SRC_URI`, BitBake will now validate the 54:term:`SRC_URI`, BitBake will now validate the
55:term:`SRCREV` value against the branch. You can specify 55:term:`SRCREV` value against the branch. You can specify
56the branch using the following form: 56the branch using the following form::
57::
58 57
59 SRC_URI = "git://server.name/repository;branch=branchname" 58 SRC_URI = "git://server.name/repository;branch=branchname"
60 59
@@ -248,8 +247,7 @@ the ``autotools`` or ``autotools_stage``\ classes.
248 247
249``qemu-native`` now builds without SDL-based graphical output support by 248``qemu-native`` now builds without SDL-based graphical output support by
250default. The following additional lines are needed in your 249default. The following additional lines are needed in your
251``local.conf`` to enable it: 250``local.conf`` to enable it::
252::
253 251
254 PACKAGECONFIG_pn-qemu-native = "sdl" 252 PACKAGECONFIG_pn-qemu-native = "sdl"
255 ASSUME_PROVIDED += "libsdl-native" 253 ASSUME_PROVIDED += "libsdl-native"
diff --git a/documentation/ref-manual/migration-1.7.rst b/documentation/ref-manual/migration-1.7.rst
index 9cf467f28b..46bf126583 100644
--- a/documentation/ref-manual/migration-1.7.rst
+++ b/documentation/ref-manual/migration-1.7.rst
@@ -15,8 +15,7 @@ optional features. The method used to set defaults for these options
15means that existing ``local.conf`` files will need to be modified to 15means that existing ``local.conf`` files will need to be modified to
16append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` 16append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu``
17instead of setting it. In other words, to enable graphical output for 17instead of setting it. In other words, to enable graphical output for
18QEMU, you should now have these lines in ``local.conf``: 18QEMU, you should now have these lines in ``local.conf``::
19::
20 19
21 PACKAGECONFIG_append_pn-qemu-native = " sdl" 20 PACKAGECONFIG_append_pn-qemu-native = " sdl"
22 PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" 21 PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
@@ -80,8 +79,7 @@ disable the scripts due to the scripts previously requiring error-prone
80path substitution. Software that links against these libraries using 79path substitution. Software that links against these libraries using
81these scripts should use the much more robust ``pkg-config`` instead. 80these scripts should use the much more robust ``pkg-config`` instead.
82The list of recipes changed in this version (and their configuration 81The list of recipes changed in this version (and their configuration
83scripts) is as follows: 82scripts) is as follows::
84::
85 83
86 directfb (directfb-config) 84 directfb (directfb-config)
87 freetype (freetype-config) 85 freetype (freetype-config)
diff --git a/documentation/ref-manual/migration-2.0.rst b/documentation/ref-manual/migration-2.0.rst
index 9da60dfdcb..8319b0ee36 100644
--- a/documentation/ref-manual/migration-2.0.rst
+++ b/documentation/ref-manual/migration-2.0.rst
@@ -25,8 +25,7 @@ and the porting guide at
25https://gcc.gnu.org/gcc-5/porting_to.html. 25https://gcc.gnu.org/gcc-5/porting_to.html.
26 26
27Alternatively, you can switch back to GCC 4.9 or 4.8 by setting 27Alternatively, you can switch back to GCC 4.9 or 4.8 by setting
28``GCCVERSION`` in your configuration, as follows: 28``GCCVERSION`` in your configuration, as follows::
29::
30 29
31 GCCVERSION = "4.9%" 30 GCCVERSION = "4.9%"
32 31
@@ -91,8 +90,7 @@ unlikely to require any changes to Metadata. However, these minor
91changes in behavior exist: 90changes in behavior exist:
92 91
93- All potential overrides are now visible in the variable history as 92- All potential overrides are now visible in the variable history as
94 seen when you run the following: 93 seen when you run the following::
95 ::
96 94
97 $ bitbake -e 95 $ bitbake -e
98 96
@@ -200,8 +198,7 @@ changes.
200 198
201Additionally, work directories for old versions of recipes are now 199Additionally, work directories for old versions of recipes are now
202pruned. If you wish to disable pruning old work directories, you can set 200pruned. If you wish to disable pruning old work directories, you can set
203the following variable in your configuration: 201the following variable in your configuration::
204::
205 202
206 SSTATE_PRUNE_OBSOLETEWORKDIR = "0" 203 SSTATE_PRUNE_OBSOLETEWORKDIR = "0"
207 204
diff --git a/documentation/ref-manual/migration-2.1.rst b/documentation/ref-manual/migration-2.1.rst
index 1eb9ab5525..32d193f0ff 100644
--- a/documentation/ref-manual/migration-2.1.rst
+++ b/documentation/ref-manual/migration-2.1.rst
@@ -42,8 +42,7 @@ defaulted to False if not specified. Now, however, no default exists so
42one must be specified. You must change any ``getVar()`` calls that do 42one must be specified. You must change any ``getVar()`` calls that do
43not specify the final expand parameter to calls that do specify the 43not specify the final expand parameter to calls that do specify the
44parameter. You can run the following ``sed`` command at the base of a 44parameter. You can run the following ``sed`` command at the base of a
45layer to make this change: 45layer to make this change::
46::
47 46
48 sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` 47 sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *`
49 sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` 48 sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *`
@@ -285,8 +284,7 @@ The following changes have been made for the Poky distribution:
285 Any recipe that needs to opt-out of having the "--disable-static" 284 Any recipe that needs to opt-out of having the "--disable-static"
286 option specified on the configure command line either because it is 285 option specified on the configure command line either because it is
287 not a supported option for the configure script or because static 286 not a supported option for the configure script or because static
288 libraries are needed should set the following variable: 287 libraries are needed should set the following variable::
289 ::
290 288
291 DISABLE_STATIC = "" 289 DISABLE_STATIC = ""
292 290
@@ -369,8 +367,7 @@ These additional changes exist:
369- Previously, the following list of packages were removed if 367- Previously, the following list of packages were removed if
370 package-management was not in 368 package-management was not in
371 :term:`IMAGE_FEATURES`, regardless of any 369 :term:`IMAGE_FEATURES`, regardless of any
372 dependencies: 370 dependencies::
373 ::
374 371
375 update-rc.d 372 update-rc.d
376 base-passwd 373 base-passwd
diff --git a/documentation/ref-manual/migration-2.2.rst b/documentation/ref-manual/migration-2.2.rst
index d11735163e..a9d3cde7b7 100644
--- a/documentation/ref-manual/migration-2.2.rst
+++ b/documentation/ref-manual/migration-2.2.rst
@@ -144,8 +144,7 @@ The new ``runqemu`` is a Python script. Machine knowledge is no longer
144hardcoded into ``runqemu``. You can choose to use the ``qemuboot`` 144hardcoded into ``runqemu``. You can choose to use the ``qemuboot``
145configuration file to define the BSP's own arguments and to make it 145configuration file to define the BSP's own arguments and to make it
146bootable with ``runqemu``. If you use a configuration file, use the 146bootable with ``runqemu``. If you use a configuration file, use the
147following form: 147following form::
148::
149 148
150 image-name-machine.qemuboot.conf 149 image-name-machine.qemuboot.conf
151 150
@@ -160,8 +159,7 @@ rootfs). QEMU boot arguments can be set in BSP's configuration file and
160the ``qemuboot`` class will save them to ``qemuboot.conf``. 159the ``qemuboot`` class will save them to ``qemuboot.conf``.
161 160
162If you want to use ``runqemu`` without a configuration file, use the 161If you want to use ``runqemu`` without a configuration file, use the
163following command form: 162following command form::
164::
165 163
166 $ runqemu machine rootfs kernel [options] 164 $ runqemu machine rootfs kernel [options]
167 165
@@ -244,8 +242,7 @@ recipes. You need to fix these recipes so that they use the expected
244``LDFLAGS``. Depending on how the software is built, the build system 242``LDFLAGS``. Depending on how the software is built, the build system
245used by the software (e.g. a Makefile) might need to be patched. 243used by the software (e.g. a Makefile) might need to be patched.
246However, sometimes making this fix is as simple as adding the following 244However, sometimes making this fix is as simple as adding the following
247to the recipe: 245to the recipe::
248::
249 246
250 TARGET_CC_ARCH += "${LDFLAGS}" 247 TARGET_CC_ARCH += "${LDFLAGS}"
251 248
@@ -258,8 +255,7 @@ The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the
258:term:`KERNEL_IMAGETYPE` variable to create the 255:term:`KERNEL_IMAGETYPE` variable to create the
259image's base name. Because the OpenEmbedded build system can now build 256image's base name. Because the OpenEmbedded build system can now build
260multiple kernel image types, this part of the kernel image base name as 257multiple kernel image types, this part of the kernel image base name as
261been removed leaving only the following: 258been removed leaving only the following::
262::
263 259
264 KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" 260 KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
265 261
diff --git a/documentation/ref-manual/migration-2.3.rst b/documentation/ref-manual/migration-2.3.rst
index 0541eb3e74..dfbda612ae 100644
--- a/documentation/ref-manual/migration-2.3.rst
+++ b/documentation/ref-manual/migration-2.3.rst
@@ -114,8 +114,7 @@ Changes to Scripts
114The following changes to scripts took place: 114The following changes to scripts took place:
115 115
116- ``oe-find-native-sysroot``: The usage for the 116- ``oe-find-native-sysroot``: The usage for the
117 ``oe-find-native-sysroot`` script has changed to the following: 117 ``oe-find-native-sysroot`` script has changed to the following::
118 ::
119 118
120 $ . oe-find-native-sysroot recipe 119 $ . oe-find-native-sysroot recipe
121 120
@@ -124,8 +123,7 @@ The following changes to scripts took place:
124 was not necessary to provide the script with the command. 123 was not necessary to provide the script with the command.
125 124
126- ``oe-run-native``: The usage for the ``oe-run-native`` script has 125- ``oe-run-native``: The usage for the ``oe-run-native`` script has
127 changed to the following: 126 changed to the following::
128 ::
129 127
130 $ oe-run-native native_recipe tool 128 $ oe-run-native native_recipe tool
131 129
@@ -453,14 +451,11 @@ The following miscellaneous changes have occurred:
453 tools. 451 tools.
454 452
455- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig" 453- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig"
456 ``DISTRO_FEATURES`` feature. Distributions that previously set: 454 ``DISTRO_FEATURES`` feature. Distributions that previously set::
457 ::
458 455
459 USE_LDCONFIG = "0" 456 USE_LDCONFIG = "0"
460 457
461 should now instead use the following: 458 should now instead use the following::
462
463 ::
464 459
465 DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" 460 DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
466 461
@@ -478,8 +473,7 @@ The following miscellaneous changes have occurred:
478 order to allow module packages from multiple kernel versions to 473 order to allow module packages from multiple kernel versions to
479 co-exist on a target system. If you wish to return to the previous 474 co-exist on a target system. If you wish to return to the previous
480 naming scheme that does not include the version suffix, use the 475 naming scheme that does not include the version suffix, use the
481 following: 476 following::
482 ::
483 477
484 KERNEL_MODULE_PACKAGE_SUFFIX = "" 478 KERNEL_MODULE_PACKAGE_SUFFIX = ""
485 479
diff --git a/documentation/ref-manual/migration-2.5.rst b/documentation/ref-manual/migration-2.5.rst
index fd5f2f88e0..86a0da9c40 100644
--- a/documentation/ref-manual/migration-2.5.rst
+++ b/documentation/ref-manual/migration-2.5.rst
@@ -138,13 +138,11 @@ The following are BitBake changes:
138 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, 138 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
139 and the ``*all`` tasks provided by the ``distrodata`` and 139 and the ``*all`` tasks provided by the ``distrodata`` and
140 ``archiver`` classes). There is a BitBake option to complete this for 140 ``archiver`` classes). There is a BitBake option to complete this for
141 any arbitrary task. For example: 141 any arbitrary task. For example::
142 ::
143 142
144 bitbake <target> -c fetchall 143 bitbake <target> -c fetchall
145 144
146 should now be replaced with: 145 should now be replaced with::
147 ::
148 146
149 bitbake <target> --runall=fetch 147 bitbake <target> --runall=fetch
150 148
diff --git a/documentation/ref-manual/migration-2.6.rst b/documentation/ref-manual/migration-2.6.rst
index aeac509808..d1c6c0c5f5 100644
--- a/documentation/ref-manual/migration-2.6.rst
+++ b/documentation/ref-manual/migration-2.6.rst
@@ -161,13 +161,11 @@ The following changes have been made:
161 allows easier and more direct changes. 161 allows easier and more direct changes.
162 162
163 The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf`` 163 The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf``
164 configuration file as follows: 164 configuration file as follows::
165 ::
166 165
167 IMAGE_VERSION_SUFFIX = "-${DATETIME}" 166 IMAGE_VERSION_SUFFIX = "-${DATETIME}"
168 167
169- Several variables have changed names for consistency: 168- Several variables have changed names for consistency::
170 ::
171 169
172 Old Variable Name New Variable Name 170 Old Variable Name New Variable Name
173 ======================================================== 171 ========================================================
@@ -292,8 +290,7 @@ avoids the ``systemd`` recipe from becoming machine-specific for cases
292where machine-specific configurations need to be applied (e.g. for 290where machine-specific configurations need to be applied (e.g. for
293``qemu*`` machines). 291``qemu*`` machines).
294 292
295Currently, the new recipe packages the following files: 293Currently, the new recipe packages the following files::
296::
297 294
298 ${sysconfdir}/machine-id 295 ${sysconfdir}/machine-id
299 ${sysconfdir}/systemd/coredump.conf 296 ${sysconfdir}/systemd/coredump.conf
@@ -393,8 +390,7 @@ If you wish to disable Python profile-guided optimization regardless of
393the value of ``MACHINE_FEATURES``, then ensure that 390the value of ``MACHINE_FEATURES``, then ensure that
394:term:`PACKAGECONFIG` for the ``python3`` recipe 391:term:`PACKAGECONFIG` for the ``python3`` recipe
395does not contain "pgo". You could accomplish the latter using the 392does not contain "pgo". You could accomplish the latter using the
396following at the configuration level: 393following at the configuration level::
397::
398 394
399 PACKAGECONFIG_remove_pn-python3 = "pgo" 395 PACKAGECONFIG_remove_pn-python3 = "pgo"
400 396
@@ -411,8 +407,7 @@ The following miscellaneous changes occurred:
411- Default to using the Thumb-2 instruction set for armv7a and above. If 407- Default to using the Thumb-2 instruction set for armv7a and above. If
412 you have any custom recipes that build software that needs to be 408 you have any custom recipes that build software that needs to be
413 built with the ARM instruction set, change the recipe to set the 409 built with the ARM instruction set, change the recipe to set the
414 instruction set as follows: 410 instruction set as follows::
415 ::
416 411
417 ARM_INSTRUCTION_SET = "arm" 412 ARM_INSTRUCTION_SET = "arm"
418 413
diff --git a/documentation/ref-manual/migration-3.1.rst b/documentation/ref-manual/migration-3.1.rst
index c62aba7d48..7822285a87 100644
--- a/documentation/ref-manual/migration-3.1.rst
+++ b/documentation/ref-manual/migration-3.1.rst
@@ -71,8 +71,7 @@ when building a simple image such as core-image-minimal. If you do not
71need runtime tests enabled for core components, then it is recommended 71need runtime tests enabled for core components, then it is recommended
72that you remove "ptest" from 72that you remove "ptest" from
73:term:`DISTRO_FEATURES` to save a significant 73:term:`DISTRO_FEATURES` to save a significant
74amount of build time e.g. by adding the following in your configuration: 74amount of build time e.g. by adding the following in your configuration::
75::
76 75
77 DISTRO_FEATURES_remove = "ptest" 76 DISTRO_FEATURES_remove = "ptest"
78 77
diff --git a/documentation/ref-manual/qa-checks.rst b/documentation/ref-manual/qa-checks.rst
index 79d2d4266a..9cc4c577c7 100644
--- a/documentation/ref-manual/qa-checks.rst
+++ b/documentation/ref-manual/qa-checks.rst
@@ -221,8 +221,7 @@ Errors and Warnings
221 Typically, the way to solve this performance issue is to add "-fPIC" 221 Typically, the way to solve this performance issue is to add "-fPIC"
222 or "-fpic" to the compiler command-line options. For example, given 222 or "-fpic" to the compiler command-line options. For example, given
223 software that reads :term:`CFLAGS` when you build it, 223 software that reads :term:`CFLAGS` when you build it,
224 you could add the following to your recipe: 224 you could add the following to your recipe::
225 ::
226 225
227 CFLAGS_append = " -fPIC " 226 CFLAGS_append = " -fPIC "
228 227
@@ -240,8 +239,7 @@ Errors and Warnings
240 variable is being passed to the linker command. A common workaround 239 variable is being passed to the linker command. A common workaround
241 for this situation is to pass in ``LDFLAGS`` using 240 for this situation is to pass in ``LDFLAGS`` using
242 :term:`TARGET_CC_ARCH` within the recipe as 241 :term:`TARGET_CC_ARCH` within the recipe as
243 follows: 242 follows::
244 ::
245 243
246 TARGET_CC_ARCH += "${LDFLAGS}" 244 TARGET_CC_ARCH += "${LDFLAGS}"
247 245
@@ -265,8 +263,7 @@ Errors and Warnings
265 263
266 The ``/usr/share/info/dir`` should not be packaged. Add the following 264 The ``/usr/share/info/dir`` should not be packaged. Add the following
267 line to your :ref:`ref-tasks-install` task or to your 265 line to your :ref:`ref-tasks-install` task or to your
268 ``do_install_append`` within the recipe as follows: 266 ``do_install_append`` within the recipe as follows::
269 ::
270 267
271 rm ${D}${infodir}/dir 268 rm ${D}${infodir}/dir
272   269  
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst
index 0f2093a8d4..f8dc7d2821 100644
--- a/documentation/ref-manual/structure.rst
+++ b/documentation/ref-manual/structure.rst
@@ -153,8 +153,7 @@ When you run this script, your Yocto Project environment is set up, a
153:term:`Build Directory` is created, your working 153:term:`Build Directory` is created, your working
154directory becomes the Build Directory, and you are presented with some 154directory becomes the Build Directory, and you are presented with some
155simple suggestions as to what to do next, including a list of some 155simple suggestions as to what to do next, including a list of some
156possible targets to build. Here is an example: 156possible targets to build. Here is an example::
157::
158 157
159 $ source oe-init-build-env 158 $ source oe-init-build-env
160 159
@@ -185,8 +184,7 @@ creates the ``build/`` directory in your current working directory. If
185you provide a Build Directory argument when you ``source`` the script, 184you provide a Build Directory argument when you ``source`` the script,
186you direct the OpenEmbedded build system to create a Build Directory of 185you direct the OpenEmbedded build system to create a Build Directory of
187your choice. For example, the following command creates a Build 186your choice. For example, the following command creates a Build
188Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`: 187Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`::
189::
190 188
191 $ source oe-init-build-env ~/mybuilds 189 $ source oe-init-build-env ~/mybuilds
192 190
@@ -269,8 +267,7 @@ and to ``meta/conf/`` when you are building from the OpenEmbedded-Core
269environment. Because the script variable points to the source of the 267environment. Because the script variable points to the source of the
270``local.conf.sample`` file, this implies that you can configure your 268``local.conf.sample`` file, this implies that you can configure your
271build environment from any layer by setting the variable in the 269build environment from any layer by setting the variable in the
272top-level build environment setup script as follows: 270top-level build environment setup script as follows::
273::
274 271
275 TEMPLATECONF=your_layer/conf 272 TEMPLATECONF=your_layer/conf
276 273
@@ -309,8 +306,7 @@ Project development environment, and to ``meta/conf/`` when you are
309building from the OpenEmbedded-Core environment. Because the script 306building from the OpenEmbedded-Core environment. Because the script
310variable points to the source of the ``bblayers.conf.sample`` file, this 307variable points to the source of the ``bblayers.conf.sample`` file, this
311implies that you can base your build from any layer by setting the 308implies that you can base your build from any layer by setting the
312variable in the top-level build environment setup script as follows: 309variable in the top-level build environment setup script as follows::
313::
314 310
315 TEMPLATECONF=your_layer/conf 311 TEMPLATECONF=your_layer/conf
316 312
@@ -463,8 +459,7 @@ image again.
463If you do accidentally delete files here, you will need to force them to 459If you do accidentally delete files here, you will need to force them to
464be re-created. In order to do that, you will need to know the target 460be re-created. In order to do that, you will need to know the target
465that produced them. For example, these commands rebuild and re-create 461that produced them. For example, these commands rebuild and re-create
466the kernel files: 462the kernel files::
467::
468 463
469 $ bitbake -c clean virtual/kernel 464 $ bitbake -c clean virtual/kernel
470 $ bitbake virtual/kernel 465 $ bitbake virtual/kernel
@@ -535,8 +530,7 @@ recipe-specific :term:`WORKDIR` directories. Thus, the
535This directory holds information that BitBake uses for accounting 530This directory holds information that BitBake uses for accounting
536purposes to track what tasks have run and when they have run. The 531purposes to track what tasks have run and when they have run. The
537directory is sub-divided by architecture, package name, and version. 532directory is sub-divided by architecture, package name, and version.
538Following is an example: 533Following is an example::
539::
540 534
541 stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do 535 stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do
542 536
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index 80378cedb7..4fa4d3ef52 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -120,8 +120,7 @@ supported Ubuntu or Debian Linux distribution:
120 might experience QEMU build failures due to the package installing 120 might experience QEMU build failures due to the package installing
121 its own custom ``/usr/include/linux/soundcard.h`` on the Debian 121 its own custom ``/usr/include/linux/soundcard.h`` on the Debian
122 system. If you run into this situation, either of the following 122 system. If you run into this situation, either of the following
123 solutions exist: 123 solutions exist::
124 ::
125 124
126 $ sudo apt-get build-dep qemu 125 $ sudo apt-get build-dep qemu
127 $ sudo apt-get remove oss4-dev 126 $ sudo apt-get remove oss4-dev
@@ -132,14 +131,12 @@ supported Ubuntu or Debian Linux distribution:
132 131
133 $ sudo pip3 install GitPython pylint==1.9.5 132 $ sudo pip3 install GitPython pylint==1.9.5
134 133
135- *Essentials:* Packages needed to build an image on a headless system: 134- *Essentials:* Packages needed to build an image on a headless system::
136 ::
137 135
138 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; 136 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
139 137
140- *Documentation:* Packages needed if you are going to build out the 138- *Documentation:* Packages needed if you are going to build out the
141 Yocto Project documentation manuals: 139 Yocto Project documentation manuals::
142 ::
143 140
144 $ sudo apt-get install make python3-pip 141 $ sudo apt-get install make python3-pip
145 &PIP3_HOST_PACKAGES_DOC; 142 &PIP3_HOST_PACKAGES_DOC;
@@ -157,14 +154,12 @@ The following list shows the required packages by function given a
157supported Fedora Linux distribution: 154supported Fedora Linux distribution:
158 155
159- *Essentials:* Packages needed to build an image for a headless 156- *Essentials:* Packages needed to build an image for a headless
160 system: 157 system::
161 ::
162 158
163 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; 159 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
164 160
165- *Documentation:* Packages needed if you are going to build out the 161- *Documentation:* Packages needed if you are going to build out the
166 Yocto Project documentation manuals: 162 Yocto Project documentation manuals::
167 ::
168 163
169 $ sudo dnf install make python3-pip which 164 $ sudo dnf install make python3-pip which
170 &PIP3_HOST_PACKAGES_DOC; 165 &PIP3_HOST_PACKAGES_DOC;
@@ -176,14 +171,12 @@ The following list shows the required packages by function given a
176supported openSUSE Linux distribution: 171supported openSUSE Linux distribution:
177 172
178- *Essentials:* Packages needed to build an image for a headless 173- *Essentials:* Packages needed to build an image for a headless
179 system: 174 system::
180 ::
181 175
182 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; 176 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
183 177
184- *Documentation:* Packages needed if you are going to build out the 178- *Documentation:* Packages needed if you are going to build out the
185 Yocto Project documentation manuals: 179 Yocto Project documentation manuals::
186 ::
187 180
188 $ sudo zypper install make python3-pip which 181 $ sudo zypper install make python3-pip which
189 &PIP3_HOST_PACKAGES_DOC; 182 &PIP3_HOST_PACKAGES_DOC;
@@ -196,8 +189,7 @@ The following list shows the required packages by function given a
196supported CentOS-7 Linux distribution: 189supported CentOS-7 Linux distribution:
197 190
198- *Essentials:* Packages needed to build an image for a headless 191- *Essentials:* Packages needed to build an image for a headless
199 system: 192 system::
200 ::
201 193
202 $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL; 194 $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL;
203 195
@@ -212,8 +204,7 @@ supported CentOS-7 Linux distribution:
212 ``epel-release``. 204 ``epel-release``.
213 205
214- *Documentation:* Packages needed if you are going to build out the 206- *Documentation:* Packages needed if you are going to build out the
215 Yocto Project documentation manuals: 207 Yocto Project documentation manuals::
216 ::
217 208
218 $ sudo yum install make python3-pip which 209 $ sudo yum install make python3-pip which
219 &PIP3_HOST_PACKAGES_DOC; 210 &PIP3_HOST_PACKAGES_DOC;
@@ -225,8 +216,7 @@ The following list shows the required packages by function given a
225supported CentOS-8 Linux distribution: 216supported CentOS-8 Linux distribution:
226 217
227- *Essentials:* Packages needed to build an image for a headless 218- *Essentials:* Packages needed to build an image for a headless
228 system: 219 system::
229 ::
230 220
231 $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; 221 $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL;
232 222
@@ -244,8 +234,7 @@ supported CentOS-8 Linux distribution:
244 ``epel-release``. 234 ``epel-release``.
245 235
246- *Documentation:* Packages needed if you are going to build out the 236- *Documentation:* Packages needed if you are going to build out the
247 Yocto Project documentation manuals: 237 Yocto Project documentation manuals::
248 ::
249 238
250 $ sudo dnf install make python3-pip which 239 $ sudo dnf install make python3-pip which
251 &PIP3_HOST_PACKAGES_DOC; 240 &PIP3_HOST_PACKAGES_DOC;
@@ -287,8 +276,7 @@ The ``install-buildtools`` script is the easiest of the three methods by
287which you can get these tools. It downloads a pre-built buildtools 276which you can get these tools. It downloads a pre-built buildtools
288installer and automatically installs the tools for you: 277installer and automatically installs the tools for you:
289 278
2901. Execute the ``install-buildtools`` script. Here is an example: 2791. Execute the ``install-buildtools`` script. Here is an example::
291 ::
292 280
293 $ cd poky 281 $ cd poky
294 $ scripts/install-buildtools --without-extended-buildtools \ 282 $ scripts/install-buildtools --without-extended-buildtools \
@@ -302,22 +290,19 @@ installer and automatically installs the tools for you:
302 installation is functional. 290 installation is functional.
303 291
304 To avoid the need of ``sudo`` privileges, the ``install-buildtools`` 292 To avoid the need of ``sudo`` privileges, the ``install-buildtools``
305 script will by default tell the installer to install in: 293 script will by default tell the installer to install in::
306 ::
307 294
308 /path/to/poky/buildtools 295 /path/to/poky/buildtools
309 296
310 If your host development system needs the additional tools provided 297 If your host development system needs the additional tools provided
311 in the ``buildtools-extended`` tarball, you can instead execute the 298 in the ``buildtools-extended`` tarball, you can instead execute the
312 ``install-buildtools`` script with the default parameters: 299 ``install-buildtools`` script with the default parameters::
313 ::
314 300
315 $ cd poky 301 $ cd poky
316 $ scripts/install-buildtools 302 $ scripts/install-buildtools
317 303
3182. Source the tools environment setup script by using a command like the 3042. Source the tools environment setup script by using a command like the
319 following: 305 following::
320 ::
321 306
322 $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 307 $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
323 308
@@ -342,13 +327,11 @@ steps:
3421. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/ 3271. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/
343 328
3442. Execute the installation script. Here is an example for the 3292. Execute the installation script. Here is an example for the
345 traditional installer: 330 traditional installer::
346 ::
347 331
348 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 332 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
349 333
350 Here is an example for the extended installer: 334 Here is an example for the extended installer::
351 ::
352 335
353 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 336 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
354 337
@@ -357,8 +340,7 @@ steps:
357 ``/home/your-username/buildtools`` 340 ``/home/your-username/buildtools``
358 341
3593. Source the tools environment setup script by using a command like the 3423. Source the tools environment setup script by using a command like the
360 following: 343 following::
361 ::
362 344
363 $ source /home/your_username/buildtools/environment-setup-i586-poky-linux 345 $ source /home/your_username/buildtools/environment-setup-i586-poky-linux
364 346
@@ -390,13 +372,11 @@ installer:
390 your build environment with the setup script 372 your build environment with the setup script
391 (:ref:`structure-core-script`). 373 (:ref:`structure-core-script`).
392 374
3932. Run the BitBake command to build the tarball: 3752. Run the BitBake command to build the tarball::
394 ::
395 376
396 $ bitbake buildtools-tarball 377 $ bitbake buildtools-tarball
397 378
398 or run the BitBake command to build the extended tarball: 379 or run the BitBake command to build the extended tarball::
399 ::
400 380
401 $ bitbake buildtools-extended-tarball 381 $ bitbake buildtools-extended-tarball
402 382
@@ -415,13 +395,11 @@ installer:
415 395
4164. On the machine that does not meet the requirements, run the ``.sh`` 3964. On the machine that does not meet the requirements, run the ``.sh``
417 file to install the tools. Here is an example for the traditional 397 file to install the tools. Here is an example for the traditional
418 installer: 398 installer::
419 ::
420 399
421 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 400 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
422 401
423 Here is an example for the extended installer: 402 Here is an example for the extended installer::
424 ::
425 403
426 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 404 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
427 405
@@ -430,8 +408,7 @@ installer:
430 ``/home/your_username/buildtools`` 408 ``/home/your_username/buildtools``
431 409
4325. Source the tools environment setup script by using a command like the 4105. Source the tools environment setup script by using a command like the
433 following: 411 following::
434 ::
435 412
436 $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 413 $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
437 414
diff --git a/documentation/ref-manual/tasks.rst b/documentation/ref-manual/tasks.rst
index 9fe1c296aa..001edf6bb3 100644
--- a/documentation/ref-manual/tasks.rst
+++ b/documentation/ref-manual/tasks.rst
@@ -93,8 +93,7 @@ output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``.
93The ``do_deploy`` task is not added as a task by default and 93The ``do_deploy`` task is not added as a task by default and
94consequently needs to be added manually. If you want the task to run 94consequently needs to be added manually. If you want the task to run
95after :ref:`ref-tasks-compile`, you can add it by doing 95after :ref:`ref-tasks-compile`, you can add it by doing
96the following: 96the following::
97::
98 97
99 addtask deploy after do_compile 98 addtask deploy after do_compile
100 99
@@ -103,8 +102,7 @@ Adding ``do_deploy`` after other tasks works the same way.
103.. note:: 102.. note::
104 103
105 You do not need to add ``before do_build`` to the ``addtask`` command 104 You do not need to add ``before do_build`` to the ``addtask`` command
106 (though it is harmless), because the ``base`` class contains the following: 105 (though it is harmless), because the ``base`` class contains the following::
107 ::
108 106
109 do_build[recrdeptask] += "do_deploy" 107 do_build[recrdeptask] += "do_deploy"
110 108
@@ -302,13 +300,11 @@ Patch files, by default, are ``*.patch`` and ``*.diff`` files created
302and kept in a subdirectory of the directory holding the recipe file. For 300and kept in a subdirectory of the directory holding the recipe file. For
303example, consider the 301example, consider the
304:yocto_git:`bluez5 </poky/tree/meta/recipes-connectivity/bluez5>` 302:yocto_git:`bluez5 </poky/tree/meta/recipes-connectivity/bluez5>`
305recipe from the OE-Core layer (i.e. ``poky/meta``): 303recipe from the OE-Core layer (i.e. ``poky/meta``)::
306::
307 304
308 poky/meta/recipes-connectivity/bluez5 305 poky/meta/recipes-connectivity/bluez5
309 306
310This recipe has two patch files located here: 307This recipe has two patch files located here::
311::
312 308
313 poky/meta/recipes-connectivity/bluez5/bluez5 309 poky/meta/recipes-connectivity/bluez5/bluez5
314 310
@@ -323,8 +319,7 @@ and patch files needed to build the package.
323As mentioned earlier, the build system treats files whose file types are 319As mentioned earlier, the build system treats files whose file types are
324``.patch`` and ``.diff`` as patch files. However, you can use the 320``.patch`` and ``.diff`` as patch files. However, you can use the
325"apply=yes" parameter with the ``SRC_URI`` statement to indicate any 321"apply=yes" parameter with the ``SRC_URI`` statement to indicate any
326file as a patch file: 322file as a patch file::
327::
328 323
329 SRC_URI = " \ 324 SRC_URI = " \
330 git://path_to_repo/some_package \ 325 git://path_to_repo/some_package \
@@ -334,8 +329,7 @@ file as a patch file:
334Conversely, if you have a directory full of patch files and you want to 329Conversely, if you have a directory full of patch files and you want to
335exclude some so that the ``do_patch`` task does not apply them during 330exclude some so that the ``do_patch`` task does not apply them during
336the patch phase, you can use the "apply=no" parameter with the 331the patch phase, you can use the "apply=no" parameter with the
337``SRC_URI`` statement: 332``SRC_URI`` statement::
338::
339 333
340 SRC_URI = " \ 334 SRC_URI = " \
341 git://path_to_repo/some_package \ 335 git://path_to_repo/some_package \
@@ -455,8 +449,7 @@ of the recipe exists upstream and a status of not updated, updated, or
455unknown. 449unknown.
456 450
457To check the upstream version and status of a recipe, use the following 451To check the upstream version and status of a recipe, use the following
458devtool commands: 452devtool commands::
459::
460 453
461 $ devtool latest-version 454 $ devtool latest-version
462 $ devtool check-upgrade-status 455 $ devtool check-upgrade-status
@@ -467,8 +460,7 @@ chapter for more information on
467section for information on checking the upgrade status of a recipe. 460section for information on checking the upgrade status of a recipe.
468 461
469To build the ``checkpkg`` task, use the ``bitbake`` command with the 462To build the ``checkpkg`` task, use the ``bitbake`` command with the
470"-c" option and task name: 463"-c" option and task name::
471::
472 464
473 $ bitbake core-image-minimal -c checkpkg 465 $ bitbake core-image-minimal -c checkpkg
474 466
@@ -494,8 +486,7 @@ Removes all output files for a target from the
494:ref:`ref-tasks-install`, and 486:ref:`ref-tasks-install`, and
495:ref:`ref-tasks-package`). 487:ref:`ref-tasks-package`).
496 488
497You can run this task using BitBake as follows: 489You can run this task using BitBake as follows::
498::
499 490
500 $ bitbake -c clean recipe 491 $ bitbake -c clean recipe
501 492
@@ -519,8 +510,7 @@ downloaded source files for a target (i.e. the contents of
519identical to the :ref:`ref-tasks-cleansstate` task 510identical to the :ref:`ref-tasks-cleansstate` task
520with the added removal of downloaded source files. 511with the added removal of downloaded source files.
521 512
522You can run this task using BitBake as follows: 513You can run this task using BitBake as follows::
523::
524 514
525 $ bitbake -c cleanall recipe 515 $ bitbake -c cleanall recipe
526 516
@@ -540,8 +530,7 @@ target. Essentially, the ``do_cleansstate`` task is identical to the
540shared state (:ref:`sstate <overview-manual/concepts:shared state cache>`) 530shared state (:ref:`sstate <overview-manual/concepts:shared state cache>`)
541cache. 531cache.
542 532
543You can run this task using BitBake as follows: 533You can run this task using BitBake as follows::
544::
545 534
546 $ bitbake -c cleansstate recipe 535 $ bitbake -c cleansstate recipe
547 536
@@ -553,8 +542,7 @@ scratch is guaranteed.
553 542
554 The ``do_cleansstate`` task cannot remove sstate from a remote sstate 543 The ``do_cleansstate`` task cannot remove sstate from a remote sstate
555 mirror. If you need to build a target from scratch using remote mirrors, use 544 mirror. If you need to build a target from scratch using remote mirrors, use
556 the "-f" option as follows: 545 the "-f" option as follows::
557 ::
558 546
559 $ bitbake -f -c do_cleansstate target 547 $ bitbake -f -c do_cleansstate target
560 548
@@ -687,8 +675,7 @@ changes made by the user with other methods (i.e. using
687(:ref:`ref-tasks-kernel_menuconfig`). Once the 675(:ref:`ref-tasks-kernel_menuconfig`). Once the
688file of differences is created, it can be used to create a config 676file of differences is created, it can be used to create a config
689fragment that only contains the differences. You can invoke this task 677fragment that only contains the differences. You can invoke this task
690from the command line as follows: 678from the command line as follows::
691::
692 679
693 $ bitbake linux-yocto -c diffconfig 680 $ bitbake linux-yocto -c diffconfig
694 681
@@ -718,8 +705,7 @@ Validates the configuration produced by the
718configuration does not appear in the final ``.config`` file or when you 705configuration does not appear in the final ``.config`` file or when you
719override a policy configuration in a hardware configuration fragment. 706override a policy configuration in a hardware configuration fragment.
720You can run this task explicitly and view the output by using the 707You can run this task explicitly and view the output by using the
721following command: 708following command::
722::
723 709
724 $ bitbake linux-yocto -c kernel_configcheck -f 710 $ bitbake linux-yocto -c kernel_configcheck -f
725 711
@@ -750,8 +736,7 @@ tool, which you then use to modify the kernel configuration.
750 736
751.. note:: 737.. note::
752 738
753 You can also invoke this tool from the command line as follows: 739 You can also invoke this tool from the command line as follows::
754 ::
755 740
756 $ bitbake linux-yocto -c menuconfig 741 $ bitbake linux-yocto -c menuconfig
757 742
@@ -793,8 +778,7 @@ instead of the default defconfig. The saved defconfig contains the
793differences between the default defconfig and the changes made by the 778differences between the default defconfig and the changes made by the
794user using other methods (i.e. the 779user using other methods (i.e. the
795:ref:`ref-tasks-kernel_menuconfig` task. You 780:ref:`ref-tasks-kernel_menuconfig` task. You
796can invoke the task using the following command: 781can invoke the task using the following command::
797::
798 782
799 $ bitbake linux-yocto -c savedefconfig 783 $ bitbake linux-yocto -c savedefconfig
800 784
diff --git a/documentation/ref-manual/terms.rst b/documentation/ref-manual/terms.rst
index 32bb75b271..0af9af6485 100644
--- a/documentation/ref-manual/terms.rst
+++ b/documentation/ref-manual/terms.rst
@@ -26,8 +26,7 @@ universal, the list includes them just in case:
26 26
27 When you name an append file, you can use the "``%``" wildcard character 27 When you name an append file, you can use the "``%``" wildcard character
28 to allow for matching recipe names. For example, suppose you have an 28 to allow for matching recipe names. For example, suppose you have an
29 append file named as follows: 29 append file named as follows::
30 ::
31 30
32 busybox_1.21.%.bbappend 31 busybox_1.21.%.bbappend
33 32
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 9435aec458..64521b89bb 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -24,8 +24,7 @@ system and gives an overview of their function and contents.
24 24
25 ABI extensions are set in the machine include files. For example, the 25 ABI extensions are set in the machine include files. For example, the
26 ``meta/conf/machine/include/arm/arch-arm.inc`` file sets the 26 ``meta/conf/machine/include/arm/arch-arm.inc`` file sets the
27 following extension: 27 following extension::
28 ::
29 28
30 ABIEXTENSION = "eabi" 29 ABIEXTENSION = "eabi"
31 30
@@ -37,8 +36,7 @@ system and gives an overview of their function and contents.
37 requirement on the existence of the package. 36 requirement on the existence of the package.
38 37
39 Like all package-controlling variables, you must always use them in 38 Like all package-controlling variables, you must always use them in
40 conjunction with a package name override, as in: 39 conjunction with a package name override, as in::
41 ::
42 40
43 ALLOW_EMPTY_${PN} = "1" 41 ALLOW_EMPTY_${PN} = "1"
44 ALLOW_EMPTY_${PN}-dev = "1" 42 ALLOW_EMPTY_${PN}-dev = "1"
@@ -54,8 +52,7 @@ system and gives an overview of their function and contents.
54 To use the variable, list out the package's commands that also exist 52 To use the variable, list out the package's commands that also exist
55 as part of another package. For example, if the ``busybox`` package 53 as part of another package. For example, if the ``busybox`` package
56 has four commands that also exist as part of another package, you 54 has four commands that also exist as part of another package, you
57 identify them as follows: 55 identify them as follows::
58 ::
59 56
60 ALTERNATIVE_busybox = "sh sed test bracket" 57 ALTERNATIVE_busybox = "sh sed test bracket"
61 58
@@ -68,8 +65,7 @@ system and gives an overview of their function and contents.
68 locations. For example, if the ``bracket`` command provided by the 65 locations. For example, if the ``bracket`` command provided by the
69 ``busybox`` package is duplicated through another package, you must 66 ``busybox`` package is duplicated through another package, you must
70 use the ``ALTERNATIVE_LINK_NAME`` variable to specify the actual 67 use the ``ALTERNATIVE_LINK_NAME`` variable to specify the actual
71 location: 68 location::
72 ::
73 69
74 ALTERNATIVE_LINK_NAME[bracket] = "/usr/bin/[" 70 ALTERNATIVE_LINK_NAME[bracket] = "/usr/bin/["
75 71
@@ -90,8 +86,7 @@ system and gives an overview of their function and contents.
90 default regardless of the command name or package, a default for 86 default regardless of the command name or package, a default for
91 specific duplicated commands regardless of the package, or a default 87 specific duplicated commands regardless of the package, or a default
92 for specific commands tied to particular packages. Here are the 88 for specific commands tied to particular packages. Here are the
93 available syntax forms: 89 available syntax forms::
94 ::
95 90
96 ALTERNATIVE_PRIORITY = "priority" 91 ALTERNATIVE_PRIORITY = "priority"
97 ALTERNATIVE_PRIORITY[name] = "priority" 92 ALTERNATIVE_PRIORITY[name] = "priority"
@@ -107,8 +102,7 @@ system and gives an overview of their function and contents.
107 default location for all duplicated commands regardless of the 102 default location for all duplicated commands regardless of the
108 command name or package, a default for specific duplicated commands 103 command name or package, a default for specific duplicated commands
109 regardless of the package, or a default for specific commands tied to 104 regardless of the package, or a default for specific commands tied to
110 particular packages. Here are the available syntax forms: 105 particular packages. Here are the available syntax forms::
111 ::
112 106
113 ALTERNATIVE_TARGET = "target" 107 ALTERNATIVE_TARGET = "target"
114 ALTERNATIVE_TARGET[name] = "target" 108 ALTERNATIVE_TARGET[name] = "target"
@@ -159,8 +153,7 @@ system and gives an overview of their function and contents.
159 determines the type of information used to create a released archive. 153 determines the type of information used to create a released archive.
160 You can use this variable to create archives of patched source, 154 You can use this variable to create archives of patched source,
161 original source, configured source, and so forth by employing the 155 original source, configured source, and so forth by employing the
162 following variable flags (varflags): 156 following variable flags (varflags)::
163 ::
164 157
165 ARCHIVER_MODE[src] = "original" # Uses original (unpacked) source files. 158 ARCHIVER_MODE[src] = "original" # Uses original (unpacked) source files.
166 ARCHIVER_MODE[src] = "patched" # Uses patched source files. This is the default. 159 ARCHIVER_MODE[src] = "patched" # Uses patched source files. This is the default.
@@ -193,14 +186,12 @@ system and gives an overview of their function and contents.
193 system. Separate multiple entries using spaces. 186 system. Separate multiple entries using spaces.
194 187
195 As an example, use the following form to add an ``shlib`` provider of 188 As an example, use the following form to add an ``shlib`` provider of
196 shlibname in packagename with the optional version: 189 shlibname in packagename with the optional version::
197 ::
198 190
199 shlibname:packagename[_version] 191 shlibname:packagename[_version]
200 192
201 Here is an example that adds a shared library named ``libEGL.so.1`` 193 Here is an example that adds a shared library named ``libEGL.so.1``
202 as being provided by the ``libegl-implementation`` package: 194 as being provided by the ``libegl-implementation`` package::
203 ::
204 195
205 ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation" 196 ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation"
206 197
@@ -224,8 +215,7 @@ system and gives an overview of their function and contents.
224 215
225 :term:`AUTOREV` 216 :term:`AUTOREV`
226 When ``SRCREV`` is set to the value of this variable, it specifies to 217 When ``SRCREV`` is set to the value of this variable, it specifies to
227 use the latest source revision in the repository. Here is an example: 218 use the latest source revision in the repository. Here is an example::
228 ::
229 219
230 SRCREV = "${AUTOREV}" 220 SRCREV = "${AUTOREV}"
231 221
@@ -286,8 +276,7 @@ system and gives an overview of their function and contents.
286 The directory within the :term:`Build Directory` in 276 The directory within the :term:`Build Directory` in
287 which the OpenEmbedded build system places generated objects during a 277 which the OpenEmbedded build system places generated objects during a
288 recipe's build process. By default, this directory is the same as the 278 recipe's build process. By default, this directory is the same as the
289 :term:`S` directory, which is defined as: 279 :term:`S` directory, which is defined as::
290 ::
291 280
292 S = "${WORKDIR}/${BP}" 281 S = "${WORKDIR}/${BP}"
293 282
@@ -301,15 +290,13 @@ system and gives an overview of their function and contents.
301 packages are packages installed only through the 290 packages are packages installed only through the
302 :term:`RRECOMMENDS` variable. You can prevent any 291 :term:`RRECOMMENDS` variable. You can prevent any
303 of these "recommended" packages from being installed by listing them 292 of these "recommended" packages from being installed by listing them
304 with the ``BAD_RECOMMENDATIONS`` variable: 293 with the ``BAD_RECOMMENDATIONS`` variable::
305 ::
306 294
307 BAD_RECOMMENDATIONS = "package_name package_name package_name ..." 295 BAD_RECOMMENDATIONS = "package_name package_name package_name ..."
308 296
309 You can set this variable globally in your ``local.conf`` file or you 297 You can set this variable globally in your ``local.conf`` file or you
310 can attach it to a specific image recipe by using the recipe name 298 can attach it to a specific image recipe by using the recipe name
311 override: 299 override::
312 ::
313 300
314 BAD_RECOMMENDATIONS_pn-target_image = "package_name" 301 BAD_RECOMMENDATIONS_pn-target_image = "package_name"
315 302
@@ -394,8 +381,7 @@ system and gives an overview of their function and contents.
394 381
395 You can change the default behavior by setting this variable to "1", 382 You can change the default behavior by setting this variable to "1",
396 "yes", or "true" in your ``local.conf`` file, which is located in the 383 "yes", or "true" in your ``local.conf`` file, which is located in the
397 :term:`Build Directory`: Here is an example: 384 :term:`Build Directory`: Here is an example::
398 ::
399 385
400 BB_DANGLINGAPPENDS_WARNONLY = "1" 386 BB_DANGLINGAPPENDS_WARNONLY = "1"
401 387
@@ -444,8 +430,7 @@ system and gives an overview of their function and contents.
444 not specify G, M, or K, Kbytes is assumed by 430 not specify G, M, or K, Kbytes is assumed by
445 default. Do not use GB, MB, or KB. 431 default. Do not use GB, MB, or KB.
446 432
447 Here are some examples: 433 Here are some examples::
448 ::
449 434
450 BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K" 435 BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
451 BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G" 436 BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
@@ -485,8 +470,7 @@ system and gives an overview of their function and contents.
485 470
486 If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you 471 If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you
487 do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk 472 do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk
488 monitoring interval defaults to the following: 473 monitoring interval defaults to the following::
489 ::
490 474
491 BB_DISKMON_WARNINTERVAL = "50M,5K" 475 BB_DISKMON_WARNINTERVAL = "50M,5K"
492 476
@@ -509,8 +493,7 @@ system and gives an overview of their function and contents.
509 G, M, or K for Gbytes, Mbytes, or Kbytes, 493 G, M, or K for Gbytes, Mbytes, or Kbytes,
510 respectively. You cannot use GB, MB, or KB. 494 respectively. You cannot use GB, MB, or KB.
511 495
512 Here is an example: 496 Here is an example::
513 ::
514 497
515 BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K" 498 BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
516 BB_DISKMON_WARNINTERVAL = "50M,5K" 499 BB_DISKMON_WARNINTERVAL = "50M,5K"
@@ -566,8 +549,7 @@ system and gives an overview of their function and contents.
566 long the BitBake server stays resident between invocations. 549 long the BitBake server stays resident between invocations.
567 550
568 For example, the following statement in your ``local.conf`` file 551 For example, the following statement in your ``local.conf`` file
569 instructs the server to be unloaded after 20 seconds of inactivity: 552 instructs the server to be unloaded after 20 seconds of inactivity::
570 ::
571 553
572 BB_SERVER_TIMEOUT = "20" 554 BB_SERVER_TIMEOUT = "20"
573 555
@@ -585,8 +567,7 @@ system and gives an overview of their function and contents.
585 "``multilib:``\ multilib_name". 567 "``multilib:``\ multilib_name".
586 568
587 To build a different variant of the recipe with a minimal amount of 569 To build a different variant of the recipe with a minimal amount of
588 code, it usually is as simple as adding the following to your recipe: 570 code, it usually is as simple as adding the following to your recipe::
589 ::
590 571
591 BBCLASSEXTEND =+ "native nativesdk" 572 BBCLASSEXTEND =+ "native nativesdk"
592 BBCLASSEXTEND =+ "multilib:multilib_name" 573 BBCLASSEXTEND =+ "multilib:multilib_name"
@@ -662,8 +643,7 @@ system and gives an overview of their function and contents.
662 643
663 Use the following form for ``BBFILES_DYNAMIC``: 644 Use the following form for ``BBFILES_DYNAMIC``:
664 collection_name:filename_pattern The following example identifies two 645 collection_name:filename_pattern The following example identifies two
665 collection names and two filename patterns: 646 collection names and two filename patterns::
666 ::
667 647
668 BBFILES_DYNAMIC += " \ 648 BBFILES_DYNAMIC += " \
669 clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \ 649 clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
@@ -691,8 +671,7 @@ system and gives an overview of their function and contents.
691 :term:`BBLAYERS` 671 :term:`BBLAYERS`
692 Lists the layers to enable during the build. This variable is defined 672 Lists the layers to enable during the build. This variable is defined
693 in the ``bblayers.conf`` configuration file in the :term:`Build Directory`. 673 in the ``bblayers.conf`` configuration file in the :term:`Build Directory`.
694 Here is an example: 674 Here is an example::
695 ::
696 675
697 BBLAYERS = " \ 676 BBLAYERS = " \
698 /home/scottrif/poky/meta \ 677 /home/scottrif/poky/meta \
@@ -721,8 +700,7 @@ system and gives an overview of their function and contents.
721 700
722 The following example uses a complete regular expression to tell 701 The following example uses a complete regular expression to tell
723 BitBake to ignore all recipe and recipe append files in the 702 BitBake to ignore all recipe and recipe append files in the
724 ``meta-ti/recipes-misc/`` directory: 703 ``meta-ti/recipes-misc/`` directory::
725 ::
726 704
727 BBMASK = "meta-ti/recipes-misc/" 705 BBMASK = "meta-ti/recipes-misc/"
728 706
@@ -746,8 +724,7 @@ system and gives an overview of their function and contents.
746 building targets with multiple configurations. Use this variable in 724 building targets with multiple configurations. Use this variable in
747 your ``conf/local.conf`` configuration file. Specify a 725 your ``conf/local.conf`` configuration file. Specify a
748 multiconfigname for each configuration file you are using. For 726 multiconfigname for each configuration file you are using. For
749 example, the following line specifies three configuration files: 727 example, the following line specifies three configuration files::
750 ::
751 728
752 BBMULTICONFIG = "configA configB configC" 729 BBMULTICONFIG = "configA configB configC"
753 730
@@ -770,8 +747,7 @@ system and gives an overview of their function and contents.
770 If you run BitBake from a directory outside of the 747 If you run BitBake from a directory outside of the
771 :term:`Build Directory`, you must be sure to set ``BBPATH`` 748 :term:`Build Directory`, you must be sure to set ``BBPATH``
772 to point to the Build Directory. Set the variable as you would any 749 to point to the Build Directory. Set the variable as you would any
773 environment variable and then run BitBake: 750 environment variable and then run BitBake::
774 ::
775 751
776 $ BBPATH = "build_directory" 752 $ BBPATH = "build_directory"
777 $ export BBPATH 753 $ export BBPATH
@@ -783,8 +759,7 @@ system and gives an overview of their function and contents.
783 BitBake remote server. 759 BitBake remote server.
784 760
785 Use the following format to export the variable to the BitBake 761 Use the following format to export the variable to the BitBake
786 environment: 762 environment::
787 ::
788 763
789 export BBSERVER=localhost:$port 764 export BBSERVER=localhost:$port
790 765
@@ -803,8 +778,7 @@ system and gives an overview of their function and contents.
803 replaced. 778 replaced.
804 779
805 To add multiple scripts, separate them by spaces. Here is an example 780 To add multiple scripts, separate them by spaces. Here is an example
806 from the ``libpng`` recipe: 781 from the ``libpng`` recipe::
807 ::
808 782
809 BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" 783 BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config"
810 784
@@ -834,8 +808,7 @@ system and gives an overview of their function and contents.
834 :term:`BP` 808 :term:`BP`
835 The base recipe name and version but without any special recipe name 809 The base recipe name and version but without any special recipe name
836 suffix (i.e. ``-native``, ``lib64-``, and so forth). ``BP`` is 810 suffix (i.e. ``-native``, ``lib64-``, and so forth). ``BP`` is
837 comprised of the following: 811 comprised of the following::
838 ::
839 812
840 ${BPN}-${PV} 813 ${BPN}-${PV}
841 814
@@ -975,8 +948,7 @@ system and gives an overview of their function and contents.
975 you should set this value to "1". 948 you should set this value to "1".
976 949
977 By default, the ``buildhistory`` class does not commit the build 950 By default, the ``buildhistory`` class does not commit the build
978 history output in a local Git repository: 951 history output in a local Git repository::
979 ::
980 952
981 BUILDHISTORY_COMMIT ?= "0" 953 BUILDHISTORY_COMMIT ?= "0"
982 954
@@ -992,8 +964,7 @@ system and gives an overview of their function and contents.
992 email@host". Providing an email address or host that is not valid 964 email@host". Providing an email address or host that is not valid
993 does not produce an error. 965 does not produce an error.
994 966
995 By default, the ``buildhistory`` class sets the variable as follows: 967 By default, the ``buildhistory`` class sets the variable as follows::
996 ::
997 968
998 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>" 969 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
999 970
@@ -1003,8 +974,7 @@ system and gives an overview of their function and contents.
1003 information is kept. For more information on how the variable works, 974 information is kept. For more information on how the variable works,
1004 see the ``buildhistory.class``. 975 see the ``buildhistory.class``.
1005 976
1006 By default, the ``buildhistory`` class sets the directory as follows: 977 By default, the ``buildhistory`` class sets the directory as follows::
1007 ::
1008 978
1009 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" 979 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
1010 980
@@ -1032,8 +1002,7 @@ system and gives an overview of their function and contents.
1032 each file staged (i.e. the output of the task). 1002 each file staged (i.e. the output of the task).
1033 1003
1034 By default, the ``buildhistory`` class enables the following 1004 By default, the ``buildhistory`` class enables the following
1035 features: 1005 features::
1036 ::
1037 1006
1038 BUILDHISTORY_FEATURES ?= "image package sdk" 1007 BUILDHISTORY_FEATURES ?= "image package sdk"
1039 1008
@@ -1049,8 +1018,7 @@ system and gives an overview of their function and contents.
1049 Consequently, you can include files that might not always be present. 1018 Consequently, you can include files that might not always be present.
1050 1019
1051 By default, the ``buildhistory`` class provides paths to the 1020 By default, the ``buildhistory`` class provides paths to the
1052 following files: 1021 following files::
1053 ::
1054 1022
1055 BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" 1023 BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
1056 1024
@@ -1067,8 +1035,7 @@ system and gives an overview of their function and contents.
1067 that you have set up manually using ``git remote`` within the local 1035 that you have set up manually using ``git remote`` within the local
1068 repository. 1036 repository.
1069 1037
1070 By default, the ``buildhistory`` class sets the variable as follows: 1038 By default, the ``buildhistory`` class sets the variable as follows::
1071 ::
1072 1039
1073 BUILDHISTORY_PUSH_REPO ?= "" 1040 BUILDHISTORY_PUSH_REPO ?= ""
1074 1041
@@ -1152,8 +1119,7 @@ system and gives an overview of their function and contents.
1152 ``bitbake.conf`` file. 1119 ``bitbake.conf`` file.
1153 1120
1154 As an example, the following override allows you to install extra 1121 As an example, the following override allows you to install extra
1155 files, but only when building for the target: 1122 files, but only when building for the target::
1156 ::
1157 1123
1158 do_install_append_class-target() { 1124 do_install_append_class-target() {
1159 install my-extra-file ${D}${sysconfdir} 1125 install my-extra-file ${D}${sysconfdir}
@@ -1161,8 +1127,7 @@ system and gives an overview of their function and contents.
1161 1127
1162 Here is an example where ``FOO`` is set to 1128 Here is an example where ``FOO`` is set to
1163 "native" when building for the build host, and to "other" when not 1129 "native" when building for the build host, and to "other" when not
1164 building for the build host: 1130 building for the build host::
1165 ::
1166 1131
1167 FOO_class-native = "native" 1132 FOO_class-native = "native"
1168 FOO = "other" 1133 FOO = "other"
@@ -1235,8 +1200,7 @@ system and gives an overview of their function and contents.
1235 1200
1236 To add a new feature item pointing to a wildcard, use a variable flag 1201 To add a new feature item pointing to a wildcard, use a variable flag
1237 to specify the feature item name and use the value to specify the 1202 to specify the feature item name and use the value to specify the
1238 wildcard. Here is an example: 1203 wildcard. Here is an example::
1239 ::
1240 1204
1241 COMPLEMENTARY_GLOB[dev-pkgs] = '*-dev' 1205 COMPLEMENTARY_GLOB[dev-pkgs] = '*-dev'
1242 1206
@@ -1268,8 +1232,7 @@ system and gives an overview of their function and contents.
1268 1232
1269 To use the ``CONFFILES`` variable, provide a package name override 1233 To use the ``CONFFILES`` variable, provide a package name override
1270 that identifies the resulting package. Then, provide a 1234 that identifies the resulting package. Then, provide a
1271 space-separated list of files. Here is an example: 1235 space-separated list of files. Here is an example::
1272 ::
1273 1236
1274 CONFFILES_${PN} += "${sysconfdir}/file1 \ 1237 CONFFILES_${PN} += "${sysconfdir}/file1 \
1275 ${sysconfdir}/file2 ${sysconfdir}/file3" 1238 ${sysconfdir}/file2 ${sysconfdir}/file3"
@@ -1524,8 +1487,7 @@ system and gives an overview of their function and contents.
1524 The destination directory. The location in the :term:`Build Directory` 1487 The destination directory. The location in the :term:`Build Directory`
1525 where components are installed by the 1488 where components are installed by the
1526 :ref:`ref-tasks-install` task. This location defaults 1489 :ref:`ref-tasks-install` task. This location defaults
1527 to: 1490 to::
1528 ::
1529 1491
1530 ${WORKDIR}/image 1492 ${WORKDIR}/image
1531 1493
@@ -1547,8 +1509,7 @@ system and gives an overview of their function and contents.
1547 which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a 1509 which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a
1548 particular package should not be renamed according to Debian library 1510 particular package should not be renamed according to Debian library
1549 package naming. You must use the package name as an override when you 1511 package naming. You must use the package name as an override when you
1550 set this variable. Here is an example from the ``fontconfig`` recipe: 1512 set this variable. Here is an example from the ``fontconfig`` recipe::
1551 ::
1552 1513
1553 DEBIAN_NOAUTONAME_fontconfig-utils = "1" 1514 DEBIAN_NOAUTONAME_fontconfig-utils = "1"
1554 1515
@@ -1558,8 +1519,7 @@ system and gives an overview of their function and contents.
1558 the library name for an individual package. Overriding the library 1519 the library name for an individual package. Overriding the library
1559 name in these cases is rare. You must use the package name as an 1520 name in these cases is rare. You must use the package name as an
1560 override when you set this variable. Here is an example from the 1521 override when you set this variable. Here is an example from the
1561 ``dbus`` recipe: 1522 ``dbus`` recipe::
1562 ::
1563 1523
1564 DEBIANNAME_${PN} = "dbus-1" 1524 DEBIANNAME_${PN} = "dbus-1"
1565 1525
@@ -1610,8 +1570,7 @@ system and gives an overview of their function and contents.
1610 needed by the recipe at build time. 1570 needed by the recipe at build time.
1611 1571
1612 As an example, consider a recipe ``foo`` that contains the following 1572 As an example, consider a recipe ``foo`` that contains the following
1613 assignment: 1573 assignment::
1614 ::
1615 1574
1616 DEPENDS = "bar" 1575 DEPENDS = "bar"
1617 1576
@@ -1635,8 +1594,7 @@ system and gives an overview of their function and contents.
1635 As another example, ``DEPENDS`` can also be used to add utilities 1594 As another example, ``DEPENDS`` can also be used to add utilities
1636 that run on the build machine during the build. For example, a recipe 1595 that run on the build machine during the build. For example, a recipe
1637 that makes use of a code generator built by the recipe ``codegen`` 1596 that makes use of a code generator built by the recipe ``codegen``
1638 might have the following: 1597 might have the following::
1639 ::
1640 1598
1641 DEPENDS = "codegen-native" 1599 DEPENDS = "codegen-native"
1642 1600
@@ -1702,8 +1660,7 @@ system and gives an overview of their function and contents.
1702 1660
1703 The BitBake configuration file initially defines the 1661 The BitBake configuration file initially defines the
1704 ``DEPLOY_DIR_DEB`` variable as a sub-folder of 1662 ``DEPLOY_DIR_DEB`` variable as a sub-folder of
1705 :term:`DEPLOY_DIR`: 1663 :term:`DEPLOY_DIR`::
1706 ::
1707 1664
1708 DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" 1665 DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
1709 1666
@@ -1738,8 +1695,7 @@ system and gives an overview of their function and contents.
1738 "package_ipk". 1695 "package_ipk".
1739 1696
1740 The BitBake configuration file initially defines this variable as a 1697 The BitBake configuration file initially defines this variable as a
1741 sub-folder of :term:`DEPLOY_DIR`: 1698 sub-folder of :term:`DEPLOY_DIR`::
1742 ::
1743 1699
1744 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" 1700 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
1745 1701
@@ -1759,8 +1715,7 @@ system and gives an overview of their function and contents.
1759 "package_rpm". 1715 "package_rpm".
1760 1716
1761 The BitBake configuration file initially defines this variable as a 1717 The BitBake configuration file initially defines this variable as a
1762 sub-folder of :term:`DEPLOY_DIR`: 1718 sub-folder of :term:`DEPLOY_DIR`::
1763 ::
1764 1719
1765 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" 1720 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
1766 1721
@@ -1780,8 +1735,7 @@ system and gives an overview of their function and contents.
1780 "package_tar". 1735 "package_tar".
1781 1736
1782 The BitBake configuration file initially defines this variable as a 1737 The BitBake configuration file initially defines this variable as a
1783 sub-folder of :term:`DEPLOY_DIR`: 1738 sub-folder of :term:`DEPLOY_DIR`::
1784 ::
1785 1739
1786 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" 1740 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
1787 1741
@@ -1796,8 +1750,7 @@ system and gives an overview of their function and contents.
1796 :term:`DEPLOYDIR` 1750 :term:`DEPLOYDIR`
1797 When inheriting the :ref:`deploy <ref-classes-deploy>` class, the 1751 When inheriting the :ref:`deploy <ref-classes-deploy>` class, the
1798 ``DEPLOYDIR`` points to a temporary work area for deployed files that 1752 ``DEPLOYDIR`` points to a temporary work area for deployed files that
1799 is set in the ``deploy`` class as follows: 1753 is set in the ``deploy`` class as follows::
1800 ::
1801 1754
1802 DEPLOYDIR = "${WORKDIR}/deploy-${PN}" 1755 DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
1803 1756
@@ -1824,8 +1777,7 @@ system and gives an overview of their function and contents.
1824 :term:`Source Directory`. 1777 :term:`Source Directory`.
1825 1778
1826 Within that ``poky.conf`` file, the ``DISTRO`` variable is set as 1779 Within that ``poky.conf`` file, the ``DISTRO`` variable is set as
1827 follows: 1780 follows::
1828 ::
1829 1781
1830 DISTRO = "poky" 1782 DISTRO = "poky"
1831 1783
@@ -1899,8 +1851,7 @@ system and gives an overview of their function and contents.
1899 able to reuse the default 1851 able to reuse the default
1900 :term:`DISTRO_FEATURES` options without the 1852 :term:`DISTRO_FEATURES` options without the
1901 need to write out the full set. Here is an example that uses 1853 need to write out the full set. Here is an example that uses
1902 ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file: 1854 ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file::
1903 ::
1904 1855
1905 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature" 1856 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature"
1906 1857
@@ -1948,8 +1899,7 @@ system and gives an overview of their function and contents.
1948 of the :term:`Source Directory`. 1899 of the :term:`Source Directory`.
1949 1900
1950 Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set 1901 Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set
1951 as follows: 1902 as follows::
1952 ::
1953 1903
1954 DISTRO_NAME = "Poky (Yocto Project Reference Distro)" 1904 DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
1955 1905
@@ -2065,8 +2015,7 @@ system and gives an overview of their function and contents.
2065 2015
2066 You can set ``ERR_REPORT_DIR`` to the path you want the error 2016 You can set ``ERR_REPORT_DIR`` to the path you want the error
2067 reporting tool to store the debug files as follows in your 2017 reporting tool to store the debug files as follows in your
2068 ``local.conf`` file: 2018 ``local.conf`` file::
2069 ::
2070 2019
2071 ERR_REPORT_DIR = "path" 2020 ERR_REPORT_DIR = "path"
2072 2021
@@ -2094,8 +2043,7 @@ system and gives an overview of their function and contents.
2094 package's particular libraries only and not the whole package. 2043 package's particular libraries only and not the whole package.
2095 2044
2096 Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a 2045 Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a
2097 particular package: 2046 particular package::
2098 ::
2099 2047
2100 EXCLUDE_FROM_SHLIBS = "1" 2048 EXCLUDE_FROM_SHLIBS = "1"
2101 2049
@@ -2129,8 +2077,7 @@ system and gives an overview of their function and contents.
2129 The full package version specification as it appears on the final 2077 The full package version specification as it appears on the final
2130 packages produced by a recipe. The variable's value is normally used 2078 packages produced by a recipe. The variable's value is normally used
2131 to fix a runtime dependency to the exact same version of another 2079 to fix a runtime dependency to the exact same version of another
2132 package in the same recipe: 2080 package in the same recipe::
2133 ::
2134 2081
2135 RDEPENDS_${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" 2082 RDEPENDS_${PN}-additional-module = "${PN} (= ${EXTENDPKGV})"
2136 2083
@@ -2230,8 +2177,7 @@ system and gives an overview of their function and contents.
2230 Specifies additional options for the image creation command that has 2177 Specifies additional options for the image creation command that has
2231 been specified in :term:`IMAGE_CMD`. When setting 2178 been specified in :term:`IMAGE_CMD`. When setting
2232 this variable, use an override for the associated image type. Here is 2179 this variable, use an override for the associated image type. Here is
2233 an example: 2180 an example::
2234 ::
2235 2181
2236 EXTRA_IMAGECMD_ext3 ?= "-i 4096" 2182 EXTRA_IMAGECMD_ext3 ?= "-i 4096"
2237 2183
@@ -2255,8 +2201,7 @@ system and gives an overview of their function and contents.
2255 added to the beginning of the environment variable ``PATH``. As an 2201 added to the beginning of the environment variable ``PATH``. As an
2256 example, the following prepends 2202 example, the following prepends
2257 "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to 2203 "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to
2258 ``PATH``: 2204 ``PATH``::
2259 ::
2260 2205
2261 EXTRANATIVEPATH = "foo bar" 2206 EXTRANATIVEPATH = "foo bar"
2262 2207
@@ -2294,8 +2239,7 @@ system and gives an overview of their function and contents.
2294 2239
2295 The set list of commands you can configure using the 2240 The set list of commands you can configure using the
2296 ``EXTRA_USERS_PARAMS`` is shown in the ``extrausers`` class. These 2241 ``EXTRA_USERS_PARAMS`` is shown in the ``extrausers`` class. These
2297 commands map to the normal Unix commands of the same names: 2242 commands map to the normal Unix commands of the same names::
2298 ::
2299 2243
2300 # EXTRA_USERS_PARAMS = "\ 2244 # EXTRA_USERS_PARAMS = "\
2301 # useradd -p '' tester; \ 2245 # useradd -p '' tester; \
@@ -2321,8 +2265,7 @@ system and gives an overview of their function and contents.
2321 Defines one or more packages to include in an image when a specific 2265 Defines one or more packages to include in an image when a specific
2322 item is included in :term:`IMAGE_FEATURES`. 2266 item is included in :term:`IMAGE_FEATURES`.
2323 When setting the value, ``FEATURE_PACKAGES`` should have the name of 2267 When setting the value, ``FEATURE_PACKAGES`` should have the name of
2324 the feature item as an override. Here is an example: 2268 the feature item as an override. Here is an example::
2325 ::
2326 2269
2327 FEATURE_PACKAGES_widget = "package1 package2" 2270 FEATURE_PACKAGES_widget = "package1 package2"
2328 2271
@@ -2342,8 +2285,7 @@ system and gives an overview of their function and contents.
2342 OPKG to support runtime package management of IPK packages. You set 2285 OPKG to support runtime package management of IPK packages. You set
2343 this variable in your ``local.conf`` file. 2286 this variable in your ``local.conf`` file.
2344 2287
2345 Consider the following example: 2288 Consider the following example::
2346 ::
2347 2289
2348 FEED_DEPLOYDIR_BASE_URI = "http://192.168.7.1/BOARD-dir" 2290 FEED_DEPLOYDIR_BASE_URI = "http://192.168.7.1/BOARD-dir"
2349 2291
@@ -2362,8 +2304,7 @@ system and gives an overview of their function and contents.
2362 To use the ``FILES`` variable, provide a package name override that 2304 To use the ``FILES`` variable, provide a package name override that
2363 identifies the resulting package. Then, provide a space-separated 2305 identifies the resulting package. Then, provide a space-separated
2364 list of files or paths that identify the files you want included as 2306 list of files or paths that identify the files you want included as
2365 part of the resulting package. Here is an example: 2307 part of the resulting package. Here is an example::
2366 ::
2367 2308
2368 FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" 2309 FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile"
2369 2310
@@ -2398,8 +2339,7 @@ system and gives an overview of their function and contents.
2398 symbolic link (symlink) for shared libraries on the target platform. 2339 symbolic link (symlink) for shared libraries on the target platform.
2399 2340
2400 The following statement from the ``bitbake.conf`` shows how it is 2341 The following statement from the ``bitbake.conf`` shows how it is
2401 set: 2342 set::
2402 ::
2403 2343
2404 FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}" 2344 FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}"
2405 2345
@@ -2413,8 +2353,7 @@ system and gives an overview of their function and contents.
2413 2353
2414 Best practices dictate that you accomplish this by using 2354 Best practices dictate that you accomplish this by using
2415 ``FILESEXTRAPATHS`` from within a ``.bbappend`` file and that you 2355 ``FILESEXTRAPATHS`` from within a ``.bbappend`` file and that you
2416 prepend paths as follows: 2356 prepend paths as follows::
2417 ::
2418 2357
2419 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2358 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2420 2359
@@ -2436,8 +2375,7 @@ system and gives an overview of their function and contents.
2436 are directing BitBake to extend the path by prepending directories 2375 are directing BitBake to extend the path by prepending directories
2437 to the search path. 2376 to the search path.
2438 2377
2439 Here is another common use: 2378 Here is another common use::
2440 ::
2441 2379
2442 FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 2380 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2443 2381
@@ -2445,15 +2383,13 @@ system and gives an overview of their function and contents.
2445 ``FILESPATH`` variable to include a directory named ``files`` that is 2383 ``FILESPATH`` variable to include a directory named ``files`` that is
2446 in the same directory as the corresponding append file. 2384 in the same directory as the corresponding append file.
2447 2385
2448 This next example specifically adds three paths: 2386 This next example specifically adds three paths::
2449 ::
2450 2387
2451 FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" 2388 FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:"
2452 2389
2453 A final example shows how you can extend the search path and include 2390 A final example shows how you can extend the search path and include
2454 a :term:`MACHINE`-specific override, which is useful 2391 a :term:`MACHINE`-specific override, which is useful
2455 in a BSP layer: 2392 in a BSP layer::
2456 ::
2457 2393
2458 FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" 2394 FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2459 2395
@@ -2485,8 +2421,7 @@ system and gives an overview of their function and contents.
2485 ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" 2421 ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`"
2486 section of the BitBake User Manual. 2422 section of the BitBake User Manual.
2487 2423
2488 By default, the ``FILESOVERRIDES`` variable is defined as: 2424 By default, the ``FILESOVERRIDES`` variable is defined as::
2489 ::
2490 2425
2491 FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}" 2426 FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
2492 2427
@@ -2507,8 +2442,7 @@ system and gives an overview of their function and contents.
2507 2442
2508 The default value for the ``FILESPATH`` variable is defined in the 2443 The default value for the ``FILESPATH`` variable is defined in the
2509 ``base.bbclass`` class found in ``meta/classes`` in the 2444 ``base.bbclass`` class found in ``meta/classes`` in the
2510 :term:`Source Directory`: 2445 :term:`Source Directory`::
2511 ::
2512 2446
2513 FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \ 2447 FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \
2514 "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" 2448 "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
@@ -2533,8 +2467,7 @@ system and gives an overview of their function and contents.
2533 2467
2534 You can take advantage of this searching behavior in useful ways. For 2468 You can take advantage of this searching behavior in useful ways. For
2535 example, consider a case where the following directory structure 2469 example, consider a case where the following directory structure
2536 exists for general and machine-specific configurations: 2470 exists for general and machine-specific configurations::
2537 ::
2538 2471
2539 files/defconfig 2472 files/defconfig
2540 files/MACHINEA/defconfig 2473 files/MACHINEA/defconfig
@@ -2662,16 +2595,14 @@ system and gives an overview of their function and contents.
2662 Programming (ROP) attacks much more difficult to execute. 2595 Programming (ROP) attacks much more difficult to execute.
2663 2596
2664 By default the ``security_flags.inc`` file enables PIE by setting the 2597 By default the ``security_flags.inc`` file enables PIE by setting the
2665 variable as follows: 2598 variable as follows::
2666 ::
2667 2599
2668 GCCPIE ?= "--enable-default-pie" 2600 GCCPIE ?= "--enable-default-pie"
2669 2601
2670 :term:`GCCVERSION` 2602 :term:`GCCVERSION`
2671 Specifies the default version of the GNU C Compiler (GCC) used for 2603 Specifies the default version of the GNU C Compiler (GCC) used for
2672 compilation. By default, ``GCCVERSION`` is set to "8.x" in the 2604 compilation. By default, ``GCCVERSION`` is set to "8.x" in the
2673 ``meta/conf/distro/include/tcmode-default.inc`` include file: 2605 ``meta/conf/distro/include/tcmode-default.inc`` include file::
2674 ::
2675 2606
2676 GCCVERSION ?= "8.%" 2607 GCCVERSION ?= "8.%"
2677 2608
@@ -2706,8 +2637,7 @@ system and gives an overview of their function and contents.
2706 passed to the ``groupadd`` command if you wish to add a group to the 2637 passed to the ``groupadd`` command if you wish to add a group to the
2707 system when the package is installed. 2638 system when the package is installed.
2708 2639
2709 Here is an example from the ``dbus`` recipe: 2640 Here is an example from the ``dbus`` recipe::
2710 ::
2711 2641
2712 GROUPADD_PARAM_${PN} = "-r netdev" 2642 GROUPADD_PARAM_${PN} = "-r netdev"
2713 2643
@@ -2855,13 +2785,11 @@ system and gives an overview of their function and contents.
2855 section. 2785 section.
2856 2786
2857 Setting this variable to "1" in your ``local.conf`` disables the 2787 Setting this variable to "1" in your ``local.conf`` disables the
2858 function: 2788 function::
2859 ::
2860 2789
2861 ICECC_DISABLED ??= "1" 2790 ICECC_DISABLED ??= "1"
2862 2791
2863 To enable the function, set the variable as follows: 2792 To enable the function, set the variable as follows::
2864 ::
2865 2793
2866 ICECC_DISABLED = "" 2794 ICECC_DISABLED = ""
2867 2795
@@ -2946,8 +2874,7 @@ system and gives an overview of their function and contents.
2946 installed name, separate it from the original name with a semi-colon 2874 installed name, separate it from the original name with a semi-colon
2947 (;). Source files need to be located in 2875 (;). Source files need to be located in
2948 :term:`DEPLOY_DIR_IMAGE`. Here are two 2876 :term:`DEPLOY_DIR_IMAGE`. Here are two
2949 examples: 2877 examples::
2950 ::
2951 2878
2952 IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE};bz2" 2879 IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE};bz2"
2953 IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE} microcode.cpio" 2880 IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE} microcode.cpio"
@@ -2956,8 +2883,7 @@ system and gives an overview of their function and contents.
2956 this case, the destination file must have the same name as the base 2883 this case, the destination file must have the same name as the base
2957 name of the source file path. To install files into a directory 2884 name of the source file path. To install files into a directory
2958 within the target location, pass its name after a semi-colon (;). 2885 within the target location, pass its name after a semi-colon (;).
2959 Here are two examples: 2886 Here are two examples::
2960 ::
2961 2887
2962 IMAGE_EFI_BOOT_FILES = "boot/loader/*" 2888 IMAGE_EFI_BOOT_FILES = "boot/loader/*"
2963 IMAGE_EFI_BOOT_FILES = "boot/loader/*;boot/" 2889 IMAGE_EFI_BOOT_FILES = "boot/loader/*;boot/"
@@ -2982,8 +2908,7 @@ system and gives an overview of their function and contents.
2982 installed name, separate it from the original name with a semi-colon 2908 installed name, separate it from the original name with a semi-colon
2983 (;). Source files need to be located in 2909 (;). Source files need to be located in
2984 :term:`DEPLOY_DIR_IMAGE`. Here are two 2910 :term:`DEPLOY_DIR_IMAGE`. Here are two
2985 examples: 2911 examples::
2986 ::
2987 2912
2988 IMAGE_BOOT_FILES = "u-boot.img uImage;kernel" 2913 IMAGE_BOOT_FILES = "u-boot.img uImage;kernel"
2989 IMAGE_BOOT_FILES = "u-boot.${UBOOT_SUFFIX} ${KERNEL_IMAGETYPE}" 2914 IMAGE_BOOT_FILES = "u-boot.${UBOOT_SUFFIX} ${KERNEL_IMAGETYPE}"
@@ -2992,8 +2917,7 @@ system and gives an overview of their function and contents.
2992 this case, the destination file must have the same name as the base 2917 this case, the destination file must have the same name as the base
2993 name of the source file path. To install files into a directory 2918 name of the source file path. To install files into a directory
2994 within the target location, pass its name after a semi-colon (;). 2919 within the target location, pass its name after a semi-colon (;).
2995 Here are two examples: 2920 Here are two examples::
2996 ::
2997 2921
2998 IMAGE_BOOT_FILES = "bcm2835-bootfiles/*" 2922 IMAGE_BOOT_FILES = "bcm2835-bootfiles/*"
2999 IMAGE_BOOT_FILES = "bcm2835-bootfiles/*;boot/" 2923 IMAGE_BOOT_FILES = "bcm2835-bootfiles/*;boot/"
@@ -3026,8 +2950,7 @@ system and gives an overview of their function and contents.
3026 type, which corresponds to the value set in 2950 type, which corresponds to the value set in
3027 :term:`IMAGE_FSTYPES`, (e.g. ``ext3``, 2951 :term:`IMAGE_FSTYPES`, (e.g. ``ext3``,
3028 ``btrfs``, and so forth). When setting this variable, you should use 2952 ``btrfs``, and so forth). When setting this variable, you should use
3029 an override for the associated type. Here is an example: 2953 an override for the associated type. Here is an example::
3030 ::
3031 2954
3032 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \ 2955 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \
3033 --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ 2956 --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
@@ -3071,8 +2994,7 @@ system and gives an overview of their function and contents.
3071 Specifies the formats the OpenEmbedded build system uses during the 2994 Specifies the formats the OpenEmbedded build system uses during the
3072 build when creating the root filesystem. For example, setting 2995 build when creating the root filesystem. For example, setting
3073 ``IMAGE_FSTYPES`` as follows causes the build system to create root 2996 ``IMAGE_FSTYPES`` as follows causes the build system to create root
3074 filesystems using two formats: ``.ext3`` and ``.tar.bz2``: 2997 filesystems using two formats: ``.ext3`` and ``.tar.bz2``::
3075 ::
3076 2998
3077 IMAGE_FSTYPES = "ext3 tar.bz2" 2999 IMAGE_FSTYPES = "ext3 tar.bz2"
3078 3000
@@ -3103,8 +3025,7 @@ system and gives an overview of their function and contents.
3103 auto-generated entries in ``IMAGE_INSTALL`` in addition to its 3025 auto-generated entries in ``IMAGE_INSTALL`` in addition to its
3104 default contents. 3026 default contents.
3105 3027
3106 When you use this variable, it is best to use it as follows: 3028 When you use this variable, it is best to use it as follows::
3107 ::
3108 3029
3109 IMAGE_INSTALL_append = " package-name" 3030 IMAGE_INSTALL_append = " package-name"
3110 3031
@@ -3147,8 +3068,7 @@ system and gives an overview of their function and contents.
3147 into separate packages. Setting the ``IMAGE_LINGUAS`` variable 3068 into separate packages. Setting the ``IMAGE_LINGUAS`` variable
3148 ensures that any locale packages that correspond to packages already 3069 ensures that any locale packages that correspond to packages already
3149 selected for installation into the image are also installed. Here is 3070 selected for installation into the image are also installed. Here is
3150 an example: 3071 an example::
3151 ::
3152 3072
3153 IMAGE_LINGUAS = "pt-br de-de" 3073 IMAGE_LINGUAS = "pt-br de-de"
3154 3074
@@ -3167,8 +3087,7 @@ system and gives an overview of their function and contents.
3167 The name of the output image symlink (which does not include 3087 The name of the output image symlink (which does not include
3168 the version part as :term:`IMAGE_NAME` does). The default value 3088 the version part as :term:`IMAGE_NAME` does). The default value
3169 is derived using the :term:`IMAGE_BASENAME` and :term:`MACHINE` 3089 is derived using the :term:`IMAGE_BASENAME` and :term:`MACHINE`
3170 variables: 3090 variables::
3171 ::
3172 3091
3173 IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}" 3092 IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
3174 3093
@@ -3176,14 +3095,12 @@ system and gives an overview of their function and contents.
3176 :term:`IMAGE_MANIFEST` 3095 :term:`IMAGE_MANIFEST`
3177 The manifest file for the image. This file lists all the installed 3096 The manifest file for the image. This file lists all the installed
3178 packages that make up the image. The file contains package 3097 packages that make up the image. The file contains package
3179 information on a line-per-package basis as follows: 3098 information on a line-per-package basis as follows::
3180 ::
3181 3099
3182 packagename packagearch version 3100 packagename packagearch version
3183 3101
3184 The :ref:`image <ref-classes-image>` class defines the manifest 3102 The :ref:`image <ref-classes-image>` class defines the manifest
3185 file as follows: 3103 file as follows::
3186 ::
3187 3104
3188 IMAGE_MANIFEST ="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest" 3105 IMAGE_MANIFEST ="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest"
3189 3106
@@ -3197,8 +3114,7 @@ system and gives an overview of their function and contents.
3197 The name of the output image files minus the extension. This variable 3114 The name of the output image files minus the extension. This variable
3198 is derived using the :term:`IMAGE_BASENAME`, 3115 is derived using the :term:`IMAGE_BASENAME`,
3199 :term:`MACHINE`, and :term:`IMAGE_VERSION_SUFFIX` 3116 :term:`MACHINE`, and :term:`IMAGE_VERSION_SUFFIX`
3200 variables: 3117 variables::
3201 ::
3202 3118
3203 IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3119 IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3204 3120
@@ -3229,8 +3145,7 @@ system and gives an overview of their function and contents.
3229 to boot and allows for basic post installs while still leaving a 3145 to boot and allows for basic post installs while still leaving a
3230 small amount of free disk space. If 30% free space is inadequate, you 3146 small amount of free disk space. If 30% free space is inadequate, you
3231 can increase the default value. For example, the following setting 3147 can increase the default value. For example, the following setting
3232 gives you 50% free space added to the image: 3148 gives you 50% free space added to the image::
3233 ::
3234 3149
3235 IMAGE_OVERHEAD_FACTOR = "1.5" 3150 IMAGE_OVERHEAD_FACTOR = "1.5"
3236 3151
@@ -3271,8 +3186,7 @@ system and gives an overview of their function and contents.
3271 :term:`IMAGE_POSTPROCESS_COMMAND` 3186 :term:`IMAGE_POSTPROCESS_COMMAND`
3272 Specifies a list of functions to call once the OpenEmbedded build 3187 Specifies a list of functions to call once the OpenEmbedded build
3273 system creates the final image output files. You can specify 3188 system creates the final image output files. You can specify
3274 functions separated by semicolons: 3189 functions separated by semicolons::
3275 ::
3276 3190
3277 IMAGE_POSTPROCESS_COMMAND += "function; ... " 3191 IMAGE_POSTPROCESS_COMMAND += "function; ... "
3278 3192
@@ -3285,8 +3199,7 @@ system and gives an overview of their function and contents.
3285 :term:`IMAGE_PREPROCESS_COMMAND` 3199 :term:`IMAGE_PREPROCESS_COMMAND`
3286 Specifies a list of functions to call before the OpenEmbedded build 3200 Specifies a list of functions to call before the OpenEmbedded build
3287 system creates the final image output files. You can specify 3201 system creates the final image output files. You can specify
3288 functions separated by semicolons: 3202 functions separated by semicolons::
3289 ::
3290 3203
3291 IMAGE_PREPROCESS_COMMAND += "function; ... " 3204 IMAGE_PREPROCESS_COMMAND += "function; ... "
3292 3205
@@ -3317,14 +3230,12 @@ system and gives an overview of their function and contents.
3317 This variable is particularly useful when you want to ensure that a 3230 This variable is particularly useful when you want to ensure that a
3318 specific amount of free disk space is available on a device after an 3231 specific amount of free disk space is available on a device after an
3319 image is installed and running. For example, to be sure 5 Gbytes of 3232 image is installed and running. For example, to be sure 5 Gbytes of
3320 free disk space is available, set the variable as follows: 3233 free disk space is available, set the variable as follows::
3321 ::
3322 3234
3323 IMAGE_ROOTFS_EXTRA_SPACE = "5242880" 3235 IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
3324 3236
3325 For example, the Yocto Project Build Appliance specifically requests 3237 For example, the Yocto Project Build Appliance specifically requests
3326 40 Gbytes of extra space with the line: 3238 40 Gbytes of extra space with the line::
3327 ::
3328 3239
3329 IMAGE_ROOTFS_EXTRA_SPACE = "41943040" 3240 IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
3330 3241
@@ -3335,8 +3246,7 @@ system and gives an overview of their function and contents.
3335 the generated image, a requested size for the image, and requested 3246 the generated image, a requested size for the image, and requested
3336 additional free disk space to be added to the image. Programatically, 3247 additional free disk space to be added to the image. Programatically,
3337 the build system determines the final size of the generated image as 3248 the build system determines the final size of the generated image as
3338 follows: 3249 follows::
3339 ::
3340 3250
3341 if (image-du * overhead) < rootfs-size: 3251 if (image-du * overhead) < rootfs-size:
3342 internal-rootfs-size = rootfs-size + xspace 3252 internal-rootfs-size = rootfs-size + xspace
@@ -3355,8 +3265,7 @@ system and gives an overview of their function and contents.
3355 3265
3356 :term:`IMAGE_TYPEDEP` 3266 :term:`IMAGE_TYPEDEP`
3357 Specifies a dependency from one image type on another. Here is an 3267 Specifies a dependency from one image type on another. Here is an
3358 example from the :ref:`image-live <ref-classes-image-live>` class: 3268 example from the :ref:`image-live <ref-classes-image-live>` class::
3359 ::
3360 3269
3361 IMAGE_TYPEDEP_live = "ext3" 3270 IMAGE_TYPEDEP_live = "ext3"
3362 3271
@@ -3443,8 +3352,7 @@ system and gives an overview of their function and contents.
3443 variable. Once the variable is defined in the ``include`` file, you 3352 variable. Once the variable is defined in the ``include`` file, you
3444 can use the variable to set the ``PR`` values in each recipe. You 3353 can use the variable to set the ``PR`` values in each recipe. You
3445 will notice that when you set a recipe's ``PR`` you can provide more 3354 will notice that when you set a recipe's ``PR`` you can provide more
3446 granular revisioning by appending values to the ``INC_PR`` variable: 3355 granular revisioning by appending values to the ``INC_PR`` variable::
3447 ::
3448 3356
3449 recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2" 3357 recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
3450 recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1" 3358 recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
@@ -3467,8 +3375,7 @@ system and gives an overview of their function and contents.
3467 .. note:: 3375 .. note::
3468 3376
3469 This functionality is only regularly tested using the following 3377 This functionality is only regularly tested using the following
3470 setting: 3378 setting::
3471 ::
3472 3379
3473 INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0" 3380 INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
3474 3381
@@ -3482,8 +3389,7 @@ system and gives an overview of their function and contents.
3482 It is possible to define a list of licenses that are allowed to be 3389 It is possible to define a list of licenses that are allowed to be
3483 used instead of the licenses that are excluded. To do this, define 3390 used instead of the licenses that are excluded. To do this, define
3484 a variable ``COMPATIBLE_LICENSES`` with the names of the licenses 3391 a variable ``COMPATIBLE_LICENSES`` with the names of the licenses
3485 that are allowed. Then define ``INCOMPATIBLE_LICENSE`` as: 3392 that are allowed. Then define ``INCOMPATIBLE_LICENSE`` as::
3486 ::
3487 3393
3488 INCOMPATIBLE_LICENSE = "${@' '.join(sorted(set(d.getVar('AVAILABLE_LICENSES').split()) - set(d.getVar('COMPATIBLE_LICENSES').split())))}" 3394 INCOMPATIBLE_LICENSE = "${@' '.join(sorted(set(d.getVar('AVAILABLE_LICENSES').split()) - set(d.getVar('COMPATIBLE_LICENSES').split())))}"
3489 3395
@@ -3508,8 +3414,7 @@ system and gives an overview of their function and contents.
3508 unlikely that you want to edit this variable. 3414 unlikely that you want to edit this variable.
3509 3415
3510 The default value of the variable is set as follows in the 3416 The default value of the variable is set as follows in the
3511 ``meta/conf/distro/defaultsetup.conf`` file: 3417 ``meta/conf/distro/defaultsetup.conf`` file::
3512 ::
3513 3418
3514 INHERIT_DISTRO ?= "debian devshell sstate license" 3419 INHERIT_DISTRO ?= "debian devshell sstate license"
3515 3420
@@ -3533,8 +3438,7 @@ system and gives an overview of their function and contents.
3533 3438
3534 To prevent the build system from splitting out debug information 3439 To prevent the build system from splitting out debug information
3535 during packaging, set the ``INHIBIT_PACKAGE_DEBUG_SPLIT`` variable as 3440 during packaging, set the ``INHIBIT_PACKAGE_DEBUG_SPLIT`` variable as
3536 follows: 3441 follows::
3537 ::
3538 3442
3539 INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 3443 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
3540 3444
@@ -3646,15 +3550,13 @@ system and gives an overview of their function and contents.
3646 3550
3647 Setting the variable to "1" in a configuration file causes the 3551 Setting the variable to "1" in a configuration file causes the
3648 OpenEmbedded build system to generate a kernel image with the 3552 OpenEmbedded build system to generate a kernel image with the
3649 initramfs specified in ``INITRAMFS_IMAGE`` bundled within: 3553 initramfs specified in ``INITRAMFS_IMAGE`` bundled within::
3650 ::
3651 3554
3652 INITRAMFS_IMAGE_BUNDLE = "1" 3555 INITRAMFS_IMAGE_BUNDLE = "1"
3653 3556
3654 By default, the 3557 By default, the
3655 :ref:`kernel <ref-classes-kernel>` class sets this variable to a 3558 :ref:`kernel <ref-classes-kernel>` class sets this variable to a
3656 null string as follows: 3559 null string as follows::
3657 ::
3658 3560
3659 INITRAMFS_IMAGE_BUNDLE ?= "" 3561 INITRAMFS_IMAGE_BUNDLE ?= ""
3660 3562
@@ -3672,15 +3574,13 @@ system and gives an overview of their function and contents.
3672 :term:`INITRAMFS_LINK_NAME` 3574 :term:`INITRAMFS_LINK_NAME`
3673 The link name of the initial RAM filesystem image. This variable is 3575 The link name of the initial RAM filesystem image. This variable is
3674 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3576 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3675 follows: 3577 follows::
3676 ::
3677 3578
3678 INITRAMFS_LINK_NAME ?= "initramfs-${KERNEL_ARTIFACT_LINK_NAME}" 3579 INITRAMFS_LINK_NAME ?= "initramfs-${KERNEL_ARTIFACT_LINK_NAME}"
3679 3580
3680 The value of the 3581 The value of the
3681 ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same 3582 ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same
3682 file, has the following value: 3583 file, has the following value::
3683 ::
3684 3584
3685 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" 3585 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
3686 3586
@@ -3690,14 +3590,12 @@ system and gives an overview of their function and contents.
3690 :term:`INITRAMFS_NAME` 3590 :term:`INITRAMFS_NAME`
3691 The base name of the initial RAM filesystem image. This variable is 3591 The base name of the initial RAM filesystem image. This variable is
3692 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3592 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3693 follows: 3593 follows::
3694 ::
3695 3594
3696 INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}" 3595 INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}"
3697 3596
3698 The value of the :term:`KERNEL_ARTIFACT_NAME` 3597 The value of the :term:`KERNEL_ARTIFACT_NAME`
3699 variable, which is set in the same file, has the following value: 3598 variable, which is set in the same file, has the following value::
3700 ::
3701 3599
3702 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3600 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3703 3601
@@ -3735,8 +3633,7 @@ system and gives an overview of their function and contents.
3735 variable. 3633 variable.
3736 3634
3737 :term:`INITSCRIPT_PARAMS` 3635 :term:`INITSCRIPT_PARAMS`
3738 Specifies the options to pass to ``update-rc.d``. Here is an example: 3636 Specifies the options to pass to ``update-rc.d``. Here is an example::
3739 ::
3740 3637
3741 INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." 3638 INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
3742 3639
@@ -3756,8 +3653,7 @@ system and gives an overview of their function and contents.
3756 recipe. For example, to skip the check for symbolic link ``.so`` 3653 recipe. For example, to skip the check for symbolic link ``.so``
3757 files in the main package of a recipe, add the following to the 3654 files in the main package of a recipe, add the following to the
3758 recipe. The package name override must be used, which in this example 3655 recipe. The package name override must be used, which in this example
3759 is ``${PN}``: 3656 is ``${PN}``::
3760 ::
3761 3657
3762 INSANE_SKIP_${PN} += "dev-so" 3658 INSANE_SKIP_${PN} += "dev-so"
3763 3659
@@ -3799,8 +3695,7 @@ system and gives an overview of their function and contents.
3799 kernel's append file. For example, if you are using the 3695 kernel's append file. For example, if you are using the
3800 ``linux-yocto_4.12`` kernel, the kernel recipe file is the 3696 ``linux-yocto_4.12`` kernel, the kernel recipe file is the
3801 ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` file. ``KBRANCH`` 3697 ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` file. ``KBRANCH``
3802 is set as follows in that kernel recipe file: 3698 is set as follows in that kernel recipe file::
3803 ::
3804 3699
3805 KBRANCH ?= "standard/base" 3700 KBRANCH ?= "standard/base"
3806 3701
@@ -3812,8 +3707,7 @@ system and gives an overview of their function and contents.
3812 Beaglebone, EdgeRouter, and generic versions of both 32 and 64-bit IA 3707 Beaglebone, EdgeRouter, and generic versions of both 32 and 64-bit IA
3813 machines (``meta-yocto-bsp``) is named 3708 machines (``meta-yocto-bsp``) is named
3814 ``meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend``. 3709 ``meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend``.
3815 Here are the related statements from that append file: 3710 Here are the related statements from that append file::
3816 ::
3817 3711
3818 KBRANCH_genericx86 = "standard/base" 3712 KBRANCH_genericx86 = "standard/base"
3819 KBRANCH_genericx86-64 = "standard/base" 3713 KBRANCH_genericx86-64 = "standard/base"
@@ -3839,19 +3733,16 @@ system and gives an overview of their function and contents.
3839 ``defconfig`` file. 3733 ``defconfig`` file.
3840 3734
3841 To use the variable, set it in the append file for your kernel recipe 3735 To use the variable, set it in the append file for your kernel recipe
3842 using the following form: 3736 using the following form::
3843 ::
3844 3737
3845 KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file 3738 KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file
3846 3739
3847 Here is an example from a "raspberrypi2" ``KMACHINE`` build that uses 3740 Here is an example from a "raspberrypi2" ``KMACHINE`` build that uses
3848 a ``defconfig`` file named "bcm2709_defconfig": 3741 a ``defconfig`` file named "bcm2709_defconfig"::
3849 ::
3850 3742
3851 KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig" 3743 KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig"
3852 3744
3853 As an alternative, you can use the following within your append file: 3745 As an alternative, you can use the following within your append file::
3854 ::
3855 3746
3856 KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file 3747 KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file
3857 3748
@@ -3872,8 +3763,7 @@ system and gives an overview of their function and contents.
3872 3763
3873 The value of ``KERNEL_ARTIFACT_NAME``, which is set in the 3764 The value of ``KERNEL_ARTIFACT_NAME``, which is set in the
3874 ``meta/classes/kernel-artifact-names.bbclass`` file, has the 3765 ``meta/classes/kernel-artifact-names.bbclass`` file, has the
3875 following default value: 3766 following default value::
3876 ::
3877 3767
3878 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3768 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3879 3769
@@ -3905,15 +3795,13 @@ system and gives an overview of their function and contents.
3905 :term:`KERNEL_DTB_LINK_NAME` 3795 :term:`KERNEL_DTB_LINK_NAME`
3906 The link name of the kernel device tree binary (DTB). This variable 3796 The link name of the kernel device tree binary (DTB). This variable
3907 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3797 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3908 follows: 3798 follows::
3909 ::
3910 3799
3911 KERNEL_DTB_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" 3800 KERNEL_DTB_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
3912 3801
3913 The 3802 The
3914 value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in 3803 value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in
3915 the same file, has the following value: 3804 the same file, has the following value::
3916 ::
3917 3805
3918 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" 3806 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
3919 3807
@@ -3923,14 +3811,12 @@ system and gives an overview of their function and contents.
3923 :term:`KERNEL_DTB_NAME` 3811 :term:`KERNEL_DTB_NAME`
3924 The base name of the kernel device tree binary (DTB). This variable 3812 The base name of the kernel device tree binary (DTB). This variable
3925 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3813 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3926 follows: 3814 follows::
3927 ::
3928 3815
3929 KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" 3816 KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}"
3930 3817
3931 The value of the :term:`KERNEL_ARTIFACT_NAME` 3818 The value of the :term:`KERNEL_ARTIFACT_NAME`
3932 variable, which is set in the same file, has the following value: 3819 variable, which is set in the same file, has the following value::
3933 ::
3934 3820
3935 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3821 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3936 3822
@@ -3965,8 +3851,7 @@ system and gives an overview of their function and contents.
3965 For example, the following example from the ``linux-yocto-rt_4.12`` 3851 For example, the following example from the ``linux-yocto-rt_4.12``
3966 kernel recipe adds "netfilter" and "taskstats" features to all BSPs 3852 kernel recipe adds "netfilter" and "taskstats" features to all BSPs
3967 as well as "virtio" configurations to all QEMU machines. The last two 3853 as well as "virtio" configurations to all QEMU machines. The last two
3968 statements add specific configurations to targeted machine types: 3854 statements add specific configurations to targeted machine types::
3969 ::
3970 3855
3971 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" 3856 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
3972 KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}" 3857 KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}"
@@ -3977,15 +3862,13 @@ system and gives an overview of their function and contents.
3977 :term:`KERNEL_FIT_LINK_NAME` 3862 :term:`KERNEL_FIT_LINK_NAME`
3978 The link name of the kernel flattened image tree (FIT) image. This 3863 The link name of the kernel flattened image tree (FIT) image. This
3979 variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` 3864 variable is set in the ``meta/classes/kernel-artifact-names.bbclass``
3980 file as follows: 3865 file as follows::
3981 ::
3982 3866
3983 KERNEL_FIT_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" 3867 KERNEL_FIT_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
3984 3868
3985 The value of the 3869 The value of the
3986 ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same 3870 ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same
3987 file, has the following value: 3871 file, has the following value::
3988 ::
3989 3872
3990 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" 3873 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
3991 3874
@@ -3995,28 +3878,24 @@ system and gives an overview of their function and contents.
3995 :term:`KERNEL_FIT_NAME` 3878 :term:`KERNEL_FIT_NAME`
3996 The base name of the kernel flattened image tree (FIT) image. This 3879 The base name of the kernel flattened image tree (FIT) image. This
3997 variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` 3880 variable is set in the ``meta/classes/kernel-artifact-names.bbclass``
3998 file as follows: 3881 file as follows::
3999 ::
4000 3882
4001 KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}" 3883 KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}"
4002 3884
4003 The value of the :term:`KERNEL_ARTIFACT_NAME` 3885 The value of the :term:`KERNEL_ARTIFACT_NAME`
4004 variable, which is set in the same file, has the following value: 3886 variable, which is set in the same file, has the following value::
4005 ::
4006 3887
4007 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3888 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
4008 3889
4009 :term:`KERNEL_IMAGE_LINK_NAME` 3890 :term:`KERNEL_IMAGE_LINK_NAME`
4010 The link name for the kernel image. This variable is set in the 3891 The link name for the kernel image. This variable is set in the
4011 ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 3892 ``meta/classes/kernel-artifact-names.bbclass`` file as follows::
4012 ::
4013 3893
4014 KERNEL_IMAGE_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" 3894 KERNEL_IMAGE_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
4015 3895
4016 The value of 3896 The value of
4017 the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same 3897 the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same
4018 file, has the following value: 3898 file, has the following value::
4019 ::
4020 3899
4021 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" 3900 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
4022 3901
@@ -4038,15 +3917,13 @@ system and gives an overview of their function and contents.
4038 3917
4039 :term:`KERNEL_IMAGE_NAME` 3918 :term:`KERNEL_IMAGE_NAME`
4040 The base name of the kernel image. This variable is set in the 3919 The base name of the kernel image. This variable is set in the
4041 ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 3920 ``meta/classes/kernel-artifact-names.bbclass`` file as follows::
4042 ::
4043 3921
4044 KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}" 3922 KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}"
4045 3923
4046 The value of the 3924 The value of the
4047 :term:`KERNEL_ARTIFACT_NAME` variable, 3925 :term:`KERNEL_ARTIFACT_NAME` variable,
4048 which is set in the same file, has the following value: 3926 which is set in the same file, has the following value::
4049 ::
4050 3927
4051 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3928 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
4052 3929
@@ -4074,8 +3951,7 @@ system and gives an overview of their function and contents.
4074 configuration file, an append file for the recipe, or the recipe 3951 configuration file, an append file for the recipe, or the recipe
4075 itself). 3952 itself).
4076 3953
4077 Specify it as follows: 3954 Specify it as follows::
4078 ::
4079 3955
4080 KERNEL_MODULE_AUTOLOAD += "module_name1 module_name2 module_name3" 3956 KERNEL_MODULE_AUTOLOAD += "module_name1 module_name2 module_name3"
4081 3957
@@ -4083,8 +3959,7 @@ system and gives an overview of their function and contents.
4083 system to populate the ``/etc/modules-load.d/modname.conf`` file with 3959 system to populate the ``/etc/modules-load.d/modname.conf`` file with
4084 the list of modules to be auto-loaded on boot. The modules appear 3960 the list of modules to be auto-loaded on boot. The modules appear
4085 one-per-line in the file. Here is an example of the most common use 3961 one-per-line in the file. Here is an example of the most common use
4086 case: 3962 case::
4087 ::
4088 3963
4089 KERNEL_MODULE_AUTOLOAD += "module_name" 3964 KERNEL_MODULE_AUTOLOAD += "module_name"
4090 3965
@@ -4146,8 +4021,7 @@ system and gives an overview of their function and contents.
4146 Provides a short description of a configuration fragment. You use 4021 Provides a short description of a configuration fragment. You use
4147 this variable in the ``.scc`` file that describes a configuration 4022 this variable in the ``.scc`` file that describes a configuration
4148 fragment file. Here is the variable used in a file named ``smp.scc`` 4023 fragment file. Here is the variable used in a file named ``smp.scc``
4149 to describe SMP being enabled: 4024 to describe SMP being enabled::
4150 ::
4151 4025
4152 define KFEATURE_DESCRIPTION "Enable SMP" 4026 define KFEATURE_DESCRIPTION "Enable SMP"
4153 4027
@@ -4163,8 +4037,7 @@ system and gives an overview of their function and contents.
4163 4037
4164 These mappings between different names occur in the Yocto Linux 4038 These mappings between different names occur in the Yocto Linux
4165 Kernel's ``meta`` branch. As an example take a look in the 4039 Kernel's ``meta`` branch. As an example take a look in the
4166 ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file: 4040 ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file::
4167 ::
4168 4041
4169 LINUX_VERSION_core2-32-intel-common = "3.19.0" 4042 LINUX_VERSION_core2-32-intel-common = "3.19.0"
4170 COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" 4043 COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
@@ -4202,8 +4075,7 @@ system and gives an overview of their function and contents.
4202 :term:`LAYERDEPENDS` 4075 :term:`LAYERDEPENDS`
4203 Lists the layers, separated by spaces, on which this recipe depends. 4076 Lists the layers, separated by spaces, on which this recipe depends.
4204 Optionally, you can specify a specific layer version for a dependency 4077 Optionally, you can specify a specific layer version for a dependency
4205 by adding it to the end of the layer name. Here is an example: 4078 by adding it to the end of the layer name. Here is an example::
4206 ::
4207 4079
4208 LAYERDEPENDS_mylayer = "anotherlayer (=3)" 4080 LAYERDEPENDS_mylayer = "anotherlayer (=3)"
4209 4081
@@ -4228,8 +4100,7 @@ system and gives an overview of their function and contents.
4228 4100
4229 Optionally, you can specify a specific layer version for a 4101 Optionally, you can specify a specific layer version for a
4230 recommendation by adding the version to the end of the layer name. 4102 recommendation by adding the version to the end of the layer name.
4231 Here is an example: 4103 Here is an example::
4232 ::
4233 4104
4234 LAYERRECOMMENDS_mylayer = "anotherlayer (=3)" 4105 LAYERRECOMMENDS_mylayer = "anotherlayer (=3)"
4235 4106
@@ -4253,8 +4124,7 @@ system and gives an overview of their function and contents.
4253 For the list, use the Yocto Project 4124 For the list, use the Yocto Project
4254 :yocto_wiki:`Release Name </Releases>` (e.g. 4125 :yocto_wiki:`Release Name </Releases>` (e.g.
4255 &DISTRO_NAME_NO_CAP;). To specify multiple OE-Core versions for the 4126 &DISTRO_NAME_NO_CAP;). To specify multiple OE-Core versions for the
4256 layer, use a space-separated list: 4127 layer, use a space-separated list::
4257 ::
4258 4128
4259 LAYERSERIES_COMPAT_layer_root_name = "&DISTRO_NAME_NO_CAP; &DISTRO_NAME_NO_CAP_MINUS_ONE;" 4129 LAYERSERIES_COMPAT_layer_root_name = "&DISTRO_NAME_NO_CAP; &DISTRO_NAME_NO_CAP_MINUS_ONE;"
4260 4130
@@ -4335,8 +4205,7 @@ system and gives an overview of their function and contents.
4335 :term:`SPDXLICENSEMAP` flag names defined in 4205 :term:`SPDXLICENSEMAP` flag names defined in
4336 ``meta/conf/licenses.conf``. 4206 ``meta/conf/licenses.conf``.
4337 4207
4338 Here are some examples: 4208 Here are some examples::
4339 ::
4340 4209
4341 LICENSE = "LGPLv2.1 | GPLv3" 4210 LICENSE = "LGPLv2.1 | GPLv3"
4342 LICENSE = "MPL-1 & LGPLv2.1" 4211 LICENSE = "MPL-1 & LGPLv2.1"
@@ -4353,8 +4222,7 @@ system and gives an overview of their function and contents.
4353 situations where components of the output have different licenses. 4222 situations where components of the output have different licenses.
4354 For example, a piece of software whose code is licensed under GPLv2 4223 For example, a piece of software whose code is licensed under GPLv2
4355 but has accompanying documentation licensed under the GNU Free 4224 but has accompanying documentation licensed under the GNU Free
4356 Documentation License 1.2 could be specified as follows: 4225 Documentation License 1.2 could be specified as follows::
4357 ::
4358 4226
4359 LICENSE = "GFDL-1.2 & GPLv2" 4227 LICENSE = "GFDL-1.2 & GPLv2"
4360 LICENSE_${PN} = "GPLv2" 4228 LICENSE_${PN} = "GPLv2"
@@ -4409,8 +4277,7 @@ system and gives an overview of their function and contents.
4409 OpenEmbedded build system uses ``COMMON_LICENSE_DIR`` to define the 4277 OpenEmbedded build system uses ``COMMON_LICENSE_DIR`` to define the
4410 directory that holds common license text used during the build. The 4278 directory that holds common license text used during the build. The
4411 ``LICENSE_PATH`` variable allows you to extend that location to other 4279 ``LICENSE_PATH`` variable allows you to extend that location to other
4412 areas that have additional licenses: 4280 areas that have additional licenses::
4413 ::
4414 4281
4415 LICENSE_PATH += "path-to-additional-common-licenses" 4282 LICENSE_PATH += "path-to-additional-common-licenses"
4416 4283
@@ -4434,14 +4301,12 @@ system and gives an overview of their function and contents.
4434 being built using the OpenEmbedded build system is based. You define 4301 being built using the OpenEmbedded build system is based. You define
4435 this variable in the kernel recipe. For example, the 4302 this variable in the kernel recipe. For example, the
4436 ``linux-yocto-3.4.bb`` kernel recipe found in 4303 ``linux-yocto-3.4.bb`` kernel recipe found in
4437 ``meta/recipes-kernel/linux`` defines the variables as follows: 4304 ``meta/recipes-kernel/linux`` defines the variables as follows::
4438 ::
4439 4305
4440 LINUX_VERSION ?= "3.4.24" 4306 LINUX_VERSION ?= "3.4.24"
4441 4307
4442 The ``LINUX_VERSION`` variable is used to define :term:`PV` 4308 The ``LINUX_VERSION`` variable is used to define :term:`PV`
4443 for the recipe: 4309 for the recipe::
4444 ::
4445 4310
4446 PV = "${LINUX_VERSION}+git${SRCPV}" 4311 PV = "${LINUX_VERSION}+git${SRCPV}"
4447 4312
@@ -4449,16 +4314,14 @@ system and gives an overview of their function and contents.
4449 A string extension compiled into the version string of the Linux 4314 A string extension compiled into the version string of the Linux
4450 kernel built with the OpenEmbedded build system. You define this 4315 kernel built with the OpenEmbedded build system. You define this
4451 variable in the kernel recipe. For example, the linux-yocto kernel 4316 variable in the kernel recipe. For example, the linux-yocto kernel
4452 recipes all define the variable as follows: 4317 recipes all define the variable as follows::
4453 ::
4454 4318
4455 LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" 4319 LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
4456 4320
4457 Defining this variable essentially sets the Linux kernel 4321 Defining this variable essentially sets the Linux kernel
4458 configuration item ``CONFIG_LOCALVERSION``, which is visible through 4322 configuration item ``CONFIG_LOCALVERSION``, which is visible through
4459 the ``uname`` command. Here is an example that shows the extension 4323 the ``uname`` command. Here is an example that shows the extension
4460 assuming it was set as previously shown: 4324 assuming it was set as previously shown::
4461 ::
4462 4325
4463 $ uname -r 4326 $ uname -r
4464 3.7.0-rc8-custom 4327 3.7.0-rc8-custom
@@ -4475,8 +4338,7 @@ system and gives an overview of their function and contents.
4475 ``MACHINE`` in the ``local.conf`` file found in the 4338 ``MACHINE`` in the ``local.conf`` file found in the
4476 :term:`Build Directory`. By default, ``MACHINE`` is set to 4339 :term:`Build Directory`. By default, ``MACHINE`` is set to
4477 "qemux86", which is an x86-based architecture machine to be emulated 4340 "qemux86", which is an x86-based architecture machine to be emulated
4478 using QEMU: 4341 using QEMU::
4479 ::
4480 4342
4481 MACHINE ?= "qemux86" 4343 MACHINE ?= "qemux86"
4482 4344
@@ -4488,8 +4350,7 @@ system and gives an overview of their function and contents.
4488 ``meta/conf/machine``. 4350 ``meta/conf/machine``.
4489 4351
4490 The list of machines supported by the Yocto Project as shipped 4352 The list of machines supported by the Yocto Project as shipped
4491 include the following: 4353 include the following::
4492 ::
4493 4354
4494 MACHINE ?= "qemuarm" 4355 MACHINE ?= "qemuarm"
4495 MACHINE ?= "qemuarm64" 4356 MACHINE ?= "qemuarm64"
@@ -4535,8 +4396,7 @@ system and gives an overview of their function and contents.
4535 As an example, suppose the machine for which you are building 4396 As an example, suppose the machine for which you are building
4536 requires ``example-init`` to be run during boot to initialize the 4397 requires ``example-init`` to be run during boot to initialize the
4537 hardware. In this case, you would use the following in the machine's 4398 hardware. In this case, you would use the following in the machine's
4538 ``.conf`` configuration file: 4399 ``.conf`` configuration file::
4539 ::
4540 4400
4541 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init" 4401 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init"
4542 4402
@@ -4567,8 +4427,7 @@ system and gives an overview of their function and contents.
4567 "recommends" relationship so that in the latter case, the build will 4427 "recommends" relationship so that in the latter case, the build will
4568 not fail due to the missing package. To accomplish this, assuming the 4428 not fail due to the missing package. To accomplish this, assuming the
4569 package for the module was called ``kernel-module-ab123``, you would 4429 package for the module was called ``kernel-module-ab123``, you would
4570 use the following in the machine's ``.conf`` configuration file: 4430 use the following in the machine's ``.conf`` configuration file::
4571 ::
4572 4431
4573 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123" 4432 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123"
4574 4433
@@ -4604,8 +4463,7 @@ system and gives an overview of their function and contents.
4604 exist, so it is acceptable for the build process to depend upon 4463 exist, so it is acceptable for the build process to depend upon
4605 finding the package. In this case, assuming the package for the 4464 finding the package. In this case, assuming the package for the
4606 firmware was called ``wifidriver-firmware``, you would use the 4465 firmware was called ``wifidriver-firmware``, you would use the
4607 following in the ``.conf`` file for the machine: 4466 following in the ``.conf`` file for the machine::
4608 ::
4609 4467
4610 MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware" 4468 MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware"
4611 4469
@@ -4631,8 +4489,7 @@ system and gives an overview of their function and contents.
4631 the build to succeed instead of failing as a result of the package 4489 the build to succeed instead of failing as a result of the package
4632 not being found. To accomplish this, assuming the package for the 4490 not being found. To accomplish this, assuming the package for the
4633 module was called ``kernel-module-examplewifi``, you would use the 4491 module was called ``kernel-module-examplewifi``, you would use the
4634 following in the ``.conf`` file for the machine: 4492 following in the ``.conf`` file for the machine::
4635 ::
4636 4493
4637 MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi" 4494 MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi"
4638 4495
@@ -4671,16 +4528,14 @@ system and gives an overview of their function and contents.
4671 should apply to a machine. For example, all machines emulated in QEMU 4528 should apply to a machine. For example, all machines emulated in QEMU
4672 (e.g. ``qemuarm``, ``qemux86``, and so forth) include a file named 4529 (e.g. ``qemuarm``, ``qemux86``, and so forth) include a file named
4673 ``meta/conf/machine/include/qemu.inc`` that prepends the following 4530 ``meta/conf/machine/include/qemu.inc`` that prepends the following
4674 override to ``MACHINEOVERRIDES``: 4531 override to ``MACHINEOVERRIDES``::
4675 ::
4676 4532
4677 MACHINEOVERRIDES =. "qemuall:" 4533 MACHINEOVERRIDES =. "qemuall:"
4678 4534
4679 This 4535 This
4680 override allows variables to be overridden for all machines emulated 4536 override allows variables to be overridden for all machines emulated
4681 in QEMU, like in the following example from the ``connman-conf`` 4537 in QEMU, like in the following example from the ``connman-conf``
4682 recipe: 4538 recipe::
4683 ::
4684 4539
4685 SRC_URI_append_qemuall = " file://wired.config \ 4540 SRC_URI_append_qemuall = " file://wired.config \
4686 file://wired-setup \ 4541 file://wired-setup \
@@ -4734,27 +4589,23 @@ system and gives an overview of their function and contents.
4734 recipes by using :term:`DEPENDS`, then a dependency on 4589 recipes by using :term:`DEPENDS`, then a dependency on
4735 "foo" will automatically get rewritten to a dependency on 4590 "foo" will automatically get rewritten to a dependency on
4736 "nativesdk-foo". However, dependencies like the following will not 4591 "nativesdk-foo". However, dependencies like the following will not
4737 get rewritten automatically: 4592 get rewritten automatically::
4738 ::
4739 4593
4740 do_foo[depends] += "recipe:do_foo" 4594 do_foo[depends] += "recipe:do_foo"
4741 4595
4742 If you want such a dependency to also get transformed, you can do the 4596 If you want such a dependency to also get transformed, you can do the
4743 following: 4597 following::
4744 ::
4745 4598
4746 do_foo[depends] += "${MLPREFIX}recipe:do_foo" 4599 do_foo[depends] += "${MLPREFIX}recipe:do_foo"
4747 4600
4748 module_autoload 4601 module_autoload
4749 This variable has been replaced by the ``KERNEL_MODULE_AUTOLOAD`` 4602 This variable has been replaced by the ``KERNEL_MODULE_AUTOLOAD``
4750 variable. You should replace all occurrences of ``module_autoload`` 4603 variable. You should replace all occurrences of ``module_autoload``
4751 with additions to ``KERNEL_MODULE_AUTOLOAD``, for example: 4604 with additions to ``KERNEL_MODULE_AUTOLOAD``, for example::
4752 ::
4753 4605
4754 module_autoload_rfcomm = "rfcomm" 4606 module_autoload_rfcomm = "rfcomm"
4755 4607
4756 should now be replaced with: 4608 should now be replaced with::
4757 ::
4758 4609
4759 KERNEL_MODULE_AUTOLOAD += "rfcomm" 4610 KERNEL_MODULE_AUTOLOAD += "rfcomm"
4760 4611
@@ -4773,8 +4624,7 @@ system and gives an overview of their function and contents.
4773 :term:`KERNEL_MODULE_AUTOLOAD` 4624 :term:`KERNEL_MODULE_AUTOLOAD`
4774 variable. 4625 variable.
4775 4626
4776 Here is the general syntax: 4627 Here is the general syntax::
4777 ::
4778 4628
4779 module_conf_module_name = "modprobe.d-syntax" 4629 module_conf_module_name = "modprobe.d-syntax"
4780 4630
@@ -4786,8 +4636,7 @@ system and gives an overview of their function and contents.
4786 Including ``module_conf`` causes the OpenEmbedded build system to 4636 Including ``module_conf`` causes the OpenEmbedded build system to
4787 populate the ``/etc/modprobe.d/modname.conf`` file with 4637 populate the ``/etc/modprobe.d/modname.conf`` file with
4788 ``modprobe.d`` syntax lines. Here is an example that adds the options 4638 ``modprobe.d`` syntax lines. Here is an example that adds the options
4789 ``arg1`` and ``arg2`` to a module named ``mymodule``: 4639 ``arg1`` and ``arg2`` to a module named ``mymodule``::
4790 ::
4791 4640
4792 module_conf_mymodule = "options mymodule arg1=val1 arg2=val2" 4641 module_conf_mymodule = "options mymodule arg1=val1 arg2=val2"
4793 4642
@@ -4801,15 +4650,13 @@ system and gives an overview of their function and contents.
4801 4650
4802 :term:`MODULE_TARBALL_LINK_NAME` 4651 :term:`MODULE_TARBALL_LINK_NAME`
4803 The link name of the kernel module tarball. This variable is set in 4652 The link name of the kernel module tarball. This variable is set in
4804 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 4653 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows::
4805 ::
4806 4654
4807 MODULE_TARBALL_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" 4655 MODULE_TARBALL_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
4808 4656
4809 The value 4657 The value
4810 of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the 4658 of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the
4811 same file, has the following value: 4659 same file, has the following value::
4812 ::
4813 4660
4814 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" 4661 KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
4815 4662
@@ -4817,14 +4664,12 @@ system and gives an overview of their function and contents.
4817 4664
4818 :term:`MODULE_TARBALL_NAME` 4665 :term:`MODULE_TARBALL_NAME`
4819 The base name of the kernel module tarball. This variable is set in 4666 The base name of the kernel module tarball. This variable is set in
4820 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 4667 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows::
4821 ::
4822 4668
4823 MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}" 4669 MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}"
4824 4670
4825 The value of the :term:`KERNEL_ARTIFACT_NAME` variable, 4671 The value of the :term:`KERNEL_ARTIFACT_NAME` variable,
4826 which is set in the same file, has the following value: 4672 which is set in the same file, has the following value::
4827 ::
4828 4673
4829 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 4674 KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
4830 4675
@@ -4834,8 +4679,7 @@ system and gives an overview of their function and contents.
4834 target systems to be put into different subdirectories of the same 4679 target systems to be put into different subdirectories of the same
4835 output directory. 4680 output directory.
4836 4681
4837 The default value of this variable is: 4682 The default value of this variable is::
4838 ::
4839 4683
4840 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} 4684 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
4841 4685
@@ -4874,15 +4718,13 @@ system and gives an overview of their function and contents.
4874 not exist in common licenses. 4718 not exist in common licenses.
4875 4719
4876 The following example shows how to add ``NO_GENERIC_LICENSE`` to a 4720 The following example shows how to add ``NO_GENERIC_LICENSE`` to a
4877 recipe: 4721 recipe::
4878 ::
4879 4722
4880 NO_GENERIC_LICENSE[license_name] = "license_file_in_fetched_source" 4723 NO_GENERIC_LICENSE[license_name] = "license_file_in_fetched_source"
4881 4724
4882 The following is an example that 4725 The following is an example that
4883 uses the ``LICENSE.Abilis.txt`` file as the license from the fetched 4726 uses the ``LICENSE.Abilis.txt`` file as the license from the fetched
4884 source: 4727 source::
4885 ::
4886 4728
4887 NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt" 4729 NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt"
4888 4730
@@ -4923,8 +4765,7 @@ system and gives an overview of their function and contents.
4923 Disables auto package from splitting ``.debug`` files. If a recipe 4765 Disables auto package from splitting ``.debug`` files. If a recipe
4924 requires ``FILES_${PN}-dbg`` to be set manually, the 4766 requires ``FILES_${PN}-dbg`` to be set manually, the
4925 ``NOAUTOPACKAGEDEBUG`` can be defined allowing you to define the 4767 ``NOAUTOPACKAGEDEBUG`` can be defined allowing you to define the
4926 content of the debug package. For example: 4768 content of the debug package. For example::
4927 ::
4928 4769
4929 NOAUTOPACKAGEDEBUG = "1" 4770 NOAUTOPACKAGEDEBUG = "1"
4930 FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" 4771 FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
@@ -5016,8 +4857,7 @@ system and gives an overview of their function and contents.
5016 As an example, if the string "an-override" appears as an element in 4857 As an example, if the string "an-override" appears as an element in
5017 the colon-separated list in ``OVERRIDES``, then the following 4858 the colon-separated list in ``OVERRIDES``, then the following
5018 assignment will override ``FOO`` with the value "overridden" at the 4859 assignment will override ``FOO`` with the value "overridden" at the
5019 end of parsing: 4860 end of parsing::
5020 ::
5021 4861
5022 FOO_an-override = "overridden" 4862 FOO_an-override = "overridden"
5023 4863
@@ -5032,8 +4872,7 @@ system and gives an overview of their function and contents.
5032 :term:`DISTROOVERRIDES` variables. Another 4872 :term:`DISTROOVERRIDES` variables. Another
5033 important override included by default is ``pn-${PN}``. This override 4873 important override included by default is ``pn-${PN}``. This override
5034 allows variables to be set for a single recipe within configuration 4874 allows variables to be set for a single recipe within configuration
5035 (``.conf``) files. Here is an example: 4875 (``.conf``) files. Here is an example::
5036 ::
5037 4876
5038 FOO_pn-myrecipe = "myrecipe-specific value" 4877 FOO_pn-myrecipe = "myrecipe-specific value"
5039 4878
@@ -5045,8 +4884,7 @@ system and gives an overview of their function and contents.
5045 Project Development Tasks Manual for more information. 4884 Project Development Tasks Manual for more information.
5046 4885
5047 :term:`P` 4886 :term:`P`
5048 The recipe name and version. ``P`` is comprised of the following: 4887 The recipe name and version. ``P`` is comprised of the following::
5049 ::
5050 4888
5051 ${PN}-${PV} 4889 ${PN}-${PV}
5052 4890
@@ -5082,8 +4920,7 @@ system and gives an overview of their function and contents.
5082 However, if your recipe's output packages are built specific to the 4920 However, if your recipe's output packages are built specific to the
5083 target machine rather than generally for the architecture of the 4921 target machine rather than generally for the architecture of the
5084 machine, you should set ``PACKAGE_ARCH`` to the value of 4922 machine, you should set ``PACKAGE_ARCH`` to the value of
5085 :term:`MACHINE_ARCH` in the recipe as follows: 4923 :term:`MACHINE_ARCH` in the recipe as follows::
5086 ::
5087 4924
5088 PACKAGE_ARCH = "${MACHINE_ARCH}" 4925 PACKAGE_ARCH = "${MACHINE_ARCH}"
5089 4926
@@ -5119,8 +4956,7 @@ system and gives an overview of their function and contents.
5119 The build system uses only the first argument in the list as the 4956 The build system uses only the first argument in the list as the
5120 package manager when creating your image or SDK. However, packages 4957 package manager when creating your image or SDK. However, packages
5121 will be created using any additional packaging classes you specify. 4958 will be created using any additional packaging classes you specify.
5122 For example, if you use the following in your ``local.conf`` file: 4959 For example, if you use the following in your ``local.conf`` file::
5123 ::
5124 4960
5125 PACKAGE_CLASSES ?= "package_ipk" 4961 PACKAGE_CLASSES ?= "package_ipk"
5126 4962
@@ -5178,15 +5014,13 @@ system and gives an overview of their function and contents.
5178 5014
5179 :term:`PACKAGE_EXCLUDE` 5015 :term:`PACKAGE_EXCLUDE`
5180 Lists packages that should not be installed into an image. For 5016 Lists packages that should not be installed into an image. For
5181 example: 5017 example::
5182 ::
5183 5018
5184 PACKAGE_EXCLUDE = "package_name package_name package_name ..." 5019 PACKAGE_EXCLUDE = "package_name package_name package_name ..."
5185 5020
5186 You can set this variable globally in your ``local.conf`` file or you 5021 You can set this variable globally in your ``local.conf`` file or you
5187 can attach it to a specific image recipe by using the recipe name 5022 can attach it to a specific image recipe by using the recipe name
5188 override: 5023 override::
5189 ::
5190 5024
5191 PACKAGE_EXCLUDE_pn-target_image = "package_name" 5025 PACKAGE_EXCLUDE_pn-target_image = "package_name"
5192 5026
@@ -5230,8 +5064,7 @@ system and gives an overview of their function and contents.
5230 5064
5231 Consider the following example where the ``PACKAGE_FEED_URIS``, 5065 Consider the following example where the ``PACKAGE_FEED_URIS``,
5232 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are 5066 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are
5233 defined in your ``local.conf`` file: 5067 defined in your ``local.conf`` file::
5234 ::
5235 5068
5236 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ 5069 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \
5237 https://example.com/packagerepos/updates" 5070 https://example.com/packagerepos/updates"
@@ -5260,8 +5093,7 @@ system and gives an overview of their function and contents.
5260 5093
5261 Consider the following example where the ``PACKAGE_FEED_URIS``, 5094 Consider the following example where the ``PACKAGE_FEED_URIS``,
5262 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are 5095 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are
5263 defined in your ``local.conf`` file: 5096 defined in your ``local.conf`` file::
5264 ::
5265 5097
5266 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ 5098 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \
5267 https://example.com/packagerepos/updates" 5099 https://example.com/packagerepos/updates"
@@ -5290,8 +5122,7 @@ system and gives an overview of their function and contents.
5290 5122
5291 Consider the following example where the ``PACKAGE_FEED_URIS``, 5123 Consider the following example where the ``PACKAGE_FEED_URIS``,
5292 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are 5124 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are
5293 defined in your ``local.conf`` file: 5125 defined in your ``local.conf`` file::
5294 ::
5295 5126
5296 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ 5127 PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \
5297 https://example.com/packagerepos/updates" 5128 https://example.com/packagerepos/updates"
@@ -5356,8 +5187,7 @@ system and gives an overview of their function and contents.
5356 recipe on a per-recipe basis. ``PACKAGECONFIG`` blocks are defined in 5187 recipe on a per-recipe basis. ``PACKAGECONFIG`` blocks are defined in
5357 recipes when you specify features and then arguments that define 5188 recipes when you specify features and then arguments that define
5358 feature behaviors. Here is the basic block structure (broken over 5189 feature behaviors. Here is the basic block structure (broken over
5359 multiple lines for readability): 5190 multiple lines for readability)::
5360 ::
5361 5191
5362 PACKAGECONFIG ??= "f1 f2 f3 ..." 5192 PACKAGECONFIG ??= "f1 f2 f3 ..."
5363 PACKAGECONFIG[f1] = "\ 5193 PACKAGECONFIG[f1] = "\
@@ -5423,26 +5253,22 @@ system and gives an overview of their function and contents.
5423 - *Append file:* Create an append file named 5253 - *Append file:* Create an append file named
5424 recipename\ ``.bbappend`` in your layer and override the value of 5254 recipename\ ``.bbappend`` in your layer and override the value of
5425 ``PACKAGECONFIG``. You can either completely override the 5255 ``PACKAGECONFIG``. You can either completely override the
5426 variable: 5256 variable::
5427 ::
5428 5257
5429 PACKAGECONFIG = "f4 f5" 5258 PACKAGECONFIG = "f4 f5"
5430 5259
5431 Or, you can just append the variable: 5260 Or, you can just append the variable::
5432 ::
5433 5261
5434 PACKAGECONFIG_append = " f4" 5262 PACKAGECONFIG_append = " f4"
5435 5263
5436 - *Configuration file:* This method is identical to changing the 5264 - *Configuration file:* This method is identical to changing the
5437 block through an append file except you edit your ``local.conf`` 5265 block through an append file except you edit your ``local.conf``
5438 or ``mydistro.conf`` file. As with append files previously 5266 or ``mydistro.conf`` file. As with append files previously
5439 described, you can either completely override the variable: 5267 described, you can either completely override the variable::
5440 ::
5441 5268
5442 PACKAGECONFIG_pn-recipename = "f4 f5" 5269 PACKAGECONFIG_pn-recipename = "f4 f5"
5443 5270
5444 Or, you can just amend the variable: 5271 Or, you can just amend the variable::
5445 ::
5446 5272
5447 PACKAGECONFIG_append_pn-recipename = " f4" 5273 PACKAGECONFIG_append_pn-recipename = " f4"
5448 5274
@@ -5467,8 +5293,7 @@ system and gives an overview of their function and contents.
5467 5293
5468 :term:`PACKAGES` 5294 :term:`PACKAGES`
5469 The list of packages the recipe creates. The default value is the 5295 The list of packages the recipe creates. The default value is the
5470 following: 5296 following::
5471 ::
5472 5297
5473 ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN} 5298 ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
5474 5299
@@ -5594,8 +5419,7 @@ system and gives an overview of their function and contents.
5594 patched, it uses "patch". 5419 patched, it uses "patch".
5595 5420
5596 If you wish to use an alternative patching tool, set the variable in 5421 If you wish to use an alternative patching tool, set the variable in
5597 the recipe using one of the following: 5422 the recipe using one of the following::
5598 ::
5599 5423
5600 PATCHTOOL = "patch" 5424 PATCHTOOL = "patch"
5601 PATCHTOOL = "quilt" 5425 PATCHTOOL = "quilt"
@@ -5641,8 +5465,7 @@ system and gives an overview of their function and contents.
5641 :term:`PKGD` 5465 :term:`PKGD`
5642 Points to the destination directory for files to be packaged before 5466 Points to the destination directory for files to be packaged before
5643 they are split into individual packages. This directory defaults to 5467 they are split into individual packages. This directory defaults to
5644 the following: 5468 the following::
5645 ::
5646 5469
5647 ${WORKDIR}/package 5470 ${WORKDIR}/package
5648 5471
@@ -5654,8 +5477,7 @@ system and gives an overview of their function and contents.
5654 :ref:`ref-tasks-packagedata` task packages data 5477 :ref:`ref-tasks-packagedata` task packages data
5655 for each recipe and installs it into this temporary, shared area. 5478 for each recipe and installs it into this temporary, shared area.
5656 This directory defaults to the following, which you should not 5479 This directory defaults to the following, which you should not
5657 change: 5480 change::
5658 ::
5659 5481
5660 ${STAGING_DIR_HOST}/pkgdata 5482 ${STAGING_DIR_HOST}/pkgdata
5661 5483
@@ -5670,8 +5492,7 @@ system and gives an overview of their function and contents.
5670 :term:`PKGDEST` 5492 :term:`PKGDEST`
5671 Points to the parent directory for files to be packaged after they 5493 Points to the parent directory for files to be packaged after they
5672 have been split into individual packages. This directory defaults to 5494 have been split into individual packages. This directory defaults to
5673 the following: 5495 the following::
5674 ::
5675 5496
5676 ${WORKDIR}/packages-split 5497 ${WORKDIR}/packages-split
5677 5498
@@ -5682,8 +5503,7 @@ system and gives an overview of their function and contents.
5682 :term:`PKGDESTWORK` 5503 :term:`PKGDESTWORK`
5683 Points to a temporary work area where the 5504 Points to a temporary work area where the
5684 :ref:`ref-tasks-package` task saves package metadata. 5505 :ref:`ref-tasks-package` task saves package metadata.
5685 The ``PKGDESTWORK`` location defaults to the following: 5506 The ``PKGDESTWORK`` location defaults to the following::
5686 ::
5687 5507
5688 ${WORKDIR}/pkgdata 5508 ${WORKDIR}/pkgdata
5689 5509
@@ -5732,16 +5552,14 @@ system and gives an overview of their function and contents.
5732 5552
5733 To prevent a recipe from being built, use the ``PNBLACKLIST`` 5553 To prevent a recipe from being built, use the ``PNBLACKLIST``
5734 variable in your ``local.conf`` file. Here is an example that 5554 variable in your ``local.conf`` file. Here is an example that
5735 prevents ``myrecipe`` from being built: 5555 prevents ``myrecipe`` from being built::
5736 ::
5737 5556
5738 PNBLACKLIST[myrecipe] = "Not supported by our organization." 5557 PNBLACKLIST[myrecipe] = "Not supported by our organization."
5739 5558
5740 :term:`POPULATE_SDK_POST_HOST_COMMAND` 5559 :term:`POPULATE_SDK_POST_HOST_COMMAND`
5741 Specifies a list of functions to call once the OpenEmbedded build 5560 Specifies a list of functions to call once the OpenEmbedded build
5742 system has created the host part of the SDK. You can specify 5561 system has created the host part of the SDK. You can specify
5743 functions separated by semicolons: 5562 functions separated by semicolons::
5744 ::
5745 5563
5746 POPULATE_SDK_POST_HOST_COMMAND += "function; ... " 5564 POPULATE_SDK_POST_HOST_COMMAND += "function; ... "
5747 5565
@@ -5753,8 +5571,7 @@ system and gives an overview of their function and contents.
5753 :term:`POPULATE_SDK_POST_TARGET_COMMAND` 5571 :term:`POPULATE_SDK_POST_TARGET_COMMAND`
5754 Specifies a list of functions to call once the OpenEmbedded build 5572 Specifies a list of functions to call once the OpenEmbedded build
5755 system has created the target part of the SDK. You can specify 5573 system has created the target part of the SDK. You can specify
5756 functions separated by semicolons: 5574 functions separated by semicolons::
5757 ::
5758 5575
5759 POPULATE_SDK_POST_TARGET_COMMAND += "function; ... " 5576 POPULATE_SDK_POST_TARGET_COMMAND += "function; ... "
5760 5577
@@ -5804,8 +5621,7 @@ system and gives an overview of their function and contents.
5804 preferred provider). You should always suffix this variable with the 5621 preferred provider). You should always suffix this variable with the
5805 name of the provided item. And, you should define the variable using 5622 name of the provided item. And, you should define the variable using
5806 the preferred recipe's name (:term:`PN`). Here is a common 5623 the preferred recipe's name (:term:`PN`). Here is a common
5807 example: 5624 example::
5808 ::
5809 5625
5810 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" 5626 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
5811 5627
@@ -5813,8 +5629,7 @@ system and gives an overview of their function and contents.
5813 The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of 5629 The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of
5814 the recipe you prefer to provide "virtual/kernel". 5630 the recipe you prefer to provide "virtual/kernel".
5815 5631
5816 Following are more examples: 5632 Following are more examples::
5817 ::
5818 5633
5819 PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" 5634 PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
5820 PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 5635 PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
@@ -5842,8 +5657,7 @@ system and gives an overview of their function and contents.
5842 through the "``%``" character. You can use the character to match any 5657 through the "``%``" character. You can use the character to match any
5843 number of characters, which can be useful when specifying versions 5658 number of characters, which can be useful when specifying versions
5844 that contain long revision numbers that potentially change. Here are 5659 that contain long revision numbers that potentially change. Here are
5845 two examples: 5660 two examples::
5846 ::
5847 5661
5848 PREFERRED_VERSION_python = "3.4.0" 5662 PREFERRED_VERSION_python = "3.4.0"
5849 PREFERRED_VERSION_linux-yocto = "5.0%" 5663 PREFERRED_VERSION_linux-yocto = "5.0%"
@@ -5857,35 +5671,30 @@ system and gives an overview of their function and contents.
5857 The specified version is matched against :term:`PV`, which 5671 The specified version is matched against :term:`PV`, which
5858 does not necessarily match the version part of the recipe's filename. 5672 does not necessarily match the version part of the recipe's filename.
5859 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb`` 5673 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
5860 where ``foo_git.bb`` contains the following assignment: 5674 where ``foo_git.bb`` contains the following assignment::
5861 ::
5862 5675
5863 PV = "1.1+git${SRCPV}" 5676 PV = "1.1+git${SRCPV}"
5864 5677
5865 In this case, the correct way to select 5678 In this case, the correct way to select
5866 ``foo_git.bb`` is by using an assignment such as the following: 5679 ``foo_git.bb`` is by using an assignment such as the following::
5867 ::
5868 5680
5869 PREFERRED_VERSION_foo = "1.1+git%" 5681 PREFERRED_VERSION_foo = "1.1+git%"
5870 5682
5871 Compare that previous example 5683 Compare that previous example
5872 against the following incorrect example, which does not work: 5684 against the following incorrect example, which does not work::
5873 ::
5874 5685
5875 PREFERRED_VERSION_foo = "git" 5686 PREFERRED_VERSION_foo = "git"
5876 5687
5877 Sometimes the ``PREFERRED_VERSION`` variable can be set by 5688 Sometimes the ``PREFERRED_VERSION`` variable can be set by
5878 configuration files in a way that is hard to change. You can use 5689 configuration files in a way that is hard to change. You can use
5879 :term:`OVERRIDES` to set a machine-specific 5690 :term:`OVERRIDES` to set a machine-specific
5880 override. Here is an example: 5691 override. Here is an example::
5881 ::
5882 5692
5883 PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%" 5693 PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%"
5884 5694
5885 Although not recommended, worst case, you can also use the 5695 Although not recommended, worst case, you can also use the
5886 "forcevariable" override, which is the strongest override possible. 5696 "forcevariable" override, which is the strongest override possible.
5887 Here is an example: 5697 Here is an example::
5888 ::
5889 5698
5890 PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%" 5699 PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%"
5891 5700
@@ -5913,8 +5722,7 @@ system and gives an overview of their function and contents.
5913 Typically, you could add a specific server for the build system to 5722 Typically, you could add a specific server for the build system to
5914 attempt before any others by adding something like the following to 5723 attempt before any others by adding something like the following to
5915 the ``local.conf`` configuration file in the 5724 the ``local.conf`` configuration file in the
5916 :term:`Build Directory`: 5725 :term:`Build Directory`::
5917 ::
5918 5726
5919 PREMIRRORS_prepend = "\ 5727 PREMIRRORS_prepend = "\
5920 git://.*/.* http://www.yoctoproject.org/sources/ \n \ 5728 git://.*/.* http://www.yoctoproject.org/sources/ \n \
@@ -5950,8 +5758,7 @@ system and gives an overview of their function and contents.
5950 standard version of the library. 5758 standard version of the library.
5951 5759
5952 Libraries specified in this variable should be specified by their 5760 Libraries specified in this variable should be specified by their
5953 file name. For example, from the Firefox recipe in meta-browser: 5761 file name. For example, from the Firefox recipe in meta-browser::
5954 ::
5955 5762
5956 PRIVATE_LIBS = "libmozjs.so \ 5763 PRIVATE_LIBS = "libmozjs.so \
5957 libxpcom.so \ 5764 libxpcom.so \
@@ -5975,8 +5782,7 @@ system and gives an overview of their function and contents.
5975 ``DEPENDS``. 5782 ``DEPENDS``.
5976 5783
5977 Consider the following example ``PROVIDES`` statement from the recipe 5784 Consider the following example ``PROVIDES`` statement from the recipe
5978 file ``eudev_3.2.9.bb``: 5785 file ``eudev_3.2.9.bb``::
5979 ::
5980 5786
5981 PROVIDES += "udev" 5787 PROVIDES += "udev"
5982 5788
@@ -6013,8 +5819,7 @@ system and gives an overview of their function and contents.
6013 the component that manages the ``/dev`` directory. 5819 the component that manages the ``/dev`` directory.
6014 5820
6015 Setting the "preferred provider" for runtime dependencies is as 5821 Setting the "preferred provider" for runtime dependencies is as
6016 simple as using the following assignment in a configuration file: 5822 simple as using the following assignment in a configuration file::
6017 ::
6018 5823
6019 VIRTUAL-RUNTIME_dev_manager = "udev" 5824 VIRTUAL-RUNTIME_dev_manager = "udev"
6020 5825
@@ -6024,8 +5829,7 @@ system and gives an overview of their function and contents.
6024 5829
6025 The ``conf/local.conf.sample.extended`` configuration file in the 5830 The ``conf/local.conf.sample.extended`` configuration file in the
6026 :term:`Source Directory` shows how the 5831 :term:`Source Directory` shows how the
6027 ``PRSERV_HOST`` variable is set: 5832 ``PRSERV_HOST`` variable is set::
6028 ::
6029 5833
6030 PRSERV_HOST = "localhost:0" 5834 PRSERV_HOST = "localhost:0"
6031 5835
@@ -6086,8 +5890,7 @@ system and gives an overview of their function and contents.
6086 OpenEmbedded build system automatically sets it for you. 5890 OpenEmbedded build system automatically sets it for you.
6087 5891
6088 The variable allows recipes to use common infrastructure such as the 5892 The variable allows recipes to use common infrastructure such as the
6089 following: 5893 following::
6090 ::
6091 5894
6092 DEPENDS += "${PYTHON_PN}-native" 5895 DEPENDS += "${PYTHON_PN}-native"
6093 5896
@@ -6102,8 +5905,7 @@ system and gives an overview of their function and contents.
6102 will not be installed if conflicting packages are not first removed. 5905 will not be installed if conflicting packages are not first removed.
6103 5906
6104 Like all package-controlling variables, you must always use them in 5907 Like all package-controlling variables, you must always use them in
6105 conjunction with a package name override. Here is an example: 5908 conjunction with a package name override. Here is an example::
6106 ::
6107 5909
6108 RCONFLICTS_${PN} = "another_conflicting_package_name" 5910 RCONFLICTS_${PN} = "another_conflicting_package_name"
6109 5911
@@ -6111,8 +5913,7 @@ system and gives an overview of their function and contents.
6111 specifying versioned dependencies. Although the syntax varies 5913 specifying versioned dependencies. Although the syntax varies
6112 depending on the packaging format, BitBake hides these differences 5914 depending on the packaging format, BitBake hides these differences
6113 from you. Here is the general syntax to specify versions with the 5915 from you. Here is the general syntax to specify versions with the
6114 ``RCONFLICTS`` variable: 5916 ``RCONFLICTS`` variable::
6115 ::
6116 5917
6117 RCONFLICTS_${PN} = "package (operator version)" 5918 RCONFLICTS_${PN} = "package (operator version)"
6118 5919
@@ -6125,8 +5926,7 @@ system and gives an overview of their function and contents.
6125 - >= 5926 - >=
6126 5927
6127 For example, the following sets up a dependency on version 1.2 or 5928 For example, the following sets up a dependency on version 1.2 or
6128 greater of the package ``foo``: 5929 greater of the package ``foo``::
6129 ::
6130 5930
6131 RCONFLICTS_${PN} = "foo (>= 1.2)" 5931 RCONFLICTS_${PN} = "foo (>= 1.2)"
6132 5932
@@ -6135,8 +5935,7 @@ system and gives an overview of their function and contents.
6135 packages that must be installed in order for the package to function 5935 packages that must be installed in order for the package to function
6136 correctly. As an example, the following assignment declares that the 5936 correctly. As an example, the following assignment declares that the
6137 package ``foo`` needs the packages ``bar`` and ``baz`` to be 5937 package ``foo`` needs the packages ``bar`` and ``baz`` to be
6138 installed: 5938 installed::
6139 ::
6140 5939
6141 RDEPENDS_foo = "bar baz" 5940 RDEPENDS_foo = "bar baz"
6142 5941
@@ -6177,8 +5976,7 @@ system and gives an overview of their function and contents.
6177 name (remember that a single recipe can build multiple packages). For 5976 name (remember that a single recipe can build multiple packages). For
6178 example, suppose you are building a development package that depends 5977 example, suppose you are building a development package that depends
6179 on the ``perl`` package. In this case, you would use the following 5978 on the ``perl`` package. In this case, you would use the following
6180 ``RDEPENDS`` statement: 5979 ``RDEPENDS`` statement::
6181 ::
6182 5980
6183 RDEPENDS_${PN}-dev += "perl" 5981 RDEPENDS_${PN}-dev += "perl"
6184 5982
@@ -6207,8 +6005,7 @@ system and gives an overview of their function and contents.
6207 specifying versioned dependencies. Although the syntax varies 6005 specifying versioned dependencies. Although the syntax varies
6208 depending on the packaging format, BitBake hides these differences 6006 depending on the packaging format, BitBake hides these differences
6209 from you. Here is the general syntax to specify versions with the 6007 from you. Here is the general syntax to specify versions with the
6210 ``RDEPENDS`` variable: 6008 ``RDEPENDS`` variable::
6211 ::
6212 6009
6213 RDEPENDS_${PN} = "package (operator version)" 6010 RDEPENDS_${PN} = "package (operator version)"
6214 6011
@@ -6228,8 +6025,7 @@ system and gives an overview of their function and contents.
6228 specification. 6025 specification.
6229 6026
6230 For example, the following sets up a dependency on version 1.2 or 6027 For example, the following sets up a dependency on version 1.2 or
6231 greater of the package ``foo``: 6028 greater of the package ``foo``::
6232 ::
6233 6029
6234 RDEPENDS_${PN} = "foo (>= 1.2)" 6030 RDEPENDS_${PN} = "foo (>= 1.2)"
6235 6031
@@ -6270,8 +6066,7 @@ system and gives an overview of their function and contents.
6270 6066
6271 :term:`ROOT_HOME` 6067 :term:`ROOT_HOME`
6272 Defines the root home directory. By default, this directory is set as 6068 Defines the root home directory. By default, this directory is set as
6273 follows in the BitBake configuration file: 6069 follows in the BitBake configuration file::
6274 ::
6275 6070
6276 ROOT_HOME ??= "/home/root" 6071 ROOT_HOME ??= "/home/root"
6277 6072
@@ -6284,8 +6079,7 @@ system and gives an overview of their function and contents.
6284 You can override the default by setting the variable in any layer or 6079 You can override the default by setting the variable in any layer or
6285 in the ``local.conf`` file. Because the default is set using a "weak" 6080 in the ``local.conf`` file. Because the default is set using a "weak"
6286 assignment (i.e. "??="), you can use either of the following forms to 6081 assignment (i.e. "??="), you can use either of the following forms to
6287 define your override: 6082 define your override::
6288 ::
6289 6083
6290 ROOT_HOME = "/root" 6084 ROOT_HOME = "/root"
6291 ROOT_HOME ?= "/root" 6085 ROOT_HOME ?= "/root"
@@ -6303,8 +6097,7 @@ system and gives an overview of their function and contents.
6303 :term:`ROOTFS_POSTINSTALL_COMMAND` 6097 :term:`ROOTFS_POSTINSTALL_COMMAND`
6304 Specifies a list of functions to call after the OpenEmbedded build 6098 Specifies a list of functions to call after the OpenEmbedded build
6305 system has installed packages. You can specify functions separated by 6099 system has installed packages. You can specify functions separated by
6306 semicolons: 6100 semicolons::
6307 ::
6308 6101
6309 ROOTFS_POSTINSTALL_COMMAND += "function; ... " 6102 ROOTFS_POSTINSTALL_COMMAND += "function; ... "
6310 6103
@@ -6317,8 +6110,7 @@ system and gives an overview of their function and contents.
6317 :term:`ROOTFS_POSTPROCESS_COMMAND` 6110 :term:`ROOTFS_POSTPROCESS_COMMAND`
6318 Specifies a list of functions to call once the OpenEmbedded build 6111 Specifies a list of functions to call once the OpenEmbedded build
6319 system has created the root filesystem. You can specify functions 6112 system has created the root filesystem. You can specify functions
6320 separated by semicolons: 6113 separated by semicolons::
6321 ::
6322 6114
6323 ROOTFS_POSTPROCESS_COMMAND += "function; ... " 6115 ROOTFS_POSTPROCESS_COMMAND += "function; ... "
6324 6116
@@ -6333,8 +6125,7 @@ system and gives an overview of their function and contents.
6333 system has removed unnecessary packages. When runtime package 6125 system has removed unnecessary packages. When runtime package
6334 management is disabled in the image, several packages are removed 6126 management is disabled in the image, several packages are removed
6335 including ``base-passwd``, ``shadow``, and ``update-alternatives``. 6127 including ``base-passwd``, ``shadow``, and ``update-alternatives``.
6336 You can specify functions separated by semicolons: 6128 You can specify functions separated by semicolons::
6337 ::
6338 6129
6339 ROOTFS_POSTUNINSTALL_COMMAND += "function; ... " 6130 ROOTFS_POSTUNINSTALL_COMMAND += "function; ... "
6340 6131
@@ -6347,8 +6138,7 @@ system and gives an overview of their function and contents.
6347 :term:`ROOTFS_PREPROCESS_COMMAND` 6138 :term:`ROOTFS_PREPROCESS_COMMAND`
6348 Specifies a list of functions to call before the OpenEmbedded build 6139 Specifies a list of functions to call before the OpenEmbedded build
6349 system has created the root filesystem. You can specify functions 6140 system has created the root filesystem. You can specify functions
6350 separated by semicolons: 6141 separated by semicolons::
6351 ::
6352 6142
6353 ROOTFS_PREPROCESS_COMMAND += "function; ... " 6143 ROOTFS_PREPROCESS_COMMAND += "function; ... "
6354 6144
@@ -6370,8 +6160,7 @@ system and gives an overview of their function and contents.
6370 6160
6371 As with all package-controlling variables, you must always use the 6161 As with all package-controlling variables, you must always use the
6372 variable in conjunction with a package name override. Here is an 6162 variable in conjunction with a package name override. Here is an
6373 example: 6163 example::
6374 ::
6375 6164
6376 RPROVIDES_${PN} = "widget-abi-2" 6165 RPROVIDES_${PN} = "widget-abi-2"
6377 6166
@@ -6402,8 +6191,7 @@ system and gives an overview of their function and contents.
6402 particular package whose usability is being extended. For example, 6191 particular package whose usability is being extended. For example,
6403 suppose you are building a development package that is extended to 6192 suppose you are building a development package that is extended to
6404 support wireless functionality. In this case, you would use the 6193 support wireless functionality. In this case, you would use the
6405 following: 6194 following::
6406 ::
6407 6195
6408 RRECOMMENDS_${PN}-dev += "wireless_package_name" 6196 RRECOMMENDS_${PN}-dev += "wireless_package_name"
6409 6197
@@ -6416,8 +6204,7 @@ system and gives an overview of their function and contents.
6416 specifying versioned recommends. Although the syntax varies depending 6204 specifying versioned recommends. Although the syntax varies depending
6417 on the packaging format, BitBake hides these differences from you. 6205 on the packaging format, BitBake hides these differences from you.
6418 Here is the general syntax to specify versions with the 6206 Here is the general syntax to specify versions with the
6419 ``RRECOMMENDS`` variable: 6207 ``RRECOMMENDS`` variable::
6420 ::
6421 6208
6422 RRECOMMENDS_${PN} = "package (operator version)" 6209 RRECOMMENDS_${PN} = "package (operator version)"
6423 6210
@@ -6430,8 +6217,7 @@ system and gives an overview of their function and contents.
6430 - >= 6217 - >=
6431 6218
6432 For example, the following sets up a recommend on version 1.2 or 6219 For example, the following sets up a recommend on version 1.2 or
6433 greater of the package ``foo``: 6220 greater of the package ``foo``::
6434 ::
6435 6221
6436 RRECOMMENDS_${PN} = "foo (>= 1.2)" 6222 RRECOMMENDS_${PN} = "foo (>= 1.2)"
6437 6223
@@ -6443,8 +6229,7 @@ system and gives an overview of their function and contents.
6443 the other package to the ``RCONFLICTS`` variable. 6229 the other package to the ``RCONFLICTS`` variable.
6444 6230
6445 As with all package-controlling variables, you must use this variable 6231 As with all package-controlling variables, you must use this variable
6446 in conjunction with a package name override. Here is an example: 6232 in conjunction with a package name override. Here is an example::
6447 ::
6448 6233
6449 RREPLACES_${PN} = "other_package_being_replaced" 6234 RREPLACES_${PN} = "other_package_being_replaced"
6450 6235
@@ -6452,8 +6237,7 @@ system and gives an overview of their function and contents.
6452 specifying versioned replacements. Although the syntax varies 6237 specifying versioned replacements. Although the syntax varies
6453 depending on the packaging format, BitBake hides these differences 6238 depending on the packaging format, BitBake hides these differences
6454 from you. Here is the general syntax to specify versions with the 6239 from you. Here is the general syntax to specify versions with the
6455 ``RREPLACES`` variable: 6240 ``RREPLACES`` variable::
6456 ::
6457 6241
6458 RREPLACES_${PN} = "package (operator version)" 6242 RREPLACES_${PN} = "package (operator version)"
6459 6243
@@ -6466,8 +6250,7 @@ system and gives an overview of their function and contents.
6466 - >= 6250 - >=
6467 6251
6468 For example, the following sets up a replacement using version 1.2 6252 For example, the following sets up a replacement using version 1.2
6469 or greater of the package ``foo``: 6253 or greater of the package ``foo``::
6470 ::
6471 6254
6472 RREPLACES_${PN} = "foo (>= 1.2)" 6255 RREPLACES_${PN} = "foo (>= 1.2)"
6473 6256
@@ -6478,8 +6261,7 @@ system and gives an overview of their function and contents.
6478 6261
6479 As with all package-controlling variables, you must always use this 6262 As with all package-controlling variables, you must always use this
6480 variable in conjunction with a package name override. Here is an 6263 variable in conjunction with a package name override. Here is an
6481 example: 6264 example::
6482 ::
6483 6265
6484 RSUGGESTS_${PN} = "useful_package another_package" 6266 RSUGGESTS_${PN} = "useful_package another_package"
6485 6267
@@ -6497,8 +6279,7 @@ system and gives an overview of their function and contents.
6497 As an example, assume a :term:`Source Directory` 6279 As an example, assume a :term:`Source Directory`
6498 top-level folder named ``poky`` and a default Build Directory at 6280 top-level folder named ``poky`` and a default Build Directory at
6499 ``poky/build``. In this case, the work directory the build system 6281 ``poky/build``. In this case, the work directory the build system
6500 uses to keep the unpacked recipe for ``db`` is the following: 6282 uses to keep the unpacked recipe for ``db`` is the following::
6501 ::
6502 6283
6503 poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 6284 poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19
6504 6285
@@ -6508,8 +6289,7 @@ system and gives an overview of their function and contents.
6508 repositories are cloned to ``${WORKDIR}/git`` during 6289 repositories are cloned to ``${WORKDIR}/git`` during
6509 :ref:`ref-tasks-fetch`. Since this path is different 6290 :ref:`ref-tasks-fetch`. Since this path is different
6510 from the default value of ``S``, you must set it specifically so the 6291 from the default value of ``S``, you must set it specifically so the
6511 source can be located: 6292 source can be located::
6512 ::
6513 6293
6514 SRC_URI = "git://path/to/repo.git" 6294 SRC_URI = "git://path/to/repo.git"
6515 S = "${WORKDIR}/git" 6295 S = "${WORKDIR}/git"
@@ -6544,8 +6324,7 @@ system and gives an overview of their function and contents.
6544 The directory set up and used by the 6324 The directory set up and used by the
6545 :ref:`populate_sdk_base <ref-classes-populate-sdk>` class to which 6325 :ref:`populate_sdk_base <ref-classes-populate-sdk>` class to which
6546 the SDK is deployed. The ``populate_sdk_base`` class defines 6326 the SDK is deployed. The ``populate_sdk_base`` class defines
6547 ``SDK_DEPLOY`` as follows: 6327 ``SDK_DEPLOY`` as follows::
6548 ::
6549 6328
6550 SDK_DEPLOY = "${TMPDIR}/deploy/sdk" 6329 SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
6551 6330
@@ -6553,8 +6332,7 @@ system and gives an overview of their function and contents.
6553 The parent directory used by the OpenEmbedded build system when 6332 The parent directory used by the OpenEmbedded build system when
6554 creating SDK output. The 6333 creating SDK output. The
6555 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class defines 6334 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class defines
6556 the variable as follows: 6335 the variable as follows::
6557 ::
6558 6336
6559 SDK_DIR = "${WORKDIR}/sdk" 6337 SDK_DIR = "${WORKDIR}/sdk"
6560 6338
@@ -6579,14 +6357,12 @@ system and gives an overview of their function and contents.
6579 The manifest file for the host part of the SDK. This file lists all 6357 The manifest file for the host part of the SDK. This file lists all
6580 the installed packages that make up the host part of the SDK. The 6358 the installed packages that make up the host part of the SDK. The
6581 file contains package information on a line-per-package basis as 6359 file contains package information on a line-per-package basis as
6582 follows: 6360 follows::
6583 ::
6584 6361
6585 packagename packagearch version 6362 packagename packagearch version
6586 6363
6587 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class 6364 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class
6588 defines the manifest file as follows: 6365 defines the manifest file as follows::
6589 ::
6590 6366
6591 SDK_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" 6367 SDK_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
6592 6368
@@ -6624,8 +6400,7 @@ system and gives an overview of their function and contents.
6624 A list of classes to remove from the :term:`INHERIT` 6400 A list of classes to remove from the :term:`INHERIT`
6625 value globally within the extensible SDK configuration. The 6401 value globally within the extensible SDK configuration. The
6626 :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the 6402 :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the
6627 default value: 6403 default value::
6628 ::
6629 6404
6630 SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" 6405 SDK_INHERIT_BLACKLIST ?= "buildhistory icecc"
6631 6406
@@ -6688,8 +6463,7 @@ system and gives an overview of their function and contents.
6688 :term:`DISTRO`, :term:`TCLIBC`, 6463 :term:`DISTRO`, :term:`TCLIBC`,
6689 :term:`SDK_ARCH`, 6464 :term:`SDK_ARCH`,
6690 :term:`IMAGE_BASENAME`, and 6465 :term:`IMAGE_BASENAME`, and
6691 :term:`TUNE_PKGARCH` variables: 6466 :term:`TUNE_PKGARCH` variables::
6692 ::
6693 6467
6694 SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}" 6468 SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
6695 6469
@@ -6700,8 +6474,7 @@ system and gives an overview of their function and contents.
6700 :term:`SDK_OUTPUT` 6474 :term:`SDK_OUTPUT`
6701 The location used by the OpenEmbedded build system when creating SDK 6475 The location used by the OpenEmbedded build system when creating SDK
6702 output. The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` 6476 output. The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>`
6703 class defines the variable as follows: 6477 class defines the variable as follows::
6704 ::
6705 6478
6706 SDK_DIR = "${WORKDIR}/sdk" 6479 SDK_DIR = "${WORKDIR}/sdk"
6707 SDK_OUTPUT = "${SDK_DIR}/image" 6480 SDK_OUTPUT = "${SDK_DIR}/image"
@@ -6766,14 +6539,12 @@ system and gives an overview of their function and contents.
6766 The manifest file for the target part of the SDK. This file lists all 6539 The manifest file for the target part of the SDK. This file lists all
6767 the installed packages that make up the target part of the SDK. The 6540 the installed packages that make up the target part of the SDK. The
6768 file contains package information on a line-per-package basis as 6541 file contains package information on a line-per-package basis as
6769 follows: 6542 follows::
6770 ::
6771 6543
6772 packagename packagearch version 6544 packagename packagearch version
6773 6545
6774 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class 6546 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class
6775 defines the manifest file as follows: 6547 defines the manifest file as follows::
6776 ::
6777 6548
6778 SDK_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" 6549 SDK_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
6779 6550
@@ -6793,8 +6564,7 @@ system and gives an overview of their function and contents.
6793 this title is based on the :term:`DISTRO_NAME` or 6564 this title is based on the :term:`DISTRO_NAME` or
6794 :term:`DISTRO` variable and is set in the 6565 :term:`DISTRO` variable and is set in the
6795 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as 6566 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as
6796 follows: 6567 follows::
6797 ::
6798 6568
6799 SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" 6569 SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
6800 6570
@@ -6817,8 +6587,7 @@ system and gives an overview of their function and contents.
6817 :term:`SDK_VERSION` 6587 :term:`SDK_VERSION`
6818 Specifies the version of the SDK. The Poky distribution configuration file 6588 Specifies the version of the SDK. The Poky distribution configuration file
6819 (``/meta-poky/conf/distro/poky.conf``) sets the default 6589 (``/meta-poky/conf/distro/poky.conf``) sets the default
6820 ``SDK_VERSION`` as follows: 6590 ``SDK_VERSION`` as follows::
6821 ::
6822 6591
6823 SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" 6592 SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
6824 6593
@@ -6831,8 +6600,7 @@ system and gives an overview of their function and contents.
6831 default, this directory is based on the :term:`DISTRO` 6600 default, this directory is based on the :term:`DISTRO`
6832 variable and is set in the 6601 variable and is set in the
6833 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as 6602 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as
6834 follows: 6603 follows::
6835 ::
6836 6604
6837 SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" 6605 SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk"
6838 6606
@@ -6846,8 +6614,7 @@ system and gives an overview of their function and contents.
6846 6614
6847 :term:`SDKIMAGE_FEATURES` 6615 :term:`SDKIMAGE_FEATURES`
6848 Equivalent to ``IMAGE_FEATURES``. However, this variable applies to 6616 Equivalent to ``IMAGE_FEATURES``. However, this variable applies to
6849 the SDK generated from an image using the following command: 6617 the SDK generated from an image using the following command::
6850 ::
6851 6618
6852 $ bitbake -c populate_sdk imagename 6619 $ bitbake -c populate_sdk imagename
6853 6620
@@ -6899,8 +6666,7 @@ system and gives an overview of their function and contents.
6899 Defines a serial console (TTY) to enable using 6666 Defines a serial console (TTY) to enable using
6900 `getty <https://en.wikipedia.org/wiki/Getty_(Unix)>`__. Provide a 6667 `getty <https://en.wikipedia.org/wiki/Getty_(Unix)>`__. Provide a
6901 value that specifies the baud rate followed by the TTY device name 6668 value that specifies the baud rate followed by the TTY device name
6902 separated by a space. You cannot specify more than one TTY device: 6669 separated by a space. You cannot specify more than one TTY device::
6903 ::
6904 6670
6905 SERIAL_CONSOLE = "115200 ttyS0" 6671 SERIAL_CONSOLE = "115200 ttyS0"
6906 6672
@@ -6913,8 +6679,7 @@ system and gives an overview of their function and contents.
6913 Defines a serial console (TTY) to enable using 6679 Defines a serial console (TTY) to enable using
6914 `getty <https://en.wikipedia.org/wiki/Getty_(Unix)>`__. Provide a 6680 `getty <https://en.wikipedia.org/wiki/Getty_(Unix)>`__. Provide a
6915 value that specifies the baud rate followed by the TTY device name 6681 value that specifies the baud rate followed by the TTY device name
6916 separated by a semicolon. Use spaces to separate multiple devices: 6682 separated by a semicolon. Use spaces to separate multiple devices::
6917 ::
6918 6683
6919 SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1" 6684 SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1"
6920 6685
@@ -7044,8 +6809,7 @@ system and gives an overview of their function and contents.
7044 6809
7045 To use this variable, you must globally inherit the 6810 To use this variable, you must globally inherit the
7046 :ref:`own-mirrors <ref-classes-own-mirrors>` class and then provide 6811 :ref:`own-mirrors <ref-classes-own-mirrors>` class and then provide
7047 the URL to your mirrors. Here is the general syntax: 6812 the URL to your mirrors. Here is the general syntax::
7048 ::
7049 6813
7050 INHERIT += "own-mirrors" 6814 INHERIT += "own-mirrors"
7051 SOURCE_MIRROR_URL = "http://example.com/my_source_mirror" 6815 SOURCE_MIRROR_URL = "http://example.com/my_source_mirror"
@@ -7076,8 +6840,7 @@ system and gives an overview of their function and contents.
7076 U-Boot recipe. 6840 U-Boot recipe.
7077 6841
7078 The SPL file type is set to "null" by default in the ``u-boot.inc`` 6842 The SPL file type is set to "null" by default in the ``u-boot.inc``
7079 file as follows: 6843 file as follows::
7080 ::
7081 6844
7082 # Some versions of u-boot build an SPL (Second Program Loader) image that 6845 # Some versions of u-boot build an SPL (Second Program Loader) image that
7083 # should be packaged along with the u-boot binary as well as placed in the 6846 # should be packaged along with the u-boot binary as well as placed in the
@@ -7236,8 +6999,7 @@ system and gives an overview of their function and contents.
7236 6999
7237 - ``name`` - Specifies a name to be used for association with 7000 - ``name`` - Specifies a name to be used for association with
7238 ``SRC_URI`` checksums or :term:`SRCREV` when you have more than one 7001 ``SRC_URI`` checksums or :term:`SRCREV` when you have more than one
7239 file or git repository specified in ``SRC_URI``. For example: 7002 file or git repository specified in ``SRC_URI``. For example::
7240 ::
7241 7003
7242 SRC_URI = "git://example.com/foo.git;name=first \ 7004 SRC_URI = "git://example.com/foo.git;name=first \
7243 git://example.com/bar.git;name=second \ 7005 git://example.com/bar.git;name=second \
@@ -7268,16 +7030,14 @@ system and gives an overview of their function and contents.
7268 7030
7269 The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf`` 7031 The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf``
7270 configuration file in the :term:`Source Directory` as 7032 configuration file in the :term:`Source Directory` as
7271 follows: 7033 follows::
7272 ::
7273 7034
7274 SRCPV = "${@bb.fetch2.get_srcrev(d)}" 7035 SRCPV = "${@bb.fetch2.get_srcrev(d)}"
7275 7036
7276 Recipes that need to define ``PV`` do so with the help of the 7037 Recipes that need to define ``PV`` do so with the help of the
7277 ``SRCPV``. For example, the ``ofono`` recipe (``ofono_git.bb``) 7038 ``SRCPV``. For example, the ``ofono`` recipe (``ofono_git.bb``)
7278 located in ``meta/recipes-connectivity`` in the Source Directory 7039 located in ``meta/recipes-connectivity`` in the Source Directory
7279 defines ``PV`` as follows: 7040 defines ``PV`` as follows::
7280 ::
7281 7041
7282 PV = "0.12-git${SRCPV}" 7042 PV = "0.12-git${SRCPV}"
7283 7043
@@ -7328,8 +7088,7 @@ system and gives an overview of their function and contents.
7328 :term:`NATIVELSBSTRING` set by the 7088 :term:`NATIVELSBSTRING` set by the
7329 :ref:`uninative <ref-classes-uninative>` class. For example, the 7089 :ref:`uninative <ref-classes-uninative>` class. For example, the
7330 following maps the local search path ``universal-4.9`` to the 7090 following maps the local search path ``universal-4.9`` to the
7331 server-provided path server_url_sstate_path: 7091 server-provided path server_url_sstate_path::
7332 ::
7333 7092
7334 SSTATE_MIRRORS ?= "file://universal-4.9/(.*) http://server_url_sstate_path/universal-4.8/\1 \n" 7093 SSTATE_MIRRORS ?= "file://universal-4.9/(.*) http://server_url_sstate_path/universal-4.8/\1 \n"
7335 7094
@@ -7524,8 +7283,7 @@ system and gives an overview of their function and contents.
7524 to an actual stamp file is constructed by evaluating this string and 7283 to an actual stamp file is constructed by evaluating this string and
7525 then appending additional information. Currently, the default 7284 then appending additional information. Currently, the default
7526 assignment for ``STAMP`` as set in the ``meta/conf/bitbake.conf`` 7285 assignment for ``STAMP`` as set in the ``meta/conf/bitbake.conf``
7527 file is: 7286 file is::
7528 ::
7529 7287
7530 STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" 7288 STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
7531 7289
@@ -7562,8 +7320,7 @@ system and gives an overview of their function and contents.
7562 :term:`SYSLINUX_DEFAULT_CONSOLE` 7320 :term:`SYSLINUX_DEFAULT_CONSOLE`
7563 Specifies the kernel boot default console. If you want to use a 7321 Specifies the kernel boot default console. If you want to use a
7564 console other than the default, set this variable in your recipe as 7322 console other than the default, set this variable in your recipe as
7565 follows where "X" is the console number you want to use: 7323 follows where "X" is the console number you want to use::
7566 ::
7567 7324
7568 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX" 7325 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX"
7569 7326
@@ -7582,8 +7339,7 @@ system and gives an overview of their function and contents.
7582 Specifies the alternate serial port or turns it off. To turn off 7339 Specifies the alternate serial port or turns it off. To turn off
7583 serial, set this variable to an empty string in your recipe. The 7340 serial, set this variable to an empty string in your recipe. The
7584 variable's default value is set in the 7341 variable's default value is set in the
7585 :ref:`syslinux <ref-classes-syslinux>` class as follows: 7342 :ref:`syslinux <ref-classes-syslinux>` class as follows::
7586 ::
7587 7343
7588 SYSLINUX_SERIAL ?= "0 115200" 7344 SYSLINUX_SERIAL ?= "0 115200"
7589 7345
@@ -7592,8 +7348,7 @@ system and gives an overview of their function and contents.
7592 :term:`SYSLINUX_SERIAL_TTY` 7348 :term:`SYSLINUX_SERIAL_TTY`
7593 Specifies the alternate console=tty... kernel boot argument. The 7349 Specifies the alternate console=tty... kernel boot argument. The
7594 variable's default value is set in the 7350 variable's default value is set in the
7595 :ref:`syslinux <ref-classes-syslinux>` class as follows: 7351 :ref:`syslinux <ref-classes-syslinux>` class as follows::
7596 ::
7597 7352
7598 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" 7353 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200"
7599 7354
@@ -7616,8 +7371,7 @@ system and gives an overview of their function and contents.
7616 :term:`SYSROOT_DIRS` 7371 :term:`SYSROOT_DIRS`
7617 Directories that are staged into the sysroot by the 7372 Directories that are staged into the sysroot by the
7618 :ref:`ref-tasks-populate_sysroot` task. By 7373 :ref:`ref-tasks-populate_sysroot` task. By
7619 default, the following directories are staged: 7374 default, the following directories are staged::
7620 ::
7621 7375
7622 SYSROOT_DIRS = " \ 7376 SYSROOT_DIRS = " \
7623 ${includedir} \ 7377 ${includedir} \
@@ -7632,8 +7386,7 @@ system and gives an overview of their function and contents.
7632 :ref:`ref-tasks-populate_sysroot` task. You 7386 :ref:`ref-tasks-populate_sysroot` task. You
7633 can use this variable to exclude certain subdirectories of 7387 can use this variable to exclude certain subdirectories of
7634 directories listed in :term:`SYSROOT_DIRS` from 7388 directories listed in :term:`SYSROOT_DIRS` from
7635 staging. By default, the following directories are not staged: 7389 staging. By default, the following directories are not staged::
7636 ::
7637 7390
7638 SYSROOT_DIRS_BLACKLIST = " \ 7391 SYSROOT_DIRS_BLACKLIST = " \
7639 ${mandir} \ 7392 ${mandir} \
@@ -7650,8 +7403,7 @@ system and gives an overview of their function and contents.
7650 :ref:`ref-tasks-populate_sysroot` task for 7403 :ref:`ref-tasks-populate_sysroot` task for
7651 ``-native`` recipes, in addition to those specified in 7404 ``-native`` recipes, in addition to those specified in
7652 :term:`SYSROOT_DIRS`. By default, the following 7405 :term:`SYSROOT_DIRS`. By default, the following
7653 extra directories are staged: 7406 extra directories are staged::
7654 ::
7655 7407
7656 SYSROOT_DIRS_NATIVE = " \ 7408 SYSROOT_DIRS_NATIVE = " \
7657 ${bindir} \ 7409 ${bindir} \
@@ -7680,8 +7432,7 @@ system and gives an overview of their function and contents.
7680 :term:`SYSTEMD_SERVICE` should start 7432 :term:`SYSTEMD_SERVICE` should start
7681 automatically or not. By default, the service is enabled to 7433 automatically or not. By default, the service is enabled to
7682 automatically start at boot time. The default setting is in the 7434 automatically start at boot time. The default setting is in the
7683 :ref:`systemd <ref-classes-systemd>` class as follows: 7435 :ref:`systemd <ref-classes-systemd>` class as follows::
7684 ::
7685 7436
7686 SYSTEMD_AUTO_ENABLE ??= "enable" 7437 SYSTEMD_AUTO_ENABLE ??= "enable"
7687 7438
@@ -7692,8 +7443,7 @@ system and gives an overview of their function and contents.
7692 "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the 7443 "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the
7693 configuration file that should be used. By default, the 7444 configuration file that should be used. By default, the
7694 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 7445 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the
7695 ``SYSTEMD_BOOT_CFG`` as follows: 7446 ``SYSTEMD_BOOT_CFG`` as follows::
7696 ::
7697 7447
7698 SYSTEMD_BOOT_CFG ?= "${:term:`S`}/loader.conf" 7448 SYSTEMD_BOOT_CFG ?= "${:term:`S`}/loader.conf"
7699 7449
@@ -7706,8 +7456,7 @@ system and gives an overview of their function and contents.
7706 list of entry files (``*.conf``) to install that contain one boot 7456 list of entry files (``*.conf``) to install that contain one boot
7707 entry per file. By default, the 7457 entry per file. By default, the
7708 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 7458 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the
7709 ``SYSTEMD_BOOT_ENTRIES`` as follows: 7459 ``SYSTEMD_BOOT_ENTRIES`` as follows::
7710 ::
7711 7460
7712 SYSTEMD_BOOT_ENTRIES ?= "" 7461 SYSTEMD_BOOT_ENTRIES ?= ""
7713 7462
@@ -7719,8 +7468,7 @@ system and gives an overview of their function and contents.
7719 "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the 7468 "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the
7720 boot menu timeout in seconds. By default, the 7469 boot menu timeout in seconds. By default, the
7721 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 7470 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the
7722 ``SYSTEMD_BOOT_TIMEOUT`` as follows: 7471 ``SYSTEMD_BOOT_TIMEOUT`` as follows::
7723 ::
7724 7472
7725 SYSTEMD_BOOT_TIMEOUT ?= "10" 7473 SYSTEMD_BOOT_TIMEOUT ?= "10"
7726 7474
@@ -7732,8 +7480,7 @@ system and gives an overview of their function and contents.
7732 this variable locates the systemd unit files when they are not found 7480 this variable locates the systemd unit files when they are not found
7733 in the main recipe's package. By default, the ``SYSTEMD_PACKAGES`` 7481 in the main recipe's package. By default, the ``SYSTEMD_PACKAGES``
7734 variable is set such that the systemd unit files are assumed to 7482 variable is set such that the systemd unit files are assumed to
7735 reside in the recipes main package: 7483 reside in the recipes main package::
7736 ::
7737 7484
7738 SYSTEMD_PACKAGES ?= "${PN}" 7485 SYSTEMD_PACKAGES ?= "${PN}"
7739 7486
@@ -7747,8 +7494,7 @@ system and gives an overview of their function and contents.
7747 7494
7748 When you specify this file in your recipe, use a package name 7495 When you specify this file in your recipe, use a package name
7749 override to indicate the package to which the value applies. Here is 7496 override to indicate the package to which the value applies. Here is
7750 an example from the connman recipe: 7497 an example from the connman recipe::
7751 ::
7752 7498
7753 SYSTEMD_SERVICE_${PN} = "connman.service" 7499 SYSTEMD_SERVICE_${PN} = "connman.service"
7754 7500
@@ -7766,8 +7512,7 @@ system and gives an overview of their function and contents.
7766 :term:`T` 7512 :term:`T`
7767 This variable points to a directory were BitBake places temporary 7513 This variable points to a directory were BitBake places temporary
7768 files, which consist mostly of task logs and scripts, when building a 7514 files, which consist mostly of task logs and scripts, when building a
7769 particular recipe. The variable is typically set as follows: 7515 particular recipe. The variable is typically set as follows::
7770 ::
7771 7516
7772 T = "${WORKDIR}/temp" 7517 T = "${WORKDIR}/temp"
7773 7518
@@ -7801,8 +7546,7 @@ system and gives an overview of their function and contents.
7801 Specifies architecture-specific assembler flags for the target 7546 Specifies architecture-specific assembler flags for the target
7802 system. ``TARGET_AS_ARCH`` is initialized from 7547 system. ``TARGET_AS_ARCH`` is initialized from
7803 :term:`TUNE_ASARGS` by default in the BitBake 7548 :term:`TUNE_ASARGS` by default in the BitBake
7804 configuration file (``meta/conf/bitbake.conf``): 7549 configuration file (``meta/conf/bitbake.conf``)::
7805 ::
7806 7550
7807 TARGET_AS_ARCH = "${TUNE_ASARGS}" 7551 TARGET_AS_ARCH = "${TUNE_ASARGS}"
7808 7552
@@ -7869,8 +7613,7 @@ system and gives an overview of their function and contents.
7869 Specifies architecture-specific linker flags for the target system. 7613 Specifies architecture-specific linker flags for the target system.
7870 ``TARGET_LD_ARCH`` is initialized from 7614 ``TARGET_LD_ARCH`` is initialized from
7871 :term:`TUNE_LDARGS` by default in the BitBake 7615 :term:`TUNE_LDARGS` by default in the BitBake
7872 configuration file (``meta/conf/bitbake.conf``): 7616 configuration file (``meta/conf/bitbake.conf``)::
7873 ::
7874 7617
7875 TARGET_LD_ARCH = "${TUNE_LDARGS}" 7618 TARGET_LD_ARCH = "${TUNE_LDARGS}"
7876 7619
@@ -8051,8 +7794,7 @@ system and gives an overview of their function and contents.
8051 program does. 7794 program does.
8052 7795
8053 For example, to use the Picocom terminal program on serial device 7796 For example, to use the Picocom terminal program on serial device
8054 ``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows: 7797 ``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows::
8055 ::
8056 7798
8057 TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200" 7799 TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200"
8058 7800
@@ -8090,8 +7832,7 @@ system and gives an overview of their function and contents.
8090 7832
8091 Tests include ``ping``, ``ssh``, ``df`` among others. You can add 7833 Tests include ``ping``, ``ssh``, ``df`` among others. You can add
8092 your own tests to the list of tests by appending ``TEST_SUITES`` as 7834 your own tests to the list of tests by appending ``TEST_SUITES`` as
8093 follows: 7835 follows::
8094 ::
8095 7836
8096 TEST_SUITES_append = " mytest" 7837 TEST_SUITES_append = " mytest"
8097 7838
@@ -8110,8 +7851,7 @@ system and gives an overview of their function and contents.
8110 another test must appear later in the list than the test on which 7851 another test must appear later in the list than the test on which
8111 they depend. For example, if you append the list of tests with two 7852 they depend. For example, if you append the list of tests with two
8112 tests (``test_A`` and ``test_B``) where ``test_B`` is dependent on 7853 tests (``test_A`` and ``test_B``) where ``test_B`` is dependent on
8113 ``test_A``, then you must order the tests as follows: 7854 ``test_A``, then you must order the tests as follows::
8114 ::
8115 7855
8116 TEST_SUITES = "test_A test_B" 7856 TEST_SUITES = "test_A test_B"
8117 7857
@@ -8121,8 +7861,7 @@ system and gives an overview of their function and contents.
8121 7861
8122 :term:`TEST_TARGET` 7862 :term:`TEST_TARGET`
8123 Specifies the target controller to use when running tests against a 7863 Specifies the target controller to use when running tests against a
8124 test image. The default controller to use is "qemu": 7864 test image. The default controller to use is "qemu"::
8125 ::
8126 7865
8127 TEST_TARGET = "qemu" 7866 TEST_TARGET = "qemu"
8128 7867
@@ -8161,8 +7900,7 @@ system and gives an overview of their function and contents.
8161 set to "qemu". 7900 set to "qemu".
8162 7901
8163 When you specify the IP address, you can also include a port. Here is 7902 When you specify the IP address, you can also include a port. Here is
8164 an example: 7903 an example::
8165 ::
8166 7904
8167 TEST_TARGET_IP = "192.168.1.4:2201" 7905 TEST_TARGET_IP = "192.168.1.4:2201"
8168 7906
@@ -8211,8 +7949,7 @@ system and gives an overview of their function and contents.
8211 7949
8212 If you want to establish this directory in a location other than the 7950 If you want to establish this directory in a location other than the
8213 default, you can uncomment and edit the following statement in the 7951 default, you can uncomment and edit the following statement in the
8214 ``conf/local.conf`` file in the :term:`Source Directory`: 7952 ``conf/local.conf`` file in the :term:`Source Directory`::
8215 ::
8216 7953
8217 #TMPDIR = "${TOPDIR}/tmp" 7954 #TMPDIR = "${TOPDIR}/tmp"
8218 7955
@@ -8231,8 +7968,7 @@ system and gives an overview of their function and contents.
8231 packages specified by this variable are part of the toolchain set 7968 packages specified by this variable are part of the toolchain set
8232 that runs on the :term:`SDKMACHINE`, and each 7969 that runs on the :term:`SDKMACHINE`, and each
8233 package should usually have the prefix ``nativesdk-``. For example, 7970 package should usually have the prefix ``nativesdk-``. For example,
8234 consider the following command when building an SDK: 7971 consider the following command when building an SDK::
8235 ::
8236 7972
8237 $ bitbake -c populate_sdk imagename 7973 $ bitbake -c populate_sdk imagename
8238 7974
@@ -8253,8 +7989,7 @@ system and gives an overview of their function and contents.
8253 :term:`TOOLCHAIN_OUTPUTNAME` 7989 :term:`TOOLCHAIN_OUTPUTNAME`
8254 This variable defines the name used for the toolchain output. The 7990 This variable defines the name used for the toolchain output. The
8255 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class sets 7991 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class sets
8256 the ``TOOLCHAIN_OUTPUTNAME`` variable as follows: 7992 the ``TOOLCHAIN_OUTPUTNAME`` variable as follows::
8257 ::
8258 7993
8259 TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" 7994 TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
8260 7995
@@ -8310,8 +8045,7 @@ system and gives an overview of their function and contents.
8310 ``TUNE_ARCH`` is tied closely to 8045 ``TUNE_ARCH`` is tied closely to
8311 :term:`TARGET_ARCH`, which defines the target 8046 :term:`TARGET_ARCH`, which defines the target
8312 machine's architecture. The BitBake configuration file 8047 machine's architecture. The BitBake configuration file
8313 (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows: 8048 (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows::
8314 ::
8315 8049
8316 TARGET_ARCH = "${TUNE_ARCH}" 8050 TARGET_ARCH = "${TUNE_ARCH}"
8317 8051
@@ -8333,8 +8067,7 @@ system and gives an overview of their function and contents.
8333 typically under ``meta/conf/machine/include/`` and are influenced 8067 typically under ``meta/conf/machine/include/`` and are influenced
8334 through :term:`TUNE_FEATURES`. For example, the 8068 through :term:`TUNE_FEATURES`. For example, the
8335 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags 8069 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags
8336 for the x86 architecture as follows: 8070 for the x86 architecture as follows::
8337 ::
8338 8071
8339 TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" 8072 TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
8340 8073
@@ -8367,8 +8100,7 @@ system and gives an overview of their function and contents.
8367 are not conflicting and that they are supported. 8100 are not conflicting and that they are supported.
8368 8101
8369 The BitBake configuration file (``meta/conf/bitbake.conf``) defines 8102 The BitBake configuration file (``meta/conf/bitbake.conf``) defines
8370 ``TUNE_FEATURES`` as follows: 8103 ``TUNE_FEATURES`` as follows::
8371 ::
8372 8104
8373 TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" 8105 TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
8374 8106
@@ -8381,8 +8113,7 @@ system and gives an overview of their function and contents.
8381 typically under ``meta/conf/machine/include/`` and are influenced 8113 typically under ``meta/conf/machine/include/`` and are influenced
8382 through :term:`TUNE_FEATURES`. For example, the 8114 through :term:`TUNE_FEATURES`. For example, the
8383 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags 8115 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags
8384 for the x86 architecture as follows: 8116 for the x86 architecture as follows::
8385 ::
8386 8117
8387 TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}" 8118 TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
8388 8119
@@ -8395,15 +8126,13 @@ system and gives an overview of their function and contents.
8395 :term:`TUNE_PKGARCH` 8126 :term:`TUNE_PKGARCH`
8396 The package architecture understood by the packaging system to define 8127 The package architecture understood by the packaging system to define
8397 the architecture, ABI, and tuning of output packages. The specific 8128 the architecture, ABI, and tuning of output packages. The specific
8398 tune is defined using the "_tune" override as follows: 8129 tune is defined using the "_tune" override as follows::
8399 ::
8400 8130
8401 TUNE_PKGARCH_tune-tune = "tune" 8131 TUNE_PKGARCH_tune-tune = "tune"
8402 8132
8403 These tune-specific package architectures are defined in the machine 8133 These tune-specific package architectures are defined in the machine
8404 include files. Here is an example of the "core2-32" tuning as used in 8134 include files. Here is an example of the "core2-32" tuning as used in
8405 the ``meta/conf/machine/include/tune-core2.inc`` file: 8135 the ``meta/conf/machine/include/tune-core2.inc`` file::
8406 ::
8407 8136
8408 TUNE_PKGARCH_tune-core2-32 = "core2-32" 8137 TUNE_PKGARCH_tune-core2-32 = "core2-32"
8409 8138
@@ -8449,8 +8178,7 @@ system and gives an overview of their function and contents.
8449 the :term:`Source Directory`. Here is an example from 8178 the :term:`Source Directory`. Here is an example from
8450 the ``meta/conf/machine/include/mips/arch-mips.inc`` include file 8179 the ``meta/conf/machine/include/mips/arch-mips.inc`` include file
8451 that lists the "o32" and "n64" features as conflicting with the "n32" 8180 that lists the "o32" and "n64" features as conflicting with the "n32"
8452 feature: 8181 feature::
8453 ::
8454 8182
8455 TUNECONFLICTS[n32] = "o32 n64" 8183 TUNECONFLICTS[n32] = "o32 n64"
8456 8184
@@ -8459,8 +8187,7 @@ system and gives an overview of their function and contents.
8459 feature. The specified feature is stored as a flag. Valid features 8187 feature. The specified feature is stored as a flag. Valid features
8460 are specified in the machine include files (e.g. 8188 are specified in the machine include files (e.g.
8461 ``meta/conf/machine/include/arm/arch-arm.inc``). Here is an example 8189 ``meta/conf/machine/include/arm/arch-arm.inc``). Here is an example
8462 from that file: 8190 from that file::
8463 ::
8464 8191
8465 TUNEVALID[bigendian] = "Enable big-endian mode." 8192 TUNEVALID[bigendian] = "Enable big-endian mode."
8466 8193
@@ -8516,8 +8243,7 @@ system and gives an overview of their function and contents.
8516 Appends a string to the name of the local version of the U-Boot 8243 Appends a string to the name of the local version of the U-Boot
8517 image. For example, assuming the version of the U-Boot image built 8244 image. For example, assuming the version of the U-Boot image built
8518 was "2013.10", the full version string reported by U-Boot would be 8245 was "2013.10", the full version string reported by U-Boot would be
8519 "2013.10-yocto" given the following statement: 8246 "2013.10-yocto" given the following statement::
8520 ::
8521 8247
8522 UBOOT_LOCALVERSION = "-yocto" 8248 UBOOT_LOCALVERSION = "-yocto"
8523 8249
@@ -8691,8 +8417,7 @@ system and gives an overview of their function and contents.
8691 OpenEmbedded build system to enable extra features (e.g. 8417 OpenEmbedded build system to enable extra features (e.g.
8692 ``buildstats``, ``image-mklibs``, and so forth). 8418 ``buildstats``, ``image-mklibs``, and so forth).
8693 8419
8694 The default list is set in your ``local.conf`` file: 8420 The default list is set in your ``local.conf`` file::
8695 ::
8696 8421
8697 USER_CLASSES ?= "buildstats image-mklibs image-prelink" 8422 USER_CLASSES ?= "buildstats image-mklibs image-prelink"
8698 8423
@@ -8712,8 +8437,7 @@ system and gives an overview of their function and contents.
8712 ``USERADD_ERROR_DYNAMIC`` variable is by default not set. If you plan 8437 ``USERADD_ERROR_DYNAMIC`` variable is by default not set. If you plan
8713 on using statically assigned ``gid`` and ``uid`` values, you should 8438 on using statically assigned ``gid`` and ``uid`` values, you should
8714 set the ``USERADD_ERROR_DYNAMIC`` variable in your ``local.conf`` 8439 set the ``USERADD_ERROR_DYNAMIC`` variable in your ``local.conf``
8715 file as follows: 8440 file as follows::
8716 ::
8717 8441
8718 USERADD_ERROR_DYNAMIC = "error" 8442 USERADD_ERROR_DYNAMIC = "error"
8719 8443
@@ -8743,8 +8467,7 @@ system and gives an overview of their function and contents.
8743 When applying static group identification (``gid``) values, the 8467 When applying static group identification (``gid``) values, the
8744 OpenEmbedded build system looks in :term:`BBPATH` for a 8468 OpenEmbedded build system looks in :term:`BBPATH` for a
8745 ``files/group`` file and then applies those ``uid`` values. Set the 8469 ``files/group`` file and then applies those ``uid`` values. Set the
8746 variable as follows in your ``local.conf`` file: 8470 variable as follows in your ``local.conf`` file::
8747 ::
8748 8471
8749 8472
8750 USERADD_GID_TABLES = "files/group" 8473 USERADD_GID_TABLES = "files/group"
@@ -8761,8 +8484,7 @@ system and gives an overview of their function and contents.
8761 8484
8762 You must set this variable if the recipe inherits the class. For 8485 You must set this variable if the recipe inherits the class. For
8763 example, the following enables adding a user for the main package in 8486 example, the following enables adding a user for the main package in
8764 a recipe: 8487 a recipe::
8765 ::
8766 8488
8767 USERADD_PACKAGES = "${PN}" 8489 USERADD_PACKAGES = "${PN}"
8768 8490
@@ -8778,8 +8500,7 @@ system and gives an overview of their function and contents.
8778 the ``useradd`` command if you add a user to the system when the 8500 the ``useradd`` command if you add a user to the system when the
8779 package is installed. 8501 package is installed.
8780 8502
8781 Here is an example from the ``dbus`` recipe: 8503 Here is an example from the ``dbus`` recipe::
8782 ::
8783 8504
8784 USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ 8505 USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
8785 --no-create-home --shell /bin/false \ 8506 --no-create-home --shell /bin/false \
@@ -8797,8 +8518,7 @@ system and gives an overview of their function and contents.
8797 When applying static user identification (``uid``) values, the 8518 When applying static user identification (``uid``) values, the
8798 OpenEmbedded build system looks in :term:`BBPATH` for a 8519 OpenEmbedded build system looks in :term:`BBPATH` for a
8799 ``files/passwd`` file and then applies those ``uid`` values. Set the 8520 ``files/passwd`` file and then applies those ``uid`` values. Set the
8800 variable as follows in your ``local.conf`` file: 8521 variable as follows in your ``local.conf`` file::
8801 ::
8802 8522
8803 USERADD_UID_TABLES = "files/passwd" 8523 USERADD_UID_TABLES = "files/passwd"
8804 8524
@@ -8869,8 +8589,7 @@ system and gives an overview of their function and contents.
8869 With the ``WKS_FILE_DEPENDS`` variable, you have the possibility to 8589 With the ``WKS_FILE_DEPENDS`` variable, you have the possibility to
8870 specify a list of additional dependencies (e.g. native tools, 8590 specify a list of additional dependencies (e.g. native tools,
8871 bootloaders, and so forth), that are required to build Wic images. 8591 bootloaders, and so forth), that are required to build Wic images.
8872 Following is an example: 8592 Following is an example::
8873 ::
8874 8593
8875 WKS_FILE_DEPENDS = "some-native-tool" 8594 WKS_FILE_DEPENDS = "some-native-tool"
8876 8595
@@ -8884,8 +8603,7 @@ system and gives an overview of their function and contents.
8884 :term:`TMPDIR` directory structure and is specific to 8603 :term:`TMPDIR` directory structure and is specific to
8885 the recipe being built and the system for which it is being built. 8604 the recipe being built and the system for which it is being built.
8886 8605
8887 The ``WORKDIR`` directory is defined as follows: 8606 The ``WORKDIR`` directory is defined as follows::
8888 ::
8889 8607
8890 ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} 8608 ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
8891 8609
@@ -8904,8 +8622,7 @@ system and gives an overview of their function and contents.
8904 ``qemux86-poky-linux`` machine target system. Furthermore, suppose 8622 ``qemux86-poky-linux`` machine target system. Furthermore, suppose
8905 your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work 8623 your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work
8906 directory the build system uses to build the package would be as 8624 directory the build system uses to build the package would be as
8907 follows: 8625 follows::
8908 ::
8909 8626
8910 poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 8627 poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0
8911 8628