summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/variables.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/variables.rst')
-rw-r--r--documentation/ref-manual/variables.rst849
1 files changed, 283 insertions, 566 deletions
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