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.rst728
1 files changed, 619 insertions, 109 deletions
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index f694640c00..9406f3548c 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -143,7 +143,7 @@ system and gives an overview of their function and contents.
143 information on how this variable is used. 143 information on how this variable is used.
144 144
145 :term:`AR` 145 :term:`AR`
146 The minimal command and arguments used to run ``ar``. 146 The minimal command and arguments used to run :manpage:`ar <ar(1)>`.
147 147
148 :term:`ARCHIVER_MODE` 148 :term:`ARCHIVER_MODE`
149 When used with the :ref:`ref-classes-archiver` class, 149 When used with the :ref:`ref-classes-archiver` class,
@@ -165,7 +165,8 @@ system and gives an overview of their function and contents.
165 ``meta/classes/archiver.bbclass`` file in the :term:`Source Directory`. 165 ``meta/classes/archiver.bbclass`` file in the :term:`Source Directory`.
166 166
167 :term:`AS` 167 :term:`AS`
168 Minimal command and arguments needed to run the assembler. 168 Minimal command and arguments needed to run the :manpage:`assembler
169 <as(1)>`.
169 170
170 :term:`ASSUME_PROVIDED` 171 :term:`ASSUME_PROVIDED`
171 Lists recipe names (:term:`PN` values) BitBake does not 172 Lists recipe names (:term:`PN` values) BitBake does not
@@ -209,12 +210,11 @@ system and gives an overview of their function and contents.
209 SRCREV = "${AUTOREV}" 210 SRCREV = "${AUTOREV}"
210 211
211 If you use the previous statement to retrieve the latest version of 212 If you use the previous statement to retrieve the latest version of
212 software, you need to be sure :term:`PV` contains 213 software, you need to make sure :term:`PV` contains the ``+`` sign so
213 ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel 214 :term:`bitbake` includes source control information to :term:`PKGV` when
214 recipe that inherits the :ref:`ref-classes-kernel` class and you 215 packaging the recipe. For example::
215 use the previous statement. In this example, ``${SRCPV}`` does not 216
216 automatically get into :term:`PV`. Consequently, you need to change 217 PV = "6.10.y+git"
217 :term:`PV` in your recipe so that it does contain ``${SRCPV}``.
218 218
219 For more information see the 219 For more information see the
220 ":ref:`dev-manual/packages:automatically incrementing a package version number`" 220 ":ref:`dev-manual/packages:automatically incrementing a package version number`"
@@ -225,6 +225,12 @@ system and gives an overview of their function and contents.
225 must set this variable in your recipe. The 225 must set this variable in your recipe. The
226 :ref:`ref-classes-syslinux` class checks this variable. 226 :ref:`ref-classes-syslinux` class checks this variable.
227 227
228 :term:`AUTOTOOLS_SCRIPT_PATH`
229 When using the :ref:`ref-classes-autotools` class, the
230 :term:`AUTOTOOLS_SCRIPT_PATH` variable stores the location of the
231 different scripts used by the Autotools build system. The default
232 value for this variable is :term:`S`.
233
228 :term:`AVAILTUNES` 234 :term:`AVAILTUNES`
229 The list of defined CPU and Application Binary Interface (ABI) 235 The list of defined CPU and Application Binary Interface (ABI)
230 tunings (i.e. "tunes") available for use by the OpenEmbedded build 236 tunings (i.e. "tunes") available for use by the OpenEmbedded build
@@ -972,55 +978,165 @@ system and gives an overview of their function and contents.
972 variable is a useful pointer in case a bug in the software being 978 variable is a useful pointer in case a bug in the software being
973 built needs to be manually reported. 979 built needs to be manually reported.
974 980
981 :term:`BUILD_AR`
982 Specifies the architecture-specific :manpage:`archiver <ar(1)>` for the
983 build host, and its default definition is derived in part from
984 :term:`BUILD_PREFIX`::
985
986 BUILD_AR = "${BUILD_PREFIX}ar"
987
988 When building a :ref:`ref-classes-native` recipe, :term:`AR` is set to the
989 value of this variable by default.
990
991 The :term:`BUILD_AR` variable should not be set manually, and is rarely
992 used in recipes as :term:`AR` contains the appropriate value depending on
993 the context (native or target recipes). Exception be made for target
994 recipes that need to use the :manpage:`archiver <ar(1)>` from the build
995 host at some point during the build.
996
975 :term:`BUILD_ARCH` 997 :term:`BUILD_ARCH`
976 Specifies the architecture of the build host (e.g. ``i686``). The 998 Specifies the architecture of the build host (e.g. ``i686``). The
977 OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the 999 OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the
978 machine name reported by the ``uname`` command. 1000 machine name reported by the ``uname`` command.
979 1001
1002 :term:`BUILD_AS`
1003 Specifies the architecture-specific :manpage:`assembler <as(1)>` for the
1004 build host, and its default definition is derived in part from
1005 :term:`BUILD_PREFIX`::
1006
1007 BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
1008
1009 When building a :ref:`ref-classes-native` recipe, :term:`AS` is set to the
1010 value of this variable by default.
1011
1012 The :term:`BUILD_AS` variable should not be set manually, and is rarely
1013 used in recipes as :term:`AS` contains the appropriate value depending on
1014 the context (native or target recipes). Exception be made for target
1015 recipes that need to use the :manpage:`assembler <as(1)>` from the build
1016 host at some point during the build.
1017
980 :term:`BUILD_AS_ARCH` 1018 :term:`BUILD_AS_ARCH`
981 Specifies the architecture-specific assembler flags for the build 1019 Specifies the architecture-specific assembler flags for the build
982 host. By default, the value of :term:`BUILD_AS_ARCH` is empty. 1020 host. By default, the value of :term:`BUILD_AS_ARCH` is empty.
983 1021
1022 :term:`BUILD_CC`
1023 Specifies the architecture-specific C compiler for the build host,
1024 and its default definition is derived in part from :term:`BUILD_PREFIX`
1025 and :term:`BUILD_CC_ARCH`::
1026
1027 BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
1028
1029 When building a :ref:`ref-classes-native` recipe, :term:`CC` is set to the
1030 value of this variable by default.
1031
1032 The :term:`BUILD_CC` variable should not be set manually, and is rarely
1033 used in recipes as :term:`CC` contains the appropriate value depending on
1034 the context (native or target recipes). Exception be made for target
1035 recipes that need to use the compiler from the build host at some point
1036 during the build.
1037
984 :term:`BUILD_CC_ARCH` 1038 :term:`BUILD_CC_ARCH`
985 Specifies the architecture-specific C compiler flags for the build 1039 Specifies the architecture-specific C compiler flags for the build
986 host. By default, the value of :term:`BUILD_CC_ARCH` is empty. 1040 host. By default, the value of :term:`BUILD_CC_ARCH` is empty.
987 1041
988 :term:`BUILD_CCLD` 1042 :term:`BUILD_CCLD`
989 Specifies the linker command to be used for the build host when the C 1043 Specifies the :manpage:`linker <ld(1)>` command to be used for the build
990 compiler is being used as the linker. By default, :term:`BUILD_CCLD` 1044 host when the C compiler is being used as the linker, and its default
991 points to GCC and passes as arguments the value of 1045 definition is derived in part from :term:`BUILD_PREFIX` and
992 :term:`BUILD_CC_ARCH`, assuming 1046 :term:`BUILD_CC_ARCH`::
993 :term:`BUILD_CC_ARCH` is set. 1047
1048 BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
1049
1050 When building a :ref:`ref-classes-native` recipe, :term:`CCLD` is set to
1051 the value of this variable by default.
1052
1053 The :term:`BUILD_CCLD` variable should not be set manually, and is rarely
1054 used in recipes as :term:`CCLD` contains the appropriate value depending on
1055 the context (native or target recipes). Exception be made for target
1056 recipes that need to use the :manpage:`linker <ld(1)>` from the build host
1057 at some point during the build.
994 1058
995 :term:`BUILD_CFLAGS` 1059 :term:`BUILD_CFLAGS`
996 Specifies the flags to pass to the C compiler when building for the 1060 Specifies the flags to pass to the C compiler when building for the
997 build host. When building in the ``-native`` context, 1061 build host. When building a :ref:`ref-classes-native` recipe,
998 :term:`CFLAGS` is set to the value of this variable by 1062 :term:`CFLAGS` is set to the value of this variable by
999 default. 1063 default.
1000 1064
1065 :term:`BUILD_CPP`
1066 Specifies the C preprocessor command (to both the C and the C++ compilers)
1067 when building for the build host, and its default definition is derived in
1068 part from :term:`BUILD_PREFIX` and :term:`BUILD_CC_ARCH`::
1069
1070 BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
1071
1072 When building a :ref:`ref-classes-native` recipe, :term:`CPP` is set to
1073 the value of this variable by default.
1074
1075 The :term:`BUILD_CPP` variable should not be set manually, and is rarely
1076 used in recipes as :term:`CPP` contains the appropriate value depending on
1077 the context (native or target recipes). Exception be made for target
1078 recipes that need to use the preprocessor from the build host at some
1079 point during the build.
1080
1001 :term:`BUILD_CPPFLAGS` 1081 :term:`BUILD_CPPFLAGS`
1002 Specifies the flags to pass to the C preprocessor (i.e. to both the C 1082 Specifies the flags to pass to the C preprocessor (i.e. to both the C
1003 and the C++ compilers) when building for the build host. When 1083 and the C++ compilers) when building for the build host. When
1004 building in the ``-native`` context, :term:`CPPFLAGS` 1084 building in the ``-native`` context, :term:`CPPFLAGS`
1005 is set to the value of this variable by default. 1085 is set to the value of this variable by default.
1006 1086
1087 :term:`BUILD_CXX`
1088 Specifies the architecture-specific C++ compiler for the build host,
1089 and its default definition is derived in part from :term:`BUILD_PREFIX`
1090 and :term:`BUILD_CC_ARCH`::
1091
1092 BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
1093
1094 When building a :ref:`ref-classes-native` recipe, :term:`CXX` is set to
1095 the value of this variable by default.
1096
1097 The :term:`BUILD_CXX` variable should not be set manually, and is rarely
1098 used in recipes as :term:`CXX` contains the appropriate value depending on
1099 the context (native or target recipes). Exception be made for target
1100 recipes that need to use the C++ compiler from the build host at some
1101 point during the build.
1102
1007 :term:`BUILD_CXXFLAGS` 1103 :term:`BUILD_CXXFLAGS`
1008 Specifies the flags to pass to the C++ compiler when building for the 1104 Specifies the flags to pass to the C++ compiler when building for the
1009 build host. When building in the ``-native`` context, 1105 build host. When building a :ref:`ref-classes-native` recipe,
1010 :term:`CXXFLAGS` is set to the value of this variable 1106 :term:`CXXFLAGS` is set to the value of this variable
1011 by default. 1107 by default.
1012 1108
1013 :term:`BUILD_FC` 1109 :term:`BUILD_FC`
1014 Specifies the Fortran compiler command for the build host. By 1110 Specifies the Fortran compiler command for the build host, and its default
1015 default, :term:`BUILD_FC` points to Gfortran and passes as arguments the 1111 definition is derived in part from :term:`BUILD_PREFIX` and
1016 value of :term:`BUILD_CC_ARCH`, assuming 1112 :term:`BUILD_CC_ARCH`::
1017 :term:`BUILD_CC_ARCH` is set. 1113
1114 BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
1115
1116 When building a :ref:`ref-classes-native` recipe, :term:`FC` is set to the
1117 value of this variable by default.
1118
1119 The :term:`BUILD_FC` variable should not be set manually, and is rarely
1120 used in recipes as :term:`FC` contains the appropriate value depending on
1121 the context (native or target recipes). Exception be made for target
1122 recipes that need to use the Fortran compiler from the build host at some
1123 point during the build.
1018 1124
1019 :term:`BUILD_LD` 1125 :term:`BUILD_LD`
1020 Specifies the linker command for the build host. By default, 1126 Specifies the linker command for the build host, and its default
1021 :term:`BUILD_LD` points to the GNU linker (ld) and passes as arguments 1127 definition is derived in part from :term:`BUILD_PREFIX` and
1022 the value of :term:`BUILD_LD_ARCH`, assuming 1128 :term:`BUILD_LD_ARCH`::
1023 :term:`BUILD_LD_ARCH` is set. 1129
1130 BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
1131
1132 When building a :ref:`ref-classes-native` recipe, :term:`LD` is set to the
1133 value of this variable by default.
1134
1135 The :term:`BUILD_LD` variable should not be set manually, and is rarely
1136 used in recipes as :term:`LD` contains the appropriate value depending on
1137 the context (native or target recipes). Exception be made for target
1138 recipes that need to use the linker from the build host at some point
1139 during the build.
1024 1140
1025 :term:`BUILD_LD_ARCH` 1141 :term:`BUILD_LD_ARCH`
1026 Specifies architecture-specific linker flags for the build host. By 1142 Specifies architecture-specific linker flags for the build host. By
@@ -1028,10 +1144,58 @@ system and gives an overview of their function and contents.
1028 1144
1029 :term:`BUILD_LDFLAGS` 1145 :term:`BUILD_LDFLAGS`
1030 Specifies the flags to pass to the linker when building for the build 1146 Specifies the flags to pass to the linker when building for the build
1031 host. When building in the ``-native`` context, 1147 host. When building a :ref:`ref-classes-native` recipe,
1032 :term:`LDFLAGS` is set to the value of this variable 1148 :term:`LDFLAGS` is set to the value of this variable
1033 by default. 1149 by default.
1034 1150
1151 :term:`BUILD_NM`
1152 Specifies the architecture-specific utility to list symbols from object
1153 files for the build host, and its default definition is derived in part
1154 from :term:`BUILD_PREFIX`::
1155
1156 BUILD_NM = "${BUILD_PREFIX}nm"
1157
1158 When building a :ref:`ref-classes-native` recipe, :term:`NM` is set to the
1159 value of this variable by default.
1160
1161 The :term:`BUILD_NM` variable should not be set manually, and is rarely
1162 used in recipes as :term:`NM` contains the appropriate value depending on
1163 the context (native or target recipes). Exception be made for target
1164 recipes that need to use the utility from the build host at some point
1165 during the build.
1166
1167 :term:`BUILD_OBJCOPY`
1168 Specifies the architecture-specific utility to copy object files for the
1169 build host, and its default definition is derived in part from
1170 :term:`BUILD_PREFIX`::
1171
1172 BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy"
1173
1174 When building a :ref:`ref-classes-native` recipe, :term:`OBJCOPY` is set
1175 to the value of this variable by default.
1176
1177 The :term:`BUILD_OBJCOPY` variable should not be set manually, and is
1178 rarely used in recipes as :term:`OBJCOPY` contains the appropriate value
1179 depending on the context (native or target recipes). Exception be made for
1180 target recipes that need to use the utility from the build host at some
1181 point during the build.
1182
1183 :term:`BUILD_OBJDUMP`
1184 Specifies the architecture-specific utility to display object files
1185 information for the build host, and its default definition is derived in
1186 part from :term:`BUILD_PREFIX`::
1187
1188 BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
1189
1190 When building a :ref:`ref-classes-native` recipe, :term:`OBJDUMP` is set
1191 to the value of this variable by default.
1192
1193 The :term:`BUILD_OBJDUMP` variable should not be set manually, and is
1194 rarely used in recipes as :term:`OBJDUMP` contains the appropriate value
1195 depending on the context (native or target recipes). Exception be made for
1196 target recipes that need to use the utility from the build host at some
1197 point during the build.
1198
1035 :term:`BUILD_OPTIMIZATION` 1199 :term:`BUILD_OPTIMIZATION`
1036 Specifies the optimization flags passed to the C compiler when 1200 Specifies the optimization flags passed to the C compiler when
1037 building for the build host or the SDK. The flags are passed through 1201 building for the build host or the SDK. The flags are passed through
@@ -1052,11 +1216,53 @@ system and gives an overview of their function and contents.
1052 build system uses the :term:`BUILD_PREFIX` value to set the 1216 build system uses the :term:`BUILD_PREFIX` value to set the
1053 :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes. 1217 :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes.
1054 1218
1219 :term:`BUILD_RANLIB`
1220 Specifies the architecture-specific utility to generate indexes for
1221 archives for the build host, and its default definition is derived in part
1222 from :term:`BUILD_PREFIX`::
1223
1224 BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D"
1225
1226 When building a :ref:`ref-classes-native` recipe, :term:`RANLIB` is set to
1227 the value of this variable by default.
1228
1229 The :term:`BUILD_RANLIB` variable should not be set manually, and is
1230 rarely used in recipes as :term:`RANLIB` contains the appropriate value
1231 depending on the context (native or target recipes). Exception be made for
1232 target recipes that need to use the utility from the build host at some
1233 point during the build.
1234
1235 :term:`BUILD_READELF`
1236 Specifies the architecture-specific utility to display information about
1237 ELF files for the build host, and its default definition is derived in
1238 part from :term:`BUILD_PREFIX`::
1239
1240 BUILD_READELF = "${BUILD_PREFIX}readelf"
1241
1242 When building a :ref:`ref-classes-native` recipe, :term:`READELF` is set
1243 to the value of this variable by default.
1244
1245 The :term:`BUILD_READELF` variable should not be set manually, and is
1246 rarely used in recipes as :term:`READELF` contains the appropriate value
1247 depending on the context (native or target recipes). Exception be made for
1248 target recipes that need to use the utility from the build host at some
1249 point during the build.
1250
1055 :term:`BUILD_STRIP` 1251 :term:`BUILD_STRIP`
1056 Specifies the command to be used to strip debugging symbols from 1252 Specifies the command to be used to strip debugging symbols from binaries
1057 binaries produced for the build host. By default, :term:`BUILD_STRIP` 1253 produced for the build host, and its default definition is derived in part
1058 points to 1254 from :term:`BUILD_PREFIX`::
1059 ``${``\ :term:`BUILD_PREFIX`\ ``}strip``. 1255
1256 BUILD_STRIP = "${BUILD_PREFIX}strip"
1257
1258 When building a :ref:`ref-classes-native` recipe, :term:`STRIP` is set to
1259 the value of this variable by default.
1260
1261 The :term:`BUILD_STRIP` variable should not be set manually, and is
1262 rarely used in recipes as :term:`STRIP` contains the appropriate value
1263 depending on the context (native or target recipes). Exception be made for
1264 target recipes that need to use the utility from the build host at some
1265 point during the build.
1060 1266
1061 :term:`BUILD_SYS` 1267 :term:`BUILD_SYS`
1062 Specifies the system, including the architecture and the operating 1268 Specifies the system, including the architecture and the operating
@@ -1252,6 +1458,10 @@ system and gives an overview of their function and contents.
1252 :term:`CC` 1458 :term:`CC`
1253 The minimal command and arguments used to run the C compiler. 1459 The minimal command and arguments used to run the C compiler.
1254 1460
1461 :term:`CCLD`
1462 The minimal command and arguments used to run the linker when the C
1463 compiler is being used as the linker.
1464
1255 :term:`CFLAGS` 1465 :term:`CFLAGS`
1256 Specifies the flags to pass to the C compiler. This variable is 1466 Specifies the flags to pass to the C compiler. This variable is
1257 exported to an environment variable and thus made visible to the 1467 exported to an environment variable and thus made visible to the
@@ -1495,6 +1705,17 @@ system and gives an overview of their function and contents.
1495 :term:`CONFIGURE_FLAGS` 1705 :term:`CONFIGURE_FLAGS`
1496 The minimal arguments for GNU configure. 1706 The minimal arguments for GNU configure.
1497 1707
1708 :term:`CONFIGURE_SCRIPT`
1709 When using the :ref:`ref-classes-autotools` class, the
1710 :term:`CONFIGURE_SCRIPT` variable stores the location of the ``configure``
1711 script for the Autotools build system. The default definition for this
1712 variable is::
1713
1714 CONFIGURE_SCRIPT ?= "${AUTOTOOLS_SCRIPT_PATH}/configure"
1715
1716 Where :term:`AUTOTOOLS_SCRIPT_PATH` is the location of the of the
1717 Autotools build system scripts, which defaults to :term:`S`.
1718
1498 :term:`CONFLICT_DISTRO_FEATURES` 1719 :term:`CONFLICT_DISTRO_FEATURES`
1499 When inheriting the :ref:`ref-classes-features_check` 1720 When inheriting the :ref:`ref-classes-features_check`
1500 class, this variable identifies distribution features that would be 1721 class, this variable identifies distribution features that would be
@@ -1678,9 +1899,27 @@ system and gives an overview of their function and contents.
1678 variable only in certain contexts (e.g. when building for kernel 1899 variable only in certain contexts (e.g. when building for kernel
1679 and kernel module recipes). 1900 and kernel module recipes).
1680 1901
1902 :term:`CVE_CHECK_CREATE_MANIFEST`
1903 Specifies whether to create a CVE manifest to place in the deploy
1904 directory. The default is "1".
1905
1681 :term:`CVE_CHECK_IGNORE` 1906 :term:`CVE_CHECK_IGNORE`
1682 This variable is deprecated and should be replaced by :term:`CVE_STATUS`. 1907 This variable is deprecated and should be replaced by :term:`CVE_STATUS`.
1683 1908
1909 :term:`CVE_CHECK_MANIFEST_JSON`
1910 Specifies the path to the CVE manifest in JSON format. See
1911 :term:`CVE_CHECK_CREATE_MANIFEST`.
1912
1913 :term:`CVE_CHECK_MANIFEST_JSON_SUFFIX`
1914 Allows to modify the JSON manifest suffix. See
1915 :term:`CVE_CHECK_MANIFEST_JSON`.
1916
1917 :term:`CVE_CHECK_REPORT_PATCHED`
1918 Specifies whether or not the :ref:`ref-classes-cve-check`
1919 class should report patched or ignored CVEs. The default is "1", but you
1920 may wish to set it to "0" if you do not need patched or ignored CVEs in
1921 the logs.
1922
1684 :term:`CVE_CHECK_SHOW_WARNINGS` 1923 :term:`CVE_CHECK_SHOW_WARNINGS`
1685 Specifies whether or not the :ref:`ref-classes-cve-check` 1924 Specifies whether or not the :ref:`ref-classes-cve-check`
1686 class should generate warning messages on the console when unpatched 1925 class should generate warning messages on the console when unpatched
@@ -1960,7 +2199,7 @@ system and gives an overview of their function and contents.
1960 resides within the :term:`Build Directory` as ``${TMPDIR}/deploy``. 2199 resides within the :term:`Build Directory` as ``${TMPDIR}/deploy``.
1961 2200
1962 For more information on the structure of the Build Directory, see 2201 For more information on the structure of the Build Directory, see
1963 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section. 2202 ":ref:`ref-manual/structure:the build directory --- ``build/```" section.
1964 For more detail on the contents of the ``deploy`` directory, see the 2203 For more detail on the contents of the ``deploy`` directory, see the
1965 ":ref:`overview-manual/concepts:images`", 2204 ":ref:`overview-manual/concepts:images`",
1966 ":ref:`overview-manual/concepts:package feeds`", and 2205 ":ref:`overview-manual/concepts:package feeds`", and
@@ -2002,7 +2241,7 @@ system and gives an overview of their function and contents.
2002 contents of :term:`IMGDEPLOYDIR` by the :ref:`ref-classes-image` class. 2241 contents of :term:`IMGDEPLOYDIR` by the :ref:`ref-classes-image` class.
2003 2242
2004 For more information on the structure of the :term:`Build Directory`, see 2243 For more information on the structure of the :term:`Build Directory`, see
2005 ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section. 2244 ":ref:`ref-manual/structure:the build directory --- ``build/```" section.
2006 For more detail on the contents of the ``deploy`` directory, see the 2245 For more detail on the contents of the ``deploy`` directory, see the
2007 ":ref:`overview-manual/concepts:images`" and 2246 ":ref:`overview-manual/concepts:images`" and
2008 ":ref:`overview-manual/concepts:application development sdk`" sections both in 2247 ":ref:`overview-manual/concepts:application development sdk`" sections both in
@@ -2501,6 +2740,13 @@ system and gives an overview of their function and contents.
2501 external tools. See the :ref:`ref-classes-kernel-yocto` class in 2740 external tools. See the :ref:`ref-classes-kernel-yocto` class in
2502 ``meta/classes-recipe`` to see how the variable is used. 2741 ``meta/classes-recipe`` to see how the variable is used.
2503 2742
2743 :term:`EXTERNAL_KERNEL_DEVICETREE`
2744 When inheriting :ref:`ref-classes-kernel-fitimage` and a
2745 :term:`PREFERRED_PROVIDER` for ``virtual/dtb`` set to ``devicetree``, the
2746 variable :term:`EXTERNAL_KERNEL_DEVICETREE` can be used to specify a
2747 directory containing one or more compiled device tree or device tree
2748 overlays to use.
2749
2504 :term:`KERNEL_LOCALVERSION` 2750 :term:`KERNEL_LOCALVERSION`
2505 This variable allows to append a string to the version 2751 This variable allows to append a string to the version
2506 of the kernel image. This corresponds to the ``CONFIG_LOCALVERSION`` 2752 of the kernel image. This corresponds to the ``CONFIG_LOCALVERSION``
@@ -2744,6 +2990,9 @@ system and gives an overview of their function and contents.
2744 :term:`FAKEROOTNOENV` 2990 :term:`FAKEROOTNOENV`
2745 See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual. 2991 See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual.
2746 2992
2993 :term:`FC`
2994 The minimal command and arguments used to run the Fortran compiler.
2995
2747 :term:`FEATURE_PACKAGES` 2996 :term:`FEATURE_PACKAGES`
2748 Defines one or more packages to include in an image when a specific 2997 Defines one or more packages to include in an image when a specific
2749 item is included in :term:`IMAGE_FEATURES`. 2998 item is included in :term:`IMAGE_FEATURES`.
@@ -3323,6 +3572,20 @@ system and gives an overview of their function and contents.
3323 - mips 3572 - mips
3324 - mipsel 3573 - mipsel
3325 3574
3575 :term:`HOST_AS_ARCH`
3576 Specifies architecture-specific assembler flags.
3577
3578 Default initialization for :term:`HOST_AS_ARCH` varies depending on what
3579 is being built:
3580
3581 - :term:`TARGET_AS_ARCH` when building for the
3582 target
3583
3584 - :term:`BUILD_AS_ARCH` when building for the build host (i.e.
3585 ``-native``)
3586
3587 - :term:`SDK_AS_ARCH` when building for an SDK (i.e. ``nativesdk-``)
3588
3326 :term:`HOST_CC_ARCH` 3589 :term:`HOST_CC_ARCH`
3327 Specifies architecture-specific compiler flags that are passed to the 3590 Specifies architecture-specific compiler flags that are passed to the
3328 C compiler. 3591 C compiler.
@@ -3336,8 +3599,20 @@ system and gives an overview of their function and contents.
3336 - :term:`BUILD_CC_ARCH` when building for the build host (i.e. 3599 - :term:`BUILD_CC_ARCH` when building for the build host (i.e.
3337 ``-native``) 3600 ``-native``)
3338 3601
3339 - ``BUILDSDK_CC_ARCH`` when building for an SDK (i.e. 3602 - :term:`SDK_CC_ARCH` when building for an SDK (i.e. ``nativesdk-``)
3340 ``nativesdk-``) 3603
3604 :term:`HOST_LD_ARCH`
3605 Specifies architecture-specific linker flags.
3606
3607 Default initialization for :term:`HOST_LD_ARCH` varies depending on what
3608 is being built:
3609
3610 - :term:`TARGET_LD_ARCH` when building for the target
3611
3612 - :term:`BUILD_LD_ARCH` when building for the build host (i.e.
3613 ``-native``)
3614
3615 - :term:`SDK_LD_ARCH` when building for an SDK (i.e. ``nativesdk-``)
3341 3616
3342 :term:`HOST_OS` 3617 :term:`HOST_OS`
3343 Specifies the name of the target operating system, which is normally 3618 Specifies the name of the target operating system, which is normally
@@ -3878,6 +4153,36 @@ system and gives an overview of their function and contents.
3878 4153
3879 IMAGE_ROOTFS_EXTRA_SPACE = "41943040" 4154 IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
3880 4155
4156 :term:`IMAGE_ROOTFS_MAXSIZE`
4157 Defines the maximum allowed size of the generated image in kilobytes.
4158 The build will fail if the generated image size exceeds this value.
4159
4160 The generated image size undergoes several calculation steps before being
4161 compared to :term:`IMAGE_ROOTFS_MAXSIZE`.
4162 In the first step, the size of the directory pointed to by :term:`IMAGE_ROOTFS`
4163 is calculated.
4164 In the second step, the result from the first step is multiplied
4165 by :term:`IMAGE_OVERHEAD_FACTOR`.
4166 In the third step, the result from the second step is compared with
4167 :term:`IMAGE_ROOTFS_SIZE`. The larger value of these is added to
4168 :term:`IMAGE_ROOTFS_EXTRA_SPACE`.
4169 In the fourth step, the result from the third step is checked for
4170 a decimal part. If it has one, it is rounded up to the next integer.
4171 If it does not, it is simply converted into an integer.
4172 In the fifth step, the :term:`IMAGE_ROOTFS_ALIGNMENT` is added to the result
4173 from the fourth step and "1" is subtracted.
4174 In the sixth step, the remainder of the division between the result
4175 from the fifth step and :term:`IMAGE_ROOTFS_ALIGNMENT` is subtracted from the
4176 result of the fifth step. In this way, the result from the fourth step is
4177 rounded up to the nearest multiple of :term:`IMAGE_ROOTFS_ALIGNMENT`.
4178
4179 Thus, if the :term:`IMAGE_ROOTFS_MAXSIZE` is set, is compared with the result
4180 of the above calculations and is independent of the final image type.
4181 No default value is set for :term:`IMAGE_ROOTFS_MAXSIZE`.
4182
4183 It's a good idea to set this variable for images that need to fit on a limited
4184 space (e.g. SD card, a fixed-size partition, ...).
4185
3881 :term:`IMAGE_ROOTFS_SIZE` 4186 :term:`IMAGE_ROOTFS_SIZE`
3882 Defines the size in Kbytes for the generated image. The OpenEmbedded 4187 Defines the size in Kbytes for the generated image. The OpenEmbedded
3883 build system determines the final size for the generated image using 4188 build system determines the final size for the generated image using
@@ -4059,6 +4364,23 @@ system and gives an overview of their function and contents.
4059 Set the variable to "1" to prevent the default dependencies from 4364 Set the variable to "1" to prevent the default dependencies from
4060 being added. 4365 being added.
4061 4366
4367 :term:`INHIBIT_DEFAULT_RUST_DEPS`
4368 Prevents the :ref:`ref-classes-rust` class from automatically adding
4369 its default build-time dependencies.
4370
4371 When a recipe inherits the :ref:`ref-classes-rust` class, several
4372 tools such as ``rust-native`` and ``${RUSTLIB_DEP}`` (only added when cross-compiling) are added
4373 to :term:`DEPENDS` to support the ``rust`` build process.
4374
4375 To prevent the build system from adding these dependencies automatically,
4376 set the :term:`INHIBIT_DEFAULT_RUST_DEPS` variable as follows::
4377
4378 INHIBIT_DEFAULT_RUST_DEPS = "1"
4379
4380 By default, the value of :term:`INHIBIT_DEFAULT_RUST_DEPS` is empty. Setting
4381 it to "0" does not disable inhibition. Only the empty string will disable
4382 inhibition.
4383
4062 :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` 4384 :term:`INHIBIT_PACKAGE_DEBUG_SPLIT`
4063 Prevents the OpenEmbedded build system from splitting out debug 4385 Prevents the OpenEmbedded build system from splitting out debug
4064 information during packaging. By default, the build system splits out 4386 information during packaging. By default, the build system splits out
@@ -4105,6 +4427,25 @@ system and gives an overview of their function and contents.
4105 even if the toolchain's binaries are strippable, there are other files 4427 even if the toolchain's binaries are strippable, there are other files
4106 needed for the build that are not strippable. 4428 needed for the build that are not strippable.
4107 4429
4430 :term:`INHIBIT_UPDATERCD_BBCLASS`
4431 Prevents the :ref:`ref-classes-update-rc.d` class from automatically
4432 installing and registering SysV init scripts for packages.
4433
4434 When a recipe inherits the :ref:`ref-classes-update-rc.d` class, init
4435 scripts are typically installed and registered for the packages listed in
4436 :term:`INITSCRIPT_PACKAGES`. This ensures that the relevant
4437 services are started and stopped at the appropriate runlevels using the
4438 traditional SysV init system.
4439
4440 To prevent the build system from adding these scripts and configurations
4441 automatically, set the :term:`INHIBIT_UPDATERCD_BBCLASS` variable as follows::
4442
4443 INHIBIT_UPDATERCD_BBCLASS = "1"
4444
4445 By default, the value of :term:`INHIBIT_UPDATERCD_BBCLASS` is empty. Setting
4446 it to "0" does not disable inhibition. Only the empty string will disable
4447 inhibition.
4448
4108 :term:`INIT_MANAGER` 4449 :term:`INIT_MANAGER`
4109 Specifies the system init manager to use. Available options are: 4450 Specifies the system init manager to use. Available options are:
4110 4451
@@ -4271,6 +4612,20 @@ system and gives an overview of their function and contents.
4271 See the :term:`MACHINE` variable for additional 4612 See the :term:`MACHINE` variable for additional
4272 information. 4613 information.
4273 4614
4615 :term:`INITRAMFS_MAXSIZE`
4616 Defines the maximum allowed size of the :term:`Initramfs` image in Kbytes.
4617 The build will fail if the :term:`Initramfs` image size exceeds this value.
4618
4619 The :term:`Initramfs` image size undergoes several calculation steps before
4620 being compared to :term:`INITRAMFS_MAXSIZE`.
4621 These steps are the same as those used for :term:`IMAGE_ROOTFS_MAXSIZE`
4622 and are described in detail in that entry.
4623
4624 Thus, :term:`INITRAMFS_MAXSIZE` is compared with the result of the calculations
4625 and is independent of the final image type (e.g. compressed).
4626 A default value for :term:`INITRAMFS_MAXSIZE` is set in
4627 :oe_git:`meta/conf/bitbake.conf </openembedded-core/tree/meta/conf/bitbake.conf>`.
4628
4274 :term:`INITRAMFS_MULTICONFIG` 4629 :term:`INITRAMFS_MULTICONFIG`
4275 Defines the multiconfig to create a multiconfig dependency to be used by 4630 Defines the multiconfig to create a multiconfig dependency to be used by
4276 the :ref:`ref-classes-kernel` class. 4631 the :ref:`ref-classes-kernel` class.
@@ -4336,8 +4691,7 @@ system and gives an overview of their function and contents.
4336 4691
4337 The value in :term:`INITSCRIPT_PARAMS` is passed through to the 4692 The value in :term:`INITSCRIPT_PARAMS` is passed through to the
4338 ``update-rc.d`` command. For more information on valid parameters, 4693 ``update-rc.d`` command. For more information on valid parameters,
4339 please see the ``update-rc.d`` manual page at 4694 please see the manual page: :manpage:`update-rc.d <update-rc.d(8)>`.
4340 https://manpages.debian.org/buster/init-system-helpers/update-rc.d.8.en.html
4341 4695
4342 :term:`INSANE_SKIP` 4696 :term:`INSANE_SKIP`
4343 Specifies the QA checks to skip for a specific package within a 4697 Specifies the QA checks to skip for a specific package within a
@@ -4454,15 +4808,8 @@ system and gives an overview of their function and contents.
4454 options not explicitly specified will be disabled in the kernel 4808 options not explicitly specified will be disabled in the kernel
4455 config. 4809 config.
4456 4810
4457 In case :term:`KCONFIG_MODE` is not set the behaviour will depend on where 4811 In case :term:`KCONFIG_MODE` is not set the ``defconfig`` file
4458 the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file 4812 will be handled in ``allnoconfig`` mode.
4459 will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed
4460 in ``${WORKDIR}`` through a meta-layer will be handled in
4461 ``allnoconfig`` mode.
4462
4463 An "in-tree" ``defconfig`` file can be selected via the
4464 :term:`KBUILD_DEFCONFIG` variable. :term:`KCONFIG_MODE` does not need to
4465 be explicitly set.
4466 4813
4467 A ``defconfig`` file compatible with ``allnoconfig`` mode can be 4814 A ``defconfig`` file compatible with ``allnoconfig`` mode can be
4468 generated by copying the ``.config`` file from a working Linux kernel 4815 generated by copying the ``.config`` file from a working Linux kernel
@@ -4906,7 +5253,8 @@ system and gives an overview of their function and contents.
4906 ``LAYERVERSION_mylayer``). 5253 ``LAYERVERSION_mylayer``).
4907 5254
4908 :term:`LD` 5255 :term:`LD`
4909 The minimal command and arguments used to run the linker. 5256 The minimal command and arguments used to run the :manpage:`linker
5257 <ld(1)>`.
4910 5258
4911 :term:`LDFLAGS` 5259 :term:`LDFLAGS`
4912 Specifies the flags to pass to the linker. This variable is exported 5260 Specifies the flags to pass to the linker. This variable is exported
@@ -5084,7 +5432,7 @@ system and gives an overview of their function and contents.
5084 The :term:`LINUX_VERSION` variable is used to define :term:`PV` 5432 The :term:`LINUX_VERSION` variable is used to define :term:`PV`
5085 for the recipe:: 5433 for the recipe::
5086 5434
5087 PV = "${LINUX_VERSION}+git${SRCPV}" 5435 PV = "${LINUX_VERSION}+git"
5088 5436
5089 :term:`LINUX_VERSION_EXTENSION` 5437 :term:`LINUX_VERSION_EXTENSION`
5090 A string extension compiled into the version string of the Linux 5438 A string extension compiled into the version string of the Linux
@@ -5512,7 +5860,7 @@ system and gives an overview of their function and contents.
5512 variable is set. 5860 variable is set.
5513 5861
5514 :term:`NM` 5862 :term:`NM`
5515 The minimal command and arguments to run ``nm``. 5863 The minimal command and arguments to run :manpage:`nm <nm(1)>`.
5516 5864
5517 :term:`NO_GENERIC_LICENSE` 5865 :term:`NO_GENERIC_LICENSE`
5518 Avoids QA errors when you use a non-common, non-CLOSED license in a 5866 Avoids QA errors when you use a non-common, non-CLOSED license in a
@@ -5586,10 +5934,10 @@ system and gives an overview of their function and contents.
5586 NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" 5934 NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot"
5587 5935
5588 :term:`OBJCOPY` 5936 :term:`OBJCOPY`
5589 The minimal command and arguments to run ``objcopy``. 5937 The minimal command and arguments to run :manpage:`objcopy <objcopy(1)>`.
5590 5938
5591 :term:`OBJDUMP` 5939 :term:`OBJDUMP`
5592 The minimal command and arguments to run ``objdump``. 5940 The minimal command and arguments to run :manpage:`objdump <objdump(1)>`.
5593 5941
5594 :term:`OE_BINCONFIG_EXTRA_MANGLE` 5942 :term:`OE_BINCONFIG_EXTRA_MANGLE`
5595 When inheriting the :ref:`ref-classes-binconfig` class, 5943 When inheriting the :ref:`ref-classes-binconfig` class,
@@ -5614,14 +5962,6 @@ system and gives an overview of their function and contents.
5614 5962
5615 OECMAKE_GENERATOR = "Unix Makefiles" 5963 OECMAKE_GENERATOR = "Unix Makefiles"
5616 5964
5617 :term:`OE_IMPORTS`
5618 An internal variable used to tell the OpenEmbedded build system what
5619 Python modules to import for every Python function run by the system.
5620
5621 .. note::
5622
5623 Do not set this variable. It is for internal use only.
5624
5625 :term:`OE_INIT_ENV_SCRIPT` 5965 :term:`OE_INIT_ENV_SCRIPT`
5626 The name of the build environment setup script for the purposes of 5966 The name of the build environment setup script for the purposes of
5627 setting up the environment within the extensible SDK. The default 5967 setting up the environment within the extensible SDK. The default
@@ -5684,6 +6024,13 @@ system and gives an overview of their function and contents.
5684 :term:`OPKG_MAKE_INDEX_EXTRA_PARAMS` 6024 :term:`OPKG_MAKE_INDEX_EXTRA_PARAMS`
5685 Specifies extra parameters for the ``opkg-make-index`` command. 6025 Specifies extra parameters for the ``opkg-make-index`` command.
5686 6026
6027 :term:`OPKGBUILDCMD`
6028 The variable :term:`OPKGBUILDCMD` specifies the command used to build opkg
6029 packages when using the :ref:`ref-classes-package_ipk` class. It is
6030 defined in :ref:`ref-classes-package_ipk` as::
6031
6032 OPKGBUILDCMD ??= 'opkg-build -Z zstd -a "${ZSTD_DEFAULTS}"'
6033
5687 :term:`OVERLAYFS_ETC_DEVICE` 6034 :term:`OVERLAYFS_ETC_DEVICE`
5688 When the :ref:`ref-classes-overlayfs-etc` class is 6035 When the :ref:`ref-classes-overlayfs-etc` class is
5689 inherited, specifies the device to be mounted for the read/write 6036 inherited, specifies the device to be mounted for the read/write
@@ -6450,7 +6797,7 @@ system and gives an overview of their function and contents.
6450 For examples of how this data is used, see the 6797 For examples of how this data is used, see the
6451 ":ref:`overview-manual/concepts:automatically added runtime dependencies`" 6798 ":ref:`overview-manual/concepts:automatically added runtime dependencies`"
6452 section in the Yocto Project Overview and Concepts Manual and the 6799 section in the Yocto Project Overview and Concepts Manual and the
6453 ":ref:`dev-manual/debugging:viewing package information with \`\`oe-pkgdata-util\`\``" 6800 ":ref:`dev-manual/debugging:viewing package information with ``oe-pkgdata-util```"
6454 section in the Yocto Project Development Tasks Manual. For more 6801 section in the Yocto Project Development Tasks Manual. For more
6455 information on the shared, global-state directory, see 6802 information on the shared, global-state directory, see
6456 :term:`STAGING_DIR_HOST`. 6803 :term:`STAGING_DIR_HOST`.
@@ -6491,6 +6838,23 @@ system and gives an overview of their function and contents.
6491 The version of the package(s) built by the recipe. By default, 6838 The version of the package(s) built by the recipe. By default,
6492 :term:`PKGV` is set to :term:`PV`. 6839 :term:`PKGV` is set to :term:`PV`.
6493 6840
6841 If :term:`PV` contains the ``+`` sign, source control information will be
6842 included in :term:`PKGV` later in the packaging phase. For more
6843 information, see the :doc:`/dev-manual/external-scm` section of the Yocto
6844 Project Development Tasks Manual.
6845
6846 .. warning::
6847
6848 Since source control information is included in a late stage by the
6849 :ref:`ref-classes-package` class, it cannot be seen from the BitBake
6850 environment with ``bitbake -e`` or ``bitbake-getvar``. Instead, after
6851 the package is built, the version information can be retrieved with
6852 ``oe-pkgdata-util package-info <package name>``. See the
6853 :ref:`dev-manual/debugging:Viewing Package Information with
6854 ``oe-pkgdata-util``` section of the Yocto Project Development Tasks
6855 Manual for more information on ``oe-pkgdata-util``.
6856
6857
6494 :term:`PN` 6858 :term:`PN`
6495 This variable can have two separate functions depending on the 6859 This variable can have two separate functions depending on the
6496 context: a recipe name or a resulting package name. 6860 context: a recipe name or a resulting package name.
@@ -6625,22 +6989,14 @@ system and gives an overview of their function and contents.
6625 string. You cannot use the wildcard character in any other 6989 string. You cannot use the wildcard character in any other
6626 location of the string. 6990 location of the string.
6627 6991
6628 The specified version is matched against :term:`PV`, which 6992 The specified version is matched against :term:`PV`, which does not
6629 does not necessarily match the version part of the recipe's filename. 6993 necessarily match the version part of the recipe's filename.
6630 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
6631 where ``foo_git.bb`` contains the following assignment::
6632
6633 PV = "1.1+git${SRCPV}"
6634
6635 In this case, the correct way to select
6636 ``foo_git.bb`` is by using an assignment such as the following::
6637
6638 PREFERRED_VERSION_foo = "1.1+git%"
6639 6994
6640 Compare that previous example 6995 If you want to select a recipe named ``foo_git.bb`` which has :term:`PV`
6641 against the following incorrect example, which does not work:: 6996 set to ``1.2.3+git``, you can do so by setting ```PREFERRED_VERSION_foo``
6642 6997 to ``1.2.3%`` (i.e. simply setting ``PREFERRED_VERSION_foo`` to ``git``
6643 PREFERRED_VERSION_foo = "git" 6998 will not work as the name of the recipe isn't used, but rather its
6999 :term:`PV` definition).
6644 7000
6645 Sometimes the :term:`PREFERRED_VERSION` variable can be set by 7001 Sometimes the :term:`PREFERRED_VERSION` variable can be set by
6646 configuration files in a way that is hard to change. You can use 7002 configuration files in a way that is hard to change. You can use
@@ -6805,7 +7161,7 @@ system and gives an overview of their function and contents.
6805 7161
6806 :term:`PTEST_ENABLED` 7162 :term:`PTEST_ENABLED`
6807 Specifies whether or not :ref:`Package 7163 Specifies whether or not :ref:`Package
6808 Test <dev-manual/packages:testing packages with ptest>` (ptest) 7164 Test <test-manual/ptest:testing packages with ptest>` (ptest)
6809 functionality is enabled when building a recipe. You should not set 7165 functionality is enabled when building a recipe. You should not set
6810 this variable directly. Enabling and disabling building Package Tests 7166 this variable directly. Enabling and disabling building Package Tests
6811 at build time should be done by adding "ptest" to (or removing it 7167 at build time should be done by adding "ptest" to (or removing it
@@ -6862,7 +7218,7 @@ system and gives an overview of their function and contents.
6862 QA_EMPTY_DIRS_RECOMMENDATION:/dev = "but all devices must be created at runtime" 7218 QA_EMPTY_DIRS_RECOMMENDATION:/dev = "but all devices must be created at runtime"
6863 7219
6864 :term:`RANLIB` 7220 :term:`RANLIB`
6865 The minimal command and arguments to run ``ranlib``. 7221 The minimal command and arguments to run :manpage:`ranlib <ranlib(1)>`.
6866 7222
6867 :term:`RCONFLICTS` 7223 :term:`RCONFLICTS`
6868 The list of packages that conflict with packages. Note that packages 7224 The list of packages that conflict with packages. Note that packages
@@ -6999,6 +7355,9 @@ system and gives an overview of their function and contents.
6999 ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the 7355 ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the
7000 BitBake User Manual for additional information on tasks and dependencies. 7356 BitBake User Manual for additional information on tasks and dependencies.
7001 7357
7358 :term:`READELF`
7359 The minimal command and arguments to run :manpage:`readelf <readelf(1)>`.
7360
7002 :term:`RECIPE_MAINTAINER` 7361 :term:`RECIPE_MAINTAINER`
7003 This variable defines the name and e-mail address of the maintainer of a 7362 This variable defines the name and e-mail address of the maintainer of a
7004 recipe. Such information can be used by human users submitted changes, 7363 recipe. Such information can be used by human users submitted changes,
@@ -7093,17 +7452,12 @@ system and gives an overview of their function and contents.
7093 prefer to have a read-only root filesystem and prefer to keep 7452 prefer to have a read-only root filesystem and prefer to keep
7094 writeable data in one place. 7453 writeable data in one place.
7095 7454
7096 You can override the default by setting the variable in any layer or 7455 When setting ``INIT_MANAGER = systemd``, the default will be set to::
7097 in the ``local.conf`` file. Because the default is set using a "weak"
7098 assignment (i.e. "??="), you can use either of the following forms to
7099 define your override::
7100 7456
7101 ROOT_HOME = "/root"
7102 ROOT_HOME ?= "/root" 7457 ROOT_HOME ?= "/root"
7103 7458
7104 These 7459 You can also override the default by setting the variable in your distro
7105 override examples use ``/root``, which is probably the most commonly 7460 configuration or in the ``local.conf`` file.
7106 used override.
7107 7461
7108 :term:`ROOTFS` 7462 :term:`ROOTFS`
7109 Indicates a filesystem image to include as the root filesystem. 7463 Indicates a filesystem image to include as the root filesystem.
@@ -7348,11 +7702,21 @@ system and gives an overview of their function and contents.
7348 7702
7349 Only one archive type can be specified. 7703 Only one archive type can be specified.
7350 7704
7705 :term:`SDK_AS_ARCH`
7706 Specifies architecture-specific assembler flags when building
7707 :ref:`ref-classes-nativesdk` recipes. By default, the value of
7708 :term:`SDK_AS_ARCH` equals the one of :term:`BUILD_AS_ARCH`.
7709
7351 :term:`SDK_BUILDINFO_FILE` 7710 :term:`SDK_BUILDINFO_FILE`
7352 When using the :ref:`ref-classes-image-buildinfo` class, 7711 When using the :ref:`ref-classes-image-buildinfo` class,
7353 specifies the file in the SDK to write the build information into. The 7712 specifies the file in the SDK to write the build information into. The
7354 default value is "``/buildinfo``". 7713 default value is "``/buildinfo``".
7355 7714
7715 :term:`SDK_CC_ARCH`
7716 Specifies the architecture-specific C compiler flags when building
7717 :ref:`ref-classes-nativesdk` recipes. By default, the value of
7718 :term:`SDK_CC_ARCH` equals the one of :term:`BUILD_CC_ARCH`.
7719
7356 :term:`SDK_CUSTOM_TEMPLATECONF` 7720 :term:`SDK_CUSTOM_TEMPLATECONF`
7357 When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to 7721 When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to
7358 "1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory` 7722 "1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory`
@@ -7434,6 +7798,11 @@ system and gives an overview of their function and contents.
7434 :term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if 7798 :term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if
7435 :term:`SDK_EXT_TYPE` is set to "full". 7799 :term:`SDK_EXT_TYPE` is set to "full".
7436 7800
7801 :term:`SDK_LD_ARCH`
7802 Specifies architecture-specific linker flags when building
7803 :ref:`ref-classes-nativesdk` recipes. By default, the value of
7804 :term:`SDK_LD_ARCH` equals the one of :term:`BUILD_LD_ARCH`.
7805
7437 :term:`SDK_NAME` 7806 :term:`SDK_NAME`
7438 The base name for SDK output files. The default value (as set in 7807 The base name for SDK output files. The default value (as set in
7439 ``meta-poky/conf/distro/poky.conf``) is derived from the 7808 ``meta-poky/conf/distro/poky.conf``) is derived from the
@@ -7725,6 +8094,53 @@ system and gives an overview of their function and contents.
7725 might break at runtime if the interface of the recipe was changed 8094 might break at runtime if the interface of the recipe was changed
7726 after the other had been built. 8095 after the other had been built.
7727 8096
8097 :term:`SIGGEN_LOCKEDSIGS`
8098 The list of locked tasks, with the form::
8099
8100 SIGGEN_LOCKEDSIGS += "<package>:<task>:<signature>"
8101
8102 If ``<signature>`` exists for the specified ``<task>`` and ``<package>``
8103 in the sstate cache, BitBake will use the cached output instead of
8104 rebuilding the ``<task>``. If it does not exist, BitBake will build the
8105 ``<task>`` and the sstate cache will be used next time.
8106
8107 Example::
8108
8109 SIGGEN_LOCKEDSIGS += "bc:do_compile:09772aa4532512baf96d433484f27234d4b7c11dd9cda0d6f56fa1b7ce6f25f0"
8110
8111 You can obtain the signature of all the tasks for the recipe ``bc`` using::
8112
8113 bitbake -S none bc
8114
8115 Then you can look at files in ``build/tmp/stamps/<arch>/bc`` and look for
8116 files like: ``<PV>.do_compile.sigdata.09772aa4532512baf96d433484f27234d4b7c11dd9cda0d6f56fa1b7ce6f25f0``.
8117
8118 Alternatively, you can also use :doc:`bblock </dev-manual/bblock>` to
8119 generate this line for you.
8120
8121 :term:`SIGGEN_LOCKEDSIGS_TASKSIG_CHECK`
8122 Specifies the debug level of task signature check. 3 levels are supported:
8123
8124 * ``info``: displays a "Note" message to remind the user that a task is locked
8125 and the current signature matches the locked one.
8126 * ``warn``: displays a "Warning" message if a task is locked and the current
8127 signature does not match the locked one.
8128 * ``error``: same as warn but displays an "Error" message and aborts.
8129
8130 :term:`SIGGEN_LOCKEDSIGS_TYPES`
8131 Allowed overrides for :term:`SIGGEN_LOCKEDSIGS`. This is mainly used
8132 for architecture specific locks. A common value for
8133 :term:`SIGGEN_LOCKEDSIGS_TYPES` is ``${PACKAGE_ARCHS}``::
8134
8135 SIGGEN_LOCKEDSIGS_TYPES += "${PACKAGE_ARCHS}"
8136
8137 SIGGEN_LOCKEDSIGS_core2-64 += "bc:do_compile:09772aa4532512baf96d433484f27234d4b7c11dd9cda0d6f56fa1b7ce6f25f0"
8138 SIGGEN_LOCKEDSIGS_cortexa57 += "bc:do_compile:12178eb6d55ef602a8fe638e49862fd247e07b228f0f08967697b655bfe4bb61"
8139
8140 Here, the ``do_compile`` task from ``bc`` will be locked only for
8141 ``core2-64`` and ``cortexa57`` but not for other architectures such as
8142 ``mips32r2``.
8143
7728 :term:`SITEINFO_BITS` 8144 :term:`SITEINFO_BITS`
7729 Specifies the number of bits for the target system CPU. The value 8145 Specifies the number of bits for the target system CPU. The value
7730 should be either "32" or "64". 8146 should be either "32" or "64".
@@ -7835,6 +8251,31 @@ system and gives an overview of their function and contents.
7835 8251
7836 You can specify only a single URL in :term:`SOURCE_MIRROR_URL`. 8252 You can specify only a single URL in :term:`SOURCE_MIRROR_URL`.
7837 8253
8254 .. note::
8255
8256 If the mirror is protected behind a username and password, the
8257 :term:`build host` needs to be configured so the :term:`build system
8258 <OpenEmbedded Build System>` is able to fetch from the mirror.
8259
8260 The recommended way to do that is by setting the following parameters
8261 in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
8262 directory)::
8263
8264 machine example.com
8265 login <user>
8266 password <password>
8267
8268 This file requires permissions set to ``400`` or ``600`` to prevent
8269 other users from reading the file::
8270
8271 chmod 600 "$HOME/.netrc"
8272
8273 Another method to configure the username and password is from the URL
8274 in :term:`SOURCE_MIRROR_URL` directly, with the ``user`` and ``pswd``
8275 parameters::
8276
8277 SOURCE_MIRROR_URL = "http://example.com/my_source_mirror;user=<user>;pswd=<password>"
8278
7838 :term:`SPDX_ARCHIVE_PACKAGED` 8279 :term:`SPDX_ARCHIVE_PACKAGED`
7839 This option allows to add to :term:`SPDX` output compressed archives 8280 This option allows to add to :term:`SPDX` output compressed archives
7840 of the files in the generated target packages. 8281 of the files in the generated target packages.
@@ -8009,7 +8450,7 @@ system and gives an overview of their function and contents.
8009 class. 8450 class.
8010 8451
8011 :term:`SPL_SIGN_KEYNAME` 8452 :term:`SPL_SIGN_KEYNAME`
8012 The name of keys used by the :ref:`ref-classes-kernel-fitimage` class 8453 The name of keys used by the :ref:`ref-classes-uboot-sign` class
8013 for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR` 8454 for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR`
8014 directory. If we have for example a ``dev.key`` key and a ``dev.crt`` 8455 directory. If we have for example a ``dev.key`` key and a ``dev.crt``
8015 certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will 8456 certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will
@@ -8115,21 +8556,23 @@ system and gives an overview of their function and contents.
8115 (SCM). 8556 (SCM).
8116 8557
8117 :term:`SRCPV` 8558 :term:`SRCPV`
8118 Returns the version string of the current package. This string is 8559 The variable :term:`SRCPV` is deprecated. It was previously used to
8119 used to help define the value of :term:`PV`. 8560 include source control information in :term:`PV` for :term:`bitbake` to
8561 work correctly but this is no longer a requirement. Source control
8562 information will be automatically included by :term:`bitbake` in the
8563 variable :term:`PKGV` during packaging if the ``+`` sign is present in
8564 :term:`PV`.
8120 8565
8121 The :term:`SRCPV` variable is defined in the ``meta/conf/bitbake.conf`` 8566 .. note::
8122 configuration file in the :term:`Source Directory` as
8123 follows::
8124 8567
8125 SRCPV = "${@bb.fetch2.get_srcrev(d)}" 8568 The :term:`SRCPV` variable used to be defined in the
8569 ``meta/conf/bitbake.conf`` configuration file in the :term:`Source
8570 Directory` as follows::
8126 8571
8127 Recipes that need to define :term:`PV` do so with the help of the 8572 SRCPV = "${@bb.fetch2.get_srcrev(d)}"
8128 :term:`SRCPV`. For example, the ``ofono`` recipe (``ofono_git.bb``)
8129 located in ``meta/recipes-connectivity`` in the Source Directory
8130 defines :term:`PV` as follows::
8131 8573
8132 PV = "0.12-git${SRCPV}" 8574 The ``get_srcrev`` function can still be used to include source control
8575 information in variables manually.
8133 8576
8134 :term:`SRCREV` 8577 :term:`SRCREV`
8135 The revision of the source code used to build the package. This 8578 The revision of the source code used to build the package. This
@@ -8240,10 +8683,38 @@ system and gives an overview of their function and contents.
8240 file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \ 8683 file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
8241 file://.* file:///some-local-dir/sstate/PATH" 8684 file://.* file:///some-local-dir/sstate/PATH"
8242 8685
8686 .. note::
8687
8688 If the mirror is protected behind a username and password, the
8689 :term:`build host` needs to be configured so the :term:`build system
8690 <OpenEmbedded Build System>` is able to download the sstate cache using
8691 authentication.
8692
8693 The recommended way to do that is by setting the following parameters
8694 in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
8695 directory)::
8696
8697 machine someserver.tld
8698 login <user>
8699 password <password>
8700
8701 This file requires permissions set to ``400`` or ``600`` to prevent
8702 other users from reading the file::
8703
8704 chmod 600 "$HOME/.netrc"
8705
8706 Another method to configure the username and password is from the
8707 URL in :term:`SSTATE_MIRRORS` directly, with the ``user`` and ``pswd``
8708 parameters::
8709
8710 SSTATE_MIRRORS ?= "\
8711 file://.* https://someserver.tld/share/sstate/PATH;user=<user>;pswd=<password>;downloadfilename=PATH \
8712 "
8713
8243 The Yocto Project actually shares the cache data objects built by its 8714 The Yocto Project actually shares the cache data objects built by its
8244 autobuilder:: 8715 autobuilder::
8245 8716
8246 SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" 8717 SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
8247 8718
8248 As such binary artifacts are built for the generic QEMU machines 8719 As such binary artifacts are built for the generic QEMU machines
8249 supported by the various Poky releases, they are less likely to be 8720 supported by the various Poky releases, they are less likely to be
@@ -8267,6 +8738,26 @@ system and gives an overview of their function and contents.
8267 8738
8268 For details on the process, see the :ref:`ref-classes-staging` class. 8739 For details on the process, see the :ref:`ref-classes-staging` class.
8269 8740
8741 :term:`SSTATE_SKIP_CREATION`
8742 The :term:`SSTATE_SKIP_CREATION` variable can be used to skip the
8743 creation of :ref:`shared state <overview-manual/concepts:shared state cache>`
8744 tarball files. It makes sense e.g. for image creation tasks as tarring images
8745 and keeping them in sstate would consume a lot of disk space.
8746
8747 In general it is not recommended to use this variable as missing sstate
8748 artefacts adversely impact the build, particularly for entries in the
8749 middle of dependency chains. The case it can make sense is where the
8750 size and time costs of the artefact are similar to just running the
8751 tasks. This generally only applies to end artefact output like images.
8752
8753 The syntax to disable it for one task is::
8754
8755 SSTATE_SKIP_CREATION:task-image-complete = "1"
8756
8757 The syntax to disable it for the whole recipe is::
8758
8759 SSTATE_SKIP_CREATION = "1"
8760
8270 :term:`STAGING_BASE_LIBDIR_NATIVE` 8761 :term:`STAGING_BASE_LIBDIR_NATIVE`
8271 Specifies the path to the ``/lib`` subdirectory of the sysroot 8762 Specifies the path to the ``/lib`` subdirectory of the sysroot
8272 directory for the build host. 8763 directory for the build host.
@@ -8457,8 +8948,8 @@ system and gives an overview of their function and contents.
8457 places stamps. The default directory is ``${TMPDIR}/stamps``. 8948 places stamps. The default directory is ``${TMPDIR}/stamps``.
8458 8949
8459 :term:`STRIP` 8950 :term:`STRIP`
8460 The minimal command and arguments to run ``strip``, which is used to 8951 The minimal command and arguments to run :manpage:`strip <strip(1)>`,
8461 strip symbols. 8952 which is used to strip symbols.
8462 8953
8463 :term:`SUMMARY` 8954 :term:`SUMMARY`
8464 The short (72 characters or less) summary of the binary package for 8955 The short (72 characters or less) summary of the binary package for
@@ -9018,8 +9509,8 @@ system and gives an overview of their function and contents.
9018 file. 9509 file.
9019 9510
9020 For more information on testing images, see the 9511 For more information on testing images, see the
9021 ":ref:`dev-manual/runtime-testing:performing automated runtime testing`" 9512 ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
9022 section in the Yocto Project Development Tasks Manual. 9513 section in the Yocto Project Test Environment Manual.
9023 9514
9024 :term:`TEST_SERIALCONTROL_CMD` 9515 :term:`TEST_SERIALCONTROL_CMD`
9025 For automated hardware testing, specifies the command to use to 9516 For automated hardware testing, specifies the command to use to
@@ -9090,8 +9581,8 @@ system and gives an overview of their function and contents.
9090 TEST_SUITES = "test_A test_B" 9581 TEST_SUITES = "test_A test_B"
9091 9582
9092 For more information on testing images, see the 9583 For more information on testing images, see the
9093 ":ref:`dev-manual/runtime-testing:performing automated runtime testing`" 9584 ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
9094 section in the Yocto Project Development Tasks Manual. 9585 section in the Yocto Project Test Environment Manual.
9095 9586
9096 :term:`TEST_TARGET` 9587 :term:`TEST_TARGET`
9097 Specifies the target controller to use when running tests against a 9588 Specifies the target controller to use when running tests against a
@@ -9109,8 +9600,8 @@ system and gives an overview of their function and contents.
9109 You can provide the following arguments with :term:`TEST_TARGET`: 9600 You can provide the following arguments with :term:`TEST_TARGET`:
9110 9601
9111 - *"qemu":* Boots a QEMU image and runs the tests. See the 9602 - *"qemu":* Boots a QEMU image and runs the tests. See the
9112 ":ref:`dev-manual/runtime-testing:enabling runtime tests on qemu`" section 9603 ":ref:`test-manual/runtime-testing:enabling runtime tests on qemu`" section
9113 in the Yocto Project Development Tasks Manual for more 9604 in the Yocto Project Test Environment Manual for more
9114 information. 9605 information.
9115 9606
9116 - *"simpleremote":* Runs the tests on target hardware that is 9607 - *"simpleremote":* Runs the tests on target hardware that is
@@ -9125,8 +9616,8 @@ system and gives an overview of their function and contents.
9125 ``meta/lib/oeqa/controllers/simpleremote.py``. 9616 ``meta/lib/oeqa/controllers/simpleremote.py``.
9126 9617
9127 For information on running tests on hardware, see the 9618 For information on running tests on hardware, see the
9128 ":ref:`dev-manual/runtime-testing:enabling runtime tests on hardware`" 9619 ":ref:`test-manual/runtime-testing:enabling runtime tests on hardware`"
9129 section in the Yocto Project Development Tasks Manual. 9620 section in the Yocto Project Test Environment Manual.
9130 9621
9131 :term:`TEST_TARGET_IP` 9622 :term:`TEST_TARGET_IP`
9132 The IP address of your hardware under test. The :term:`TEST_TARGET_IP` 9623 The IP address of your hardware under test. The :term:`TEST_TARGET_IP`
@@ -9162,10 +9653,15 @@ system and gives an overview of their function and contents.
9162 9653
9163 For more information 9654 For more information
9164 on enabling, running, and writing these tests, see the 9655 on enabling, running, and writing these tests, see the
9165 ":ref:`dev-manual/runtime-testing:performing automated runtime testing`" 9656 ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
9166 section in the Yocto Project Development Tasks Manual and the 9657 section in the Yocto Project Test Environment Manual and the
9167 ":ref:`ref-classes-testimage`" section. 9658 ":ref:`ref-classes-testimage`" section.
9168 9659
9660 :term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
9661 When using the :ref:`ref-classes-testimage` class, the variable
9662 :term:`TESTIMAGE_FAILED_QA_ARTIFACTS` lists space-separated paths on the
9663 target to retrieve onto the host.
9664
9169 :term:`THISDIR` 9665 :term:`THISDIR`
9170 The directory in which the file BitBake is currently parsing is 9666 The directory in which the file BitBake is currently parsing is
9171 located. Do not manually set this variable. 9667 located. Do not manually set this variable.
@@ -9957,8 +10453,22 @@ system and gives an overview of their function and contents.
9957 ":ref:`ref-classes-insane`" section. 10453 ":ref:`ref-classes-insane`" section.
9958 10454
9959 :term:`WATCHDOG_TIMEOUT` 10455 :term:`WATCHDOG_TIMEOUT`
9960 Specifies the timeout in seconds used by the ``watchdog`` recipe and 10456 Specifies the timeout in seconds used by the ``watchdog-config`` recipe
9961 also by ``systemd`` during reboot. The default is 60 seconds. 10457 and also by ``systemd`` during reboot. The default is 60 seconds.
10458
10459 :term:`WIC_CREATE_EXTRA_ARGS`
10460 If the :term:`IMAGE_FSTYPES` variable contains "wic", the build
10461 will generate a
10462 :ref:`Wic image <dev-manual/wic:creating partitioned images using wic>`
10463 automatically when BitBake builds an image recipe. As part of
10464 this process BitBake will invoke the "`wic create`" command. The
10465 :term:`WIC_CREATE_EXTRA_ARGS` variable is placed at the end of this
10466 command which allows the user to supply additional arguments.
10467
10468 One such useful purpose for this mechanism is to add the ``-D`` (or
10469 ``--debug``) argument to the "`wic create`" command. This increases the
10470 amount of debugging information written out to the Wic log during the
10471 Wic creation process.
9962 10472
9963 :term:`WIRELESS_DAEMON` 10473 :term:`WIRELESS_DAEMON`
9964 For ``connman`` and ``packagegroup-base``, specifies the wireless 10474 For ``connman`` and ``packagegroup-base``, specifies the wireless