blob: 2dca52c4a093a6b150d484af649a9bf2e51143ec [file] [log] [blame]
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001.. SPDX-License-Identifier: CC-BY-2.5
2
3==================
4Variables Glossary
5==================
6
7|
8
9This chapter lists common variables used by BitBake and gives an
10overview of their function and contents.
11
12.. note::
13
14 Following are some points regarding the variables listed in this
15 glossary:
16
17 - The variables listed in this glossary are specific to BitBake.
18 Consequently, the descriptions are limited to that context.
19
20 - Also, variables exist in other systems that use BitBake (e.g. The
21 Yocto Project and OpenEmbedded) that have names identical to those
22 found in this glossary. For such cases, the variables in those
23 systems extend the functionality of the variable as it is
24 described here in this glossary.
25
Andrew Geisslerc9f78652020-09-18 14:11:35 -050026.. glossary::
27
Andrew Geisslerf0343792020-11-18 10:42:21 -060028 :term:`ASSUME_PROVIDED`
Andrew Geisslerc9f78652020-09-18 14:11:35 -050029 Lists recipe names (:term:`PN` values) BitBake does not
30 attempt to build. Instead, BitBake assumes these recipes have already
31 been built.
32
33 In OpenEmbedded-Core, ``ASSUME_PROVIDED`` mostly specifies native
34 tools that should not be built. An example is ``git-native``, which
35 when specified allows for the Git binary from the host to be used
36 rather than building ``git-native``.
37
Andrew Geissler95ac1b82021-03-31 14:34:31 -050038 :term:`AZ_SAS`
39 Azure Storage Shared Access Signature, when using the
40 :ref:`Azure Storage fetcher <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`
41 This variable can be defined to be used by the fetcher to authenticate
42 and gain access to non-public artifacts.
43 ::
44
45 AZ_SAS = ""se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>""
46
47 For more information see Microsoft's Azure Storage documentation at
48 https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview
49
50
Andrew Geisslerf0343792020-11-18 10:42:21 -060051 :term:`B`
Andrew Geisslerc9f78652020-09-18 14:11:35 -050052 The directory in which BitBake executes functions during a recipe's
53 build process.
54
Andrew Geisslerf0343792020-11-18 10:42:21 -060055 :term:`BB_ALLOWED_NETWORKS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -050056 Specifies a space-delimited list of hosts that the fetcher is allowed
57 to use to obtain the required source code. Following are
58 considerations surrounding this variable:
59
60 - This host list is only used if
61 :term:`BB_NO_NETWORK` is either not set or
62 set to "0".
63
64 - Limited support for the "``*``" wildcard character for matching
65 against the beginning of host names exists. For example, the
66 following setting matches ``git.gnu.org``, ``ftp.gnu.org``, and
67 ``foo.git.gnu.org``. ::
68
69 BB_ALLOWED_NETWORKS = "\*.gnu.org"
70
71 .. important::
72
73 The use of the "``*``" character only works at the beginning of
74 a host name and it must be isolated from the remainder of the
75 host name. You cannot use the wildcard character in any other
76 location of the name or combined with the front part of the
77 name.
78
79 For example, ``*.foo.bar`` is supported, while ``*aa.foo.bar``
80 is not.
81
82 - Mirrors not in the host list are skipped and logged in debug.
83
84 - Attempts to access networks not in the host list cause a failure.
85
86 Using ``BB_ALLOWED_NETWORKS`` in conjunction with
87 :term:`PREMIRRORS` is very useful. Adding the
88 host you want to use to ``PREMIRRORS`` results in the source code
89 being fetched from an allowed location and avoids raising an error
90 when a host that is not allowed is in a
91 :term:`SRC_URI` statement. This is because the
92 fetcher does not attempt to use the host listed in ``SRC_URI`` after
93 a successful fetch from the ``PREMIRRORS`` occurs.
94
Andrew Geisslerf0343792020-11-18 10:42:21 -060095 :term:`BB_CONSOLELOG`
Andrew Geisslerc9f78652020-09-18 14:11:35 -050096 Specifies the path to a log file into which BitBake's user interface
97 writes output during the build.
98
Andrew Geisslerf0343792020-11-18 10:42:21 -060099 :term:`BB_CURRENTTASK`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500100 Contains the name of the currently running task. The name does not
101 include the ``do_`` prefix.
102
Andrew Geisslerf0343792020-11-18 10:42:21 -0600103 :term:`BB_DANGLINGAPPENDS_WARNONLY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500104 Defines how BitBake handles situations where an append file
105 (``.bbappend``) has no corresponding recipe file (``.bb``). This
106 condition often occurs when layers get out of sync (e.g. ``oe-core``
107 bumps a recipe version and the old recipe no longer exists and the
108 other layer has not been updated to the new version of the recipe
109 yet).
110
111 The default fatal behavior is safest because it is the sane reaction
112 given something is out of sync. It is important to realize when your
113 changes are no longer being applied.
114
Andrew Geisslerf0343792020-11-18 10:42:21 -0600115 :term:`BB_DEFAULT_TASK`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500116 The default task to use when none is specified (e.g. with the ``-c``
117 command line option). The task name specified should not include the
118 ``do_`` prefix.
119
Andrew Geissler9b4d8b02021-02-19 12:26:16 -0600120 :term:`BB_DEFAULT_UMASK`
121 The default umask to apply to tasks if specified and no task specific
122 umask flag is set.
123
Andrew Geisslerf0343792020-11-18 10:42:21 -0600124 :term:`BB_DISKMON_DIRS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500125 Monitors disk space and available inodes during the build and allows
126 you to control the build based on these parameters.
127
128 Disk space monitoring is disabled by default. When setting this
Andrew Geisslerc926e172021-05-07 16:11:35 -0500129 variable, use the following form::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500130
131 BB_DISKMON_DIRS = "<action>,<dir>,<threshold> [...]"
132
133 where:
134
135 <action> is:
136 ABORT: Immediately abort the build when
137 a threshold is broken.
138 STOPTASKS: Stop the build after the currently
139 executing tasks have finished when
140 a threshold is broken.
141 WARN: Issue a warning but continue the
142 build when a threshold is broken.
143 Subsequent warnings are issued as
144 defined by the
145 BB_DISKMON_WARNINTERVAL variable,
146 which must be defined.
147
148 <dir> is:
149 Any directory you choose. You can specify one or
150 more directories to monitor by separating the
151 groupings with a space. If two directories are
152 on the same device, only the first directory
153 is monitored.
154
155 <threshold> is:
156 Either the minimum available disk space,
157 the minimum number of free inodes, or
158 both. You must specify at least one. To
159 omit one or the other, simply omit the value.
160 Specify the threshold using G, M, K for Gbytes,
161 Mbytes, and Kbytes, respectively. If you do
162 not specify G, M, or K, Kbytes is assumed by
163 default. Do not use GB, MB, or KB.
164
Andrew Geisslerc926e172021-05-07 16:11:35 -0500165 Here are some examples::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500166
167 BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
168 BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
169 BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
170
171 The first example works only if you also set the
172 :term:`BB_DISKMON_WARNINTERVAL`
173 variable. This example causes the build system to immediately abort
174 when either the disk space in ``${TMPDIR}`` drops below 1 Gbyte or
175 the available free inodes drops below 100 Kbytes. Because two
176 directories are provided with the variable, the build system also
177 issues a warning when the disk space in the ``${SSTATE_DIR}``
178 directory drops below 1 Gbyte or the number of free inodes drops
179 below 100 Kbytes. Subsequent warnings are issued during intervals as
180 defined by the ``BB_DISKMON_WARNINTERVAL`` variable.
181
182 The second example stops the build after all currently executing
183 tasks complete when the minimum disk space in the ``${TMPDIR}``
184 directory drops below 1 Gbyte. No disk monitoring occurs for the free
185 inodes in this case.
186
187 The final example immediately aborts the build when the number of
188 free inodes in the ``${TMPDIR}`` directory drops below 100 Kbytes. No
189 disk space monitoring for the directory itself occurs in this case.
190
Andrew Geisslerf0343792020-11-18 10:42:21 -0600191 :term:`BB_DISKMON_WARNINTERVAL`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500192 Defines the disk space and free inode warning intervals.
193
194 If you are going to use the ``BB_DISKMON_WARNINTERVAL`` variable, you
195 must also use the :term:`BB_DISKMON_DIRS`
196 variable and define its action as "WARN". During the build,
197 subsequent warnings are issued each time disk space or number of free
198 inodes further reduces by the respective interval.
199
200 If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you
201 do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk
202 monitoring interval defaults to the following:
203 BB_DISKMON_WARNINTERVAL = "50M,5K"
204
205 When specifying the variable in your configuration file, use the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500206 following form::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500207
208 BB_DISKMON_WARNINTERVAL = "<disk_space_interval>,<disk_inode_interval>"
209
210 where:
211
212 <disk_space_interval> is:
213 An interval of memory expressed in either
214 G, M, or K for Gbytes, Mbytes, or Kbytes,
215 respectively. You cannot use GB, MB, or KB.
216
217 <disk_inode_interval> is:
218 An interval of free inodes expressed in either
219 G, M, or K for Gbytes, Mbytes, or Kbytes,
220 respectively. You cannot use GB, MB, or KB.
221
Andrew Geisslerc926e172021-05-07 16:11:35 -0500222 Here is an example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500223
224 BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
225 BB_DISKMON_WARNINTERVAL = "50M,5K"
226
227 These variables cause BitBake to
228 issue subsequent warnings each time the available disk space further
229 reduces by 50 Mbytes or the number of free inodes further reduces by
230 5 Kbytes in the ``${SSTATE_DIR}`` directory. Subsequent warnings
231 based on the interval occur each time a respective interval is
232 reached beyond the initial warning (i.e. 1 Gbytes and 100 Kbytes).
233
Andrew Geisslerf0343792020-11-18 10:42:21 -0600234 :term:`BB_ENV_WHITELIST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500235 Specifies the internal whitelist of variables to allow through from
236 the external environment into BitBake's datastore. If the value of
237 this variable is not specified (which is the default), the following
238 list is used: :term:`BBPATH`, :term:`BB_PRESERVE_ENV`,
239 :term:`BB_ENV_WHITELIST`, and :term:`BB_ENV_EXTRAWHITE`.
240
241 .. note::
242
243 You must set this variable in the external environment in order
244 for it to work.
245
Andrew Geisslerf0343792020-11-18 10:42:21 -0600246 :term:`BB_ENV_EXTRAWHITE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500247 Specifies an additional set of variables to allow through (whitelist)
248 from the external environment into BitBake's datastore. This list of
249 variables are on top of the internal list set in
250 :term:`BB_ENV_WHITELIST`.
251
252 .. note::
253
254 You must set this variable in the external environment in order
255 for it to work.
256
Andrew Geisslerf0343792020-11-18 10:42:21 -0600257 :term:`BB_FETCH_PREMIRRORONLY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500258 When set to "1", causes BitBake's fetcher module to only search
259 :term:`PREMIRRORS` for files. BitBake will not
260 search the main :term:`SRC_URI` or
261 :term:`MIRRORS`.
262
Andrew Geisslerf0343792020-11-18 10:42:21 -0600263 :term:`BB_FILENAME`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500264 Contains the filename of the recipe that owns the currently running
265 task. For example, if the ``do_fetch`` task that resides in the
266 ``my-recipe.bb`` is executing, the ``BB_FILENAME`` variable contains
267 "/foo/path/my-recipe.bb".
268
Andrew Geisslerf0343792020-11-18 10:42:21 -0600269 :term:`BB_GENERATE_MIRROR_TARBALLS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500270 Causes tarballs of the Git repositories, including the Git metadata,
271 to be placed in the :term:`DL_DIR` directory. Anyone
272 wishing to create a source mirror would want to enable this variable.
273
274 For performance reasons, creating and placing tarballs of the Git
275 repositories is not the default action by BitBake. ::
276
277 BB_GENERATE_MIRROR_TARBALLS = "1"
278
Andrew Geisslerf0343792020-11-18 10:42:21 -0600279 :term:`BB_HASHCONFIG_WHITELIST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500280 Lists variables that are excluded from base configuration checksum,
281 which is used to determine if the cache can be reused.
282
283 One of the ways BitBake determines whether to re-parse the main
284 metadata is through checksums of the variables in the datastore of
285 the base configuration data. There are variables that you typically
286 want to exclude when checking whether or not to re-parse and thus
287 rebuild the cache. As an example, you would usually exclude ``TIME``
288 and ``DATE`` because these variables are always changing. If you did
289 not exclude them, BitBake would never reuse the cache.
290
Andrew Geisslerf0343792020-11-18 10:42:21 -0600291 :term:`BB_HASHBASE_WHITELIST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500292 Lists variables that are excluded from checksum and dependency data.
293 Variables that are excluded can therefore change without affecting
294 the checksum mechanism. A common example would be the variable for
295 the path of the build. BitBake's output should not (and usually does
296 not) depend on the directory in which it was built.
297
Andrew Geisslerf0343792020-11-18 10:42:21 -0600298 :term:`BB_HASHCHECK_FUNCTION`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500299 Specifies the name of the function to call during the "setscene" part
300 of the task's execution in order to validate the list of task hashes.
301 The function returns the list of setscene tasks that should be
302 executed.
303
304 At this point in the execution of the code, the objective is to
305 quickly verify if a given setscene function is likely to work or not.
306 It's easier to check the list of setscene functions in one pass than
307 to call many individual tasks. The returned list need not be
308 completely accurate. A given setscene task can still later fail.
309 However, the more accurate the data returned, the more efficient the
310 build will be.
311
Andrew Geissler09036742021-06-25 14:25:14 -0500312 :term:`BB_HASHSERVE`
313 Specifies the Hash Equivalence server to use.
314
315 If set to ``auto``, BitBake automatically starts its own server
316 over a UNIX domain socket.
317
318 If set to ``host:port``, BitBake will use a remote server on the
319 specified host. This allows multiple clients to share the same
320 hash equivalence data.
321
Andrew Geisslerf0343792020-11-18 10:42:21 -0600322 :term:`BB_INVALIDCONF`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500323 Used in combination with the ``ConfigParsed`` event to trigger
324 re-parsing the base metadata (i.e. all the recipes). The
325 ``ConfigParsed`` event can set the variable to trigger the re-parse.
326 You must be careful to avoid recursive loops with this functionality.
327
Andrew Geisslerf0343792020-11-18 10:42:21 -0600328 :term:`BB_LOGCONFIG`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500329 Specifies the name of a config file that contains the user logging
330 configuration. See
331 :ref:`bitbake-user-manual/bitbake-user-manual-execution:logging`
332 for additional information
333
Andrew Geisslerf0343792020-11-18 10:42:21 -0600334 :term:`BB_LOGFMT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500335 Specifies the name of the log files saved into
336 ``${``\ :term:`T`\ ``}``. By default, the ``BB_LOGFMT``
337 variable is undefined and the log file names get created using the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500338 following form::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500339
340 log.{task}.{pid}
341
342 If you want to force log files to take a specific name, you can set this
343 variable in a configuration file.
344
Andrew Geisslerf0343792020-11-18 10:42:21 -0600345 :term:`BB_NICE_LEVEL`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500346 Allows BitBake to run at a specific priority (i.e. nice level).
347 System permissions usually mean that BitBake can reduce its priority
348 but not raise it again. See :term:`BB_TASK_NICE_LEVEL` for
349 additional information.
350
Andrew Geisslerf0343792020-11-18 10:42:21 -0600351 :term:`BB_NO_NETWORK`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500352 Disables network access in the BitBake fetcher modules. With this
353 access disabled, any command that attempts to access the network
354 becomes an error.
355
356 Disabling network access is useful for testing source mirrors,
357 running builds when not connected to the Internet, and when operating
358 in certain kinds of firewall environments.
359
Andrew Geisslerf0343792020-11-18 10:42:21 -0600360 :term:`BB_NUMBER_THREADS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500361 The maximum number of tasks BitBake should run in parallel at any one
362 time. If your host development system supports multiple cores, a good
363 rule of thumb is to set this variable to twice the number of cores.
364
Andrew Geisslerf0343792020-11-18 10:42:21 -0600365 :term:`BB_NUMBER_PARSE_THREADS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500366 Sets the number of threads BitBake uses when parsing. By default, the
367 number of threads is equal to the number of cores on the system.
368
Andrew Geisslerf0343792020-11-18 10:42:21 -0600369 :term:`BB_ORIGENV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500370 Contains a copy of the original external environment in which BitBake
371 was run. The copy is taken before any whitelisted variable values are
372 filtered into BitBake's datastore.
373
374 .. note::
375
376 The contents of this variable is a datastore object that can be
377 queried using the normal datastore operations.
378
Andrew Geisslerf0343792020-11-18 10:42:21 -0600379 :term:`BB_PRESERVE_ENV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500380 Disables whitelisting and instead allows all variables through from
381 the external environment into BitBake's datastore.
382
383 .. note::
384
385 You must set this variable in the external environment in order
386 for it to work.
387
Andrew Geisslerf0343792020-11-18 10:42:21 -0600388 :term:`BB_RUNFMT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500389 Specifies the name of the executable script files (i.e. run files)
390 saved into ``${``\ :term:`T`\ ``}``. By default, the
391 ``BB_RUNFMT`` variable is undefined and the run file names get
Andrew Geisslerc926e172021-05-07 16:11:35 -0500392 created using the following form::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500393
394 run.{task}.{pid}
395
396 If you want to force run files to take a specific name, you can set this
397 variable in a configuration file.
398
Andrew Geisslerf0343792020-11-18 10:42:21 -0600399 :term:`BB_RUNTASK`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500400 Contains the name of the currently executing task. The value includes
401 the "do\_" prefix. For example, if the currently executing task is
402 ``do_config``, the value is "do_config".
403
Andrew Geisslerf0343792020-11-18 10:42:21 -0600404 :term:`BB_SCHEDULER`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500405 Selects the name of the scheduler to use for the scheduling of
406 BitBake tasks. Three options exist:
407
408 - *basic* - The basic framework from which everything derives. Using
409 this option causes tasks to be ordered numerically as they are
410 parsed.
411
412 - *speed* - Executes tasks first that have more tasks depending on
413 them. The "speed" option is the default.
414
415 - *completion* - Causes the scheduler to try to complete a given
416 recipe once its build has started.
417
Andrew Geisslerf0343792020-11-18 10:42:21 -0600418 :term:`BB_SCHEDULERS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500419 Defines custom schedulers to import. Custom schedulers need to be
420 derived from the ``RunQueueScheduler`` class.
421
422 For information how to select a scheduler, see the
423 :term:`BB_SCHEDULER` variable.
424
Andrew Geisslerf0343792020-11-18 10:42:21 -0600425 :term:`BB_SETSCENE_DEPVALID`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500426 Specifies a function BitBake calls that determines whether BitBake
427 requires a setscene dependency to be met.
428
429 When running a setscene task, BitBake needs to know which
430 dependencies of that setscene task also need to be run. Whether
431 dependencies also need to be run is highly dependent on the metadata.
432 The function specified by this variable returns a "True" or "False"
433 depending on whether the dependency needs to be met.
434
Andrew Geisslerf0343792020-11-18 10:42:21 -0600435 :term:`BB_SIGNATURE_EXCLUDE_FLAGS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500436 Lists variable flags (varflags) that can be safely excluded from
437 checksum and dependency data for keys in the datastore. When
438 generating checksum or dependency data for keys in the datastore, the
439 flags set against that key are normally included in the checksum.
440
441 For more information on varflags, see the
442 ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:variable flags`"
443 section.
444
Andrew Geisslerf0343792020-11-18 10:42:21 -0600445 :term:`BB_SIGNATURE_HANDLER`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500446 Defines the name of the signature handler BitBake uses. The signature
447 handler defines the way stamp files are created and handled, if and
448 how the signature is incorporated into the stamps, and how the
449 signature itself is generated.
450
451 A new signature handler can be added by injecting a class derived
452 from the ``SignatureGenerator`` class into the global namespace.
453
Andrew Geisslerf0343792020-11-18 10:42:21 -0600454 :term:`BB_SRCREV_POLICY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500455 Defines the behavior of the fetcher when it interacts with source
456 control systems and dynamic source revisions. The
457 ``BB_SRCREV_POLICY`` variable is useful when working without a
458 network.
459
460 The variable can be set using one of two policies:
461
462 - *cache* - Retains the value the system obtained previously rather
463 than querying the source control system each time.
464
465 - *clear* - Queries the source controls system every time. With this
466 policy, there is no cache. The "clear" policy is the default.
467
Andrew Geisslerf0343792020-11-18 10:42:21 -0600468 :term:`BB_STAMP_POLICY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500469 Defines the mode used for how timestamps of stamp files are compared.
470 You can set the variable to one of the following modes:
471
472 - *perfile* - Timestamp comparisons are only made between timestamps
473 of a specific recipe. This is the default mode.
474
475 - *full* - Timestamp comparisons are made for all dependencies.
476
477 - *whitelist* - Identical to "full" mode except timestamp
478 comparisons are made for recipes listed in the
479 :term:`BB_STAMP_WHITELIST` variable.
480
481 .. note::
482
483 Stamp policies are largely obsolete with the introduction of
484 setscene tasks.
485
Andrew Geisslerf0343792020-11-18 10:42:21 -0600486 :term:`BB_STAMP_WHITELIST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500487 Lists files whose stamp file timestamps are compared when the stamp
488 policy mode is set to "whitelist". For information on stamp policies,
489 see the :term:`BB_STAMP_POLICY` variable.
490
Andrew Geisslerf0343792020-11-18 10:42:21 -0600491 :term:`BB_STRICT_CHECKSUM`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500492 Sets a more strict checksum mechanism for non-local URLs. Setting
493 this variable to a value causes BitBake to report an error if it
494 encounters a non-local URL that does not have at least one checksum
495 specified.
496
Andrew Geisslerf0343792020-11-18 10:42:21 -0600497 :term:`BB_TASK_IONICE_LEVEL`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500498 Allows adjustment of a task's Input/Output priority. During
499 Autobuilder testing, random failures can occur for tasks due to I/O
500 starvation. These failures occur during various QEMU runtime
501 timeouts. You can use the ``BB_TASK_IONICE_LEVEL`` variable to adjust
502 the I/O priority of these tasks.
503
504 .. note::
505
506 This variable works similarly to the :term:`BB_TASK_NICE_LEVEL`
507 variable except with a task's I/O priorities.
508
Andrew Geisslerc926e172021-05-07 16:11:35 -0500509 Set the variable as follows::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500510
511 BB_TASK_IONICE_LEVEL = "class.prio"
512
513 For *class*, the default value is "2", which is a best effort. You can use
514 "1" for realtime and "3" for idle. If you want to use realtime, you
515 must have superuser privileges.
516
517 For *prio*, you can use any value from "0", which is the highest
518 priority, to "7", which is the lowest. The default value is "4". You
519 do not need any special privileges to use this range of priority
520 values.
521
522 .. note::
523
524 In order for your I/O priority settings to take effect, you need the
525 Completely Fair Queuing (CFQ) Scheduler selected for the backing block
526 device. To select the scheduler, use the following command form where
Andrew Geisslerc926e172021-05-07 16:11:35 -0500527 device is the device (e.g. sda, sdb, and so forth)::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500528
Andrew Geisslerf0343792020-11-18 10:42:21 -0600529 $ sudo sh -c "echo cfq > /sys/block/device/queu/scheduler"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500530
Andrew Geisslerf0343792020-11-18 10:42:21 -0600531 :term:`BB_TASK_NICE_LEVEL`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500532 Allows specific tasks to change their priority (i.e. nice level).
533
534 You can use this variable in combination with task overrides to raise
535 or lower priorities of specific tasks. For example, on the `Yocto
536 Project <http://www.yoctoproject.org>`__ autobuilder, QEMU emulation
537 in images is given a higher priority as compared to build tasks to
538 ensure that images do not suffer timeouts on loaded systems.
539
Andrew Geisslerf0343792020-11-18 10:42:21 -0600540 :term:`BB_TASKHASH`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500541 Within an executing task, this variable holds the hash of the task as
542 returned by the currently enabled signature generator.
543
Andrew Geisslerf0343792020-11-18 10:42:21 -0600544 :term:`BB_VERBOSE_LOGS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500545 Controls how verbose BitBake is during builds. If set, shell scripts
546 echo commands and shell script output appears on standard out
547 (stdout).
548
Andrew Geisslerf0343792020-11-18 10:42:21 -0600549 :term:`BB_WORKERCONTEXT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500550 Specifies if the current context is executing a task. BitBake sets
551 this variable to "1" when a task is being executed. The value is not
552 set when the task is in server context during parsing or event
553 handling.
554
Andrew Geisslerf0343792020-11-18 10:42:21 -0600555 :term:`BBCLASSEXTEND`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500556 Allows you to extend a recipe so that it builds variants of the
557 software. Some examples of these variants for recipes from the
558 OpenEmbedded-Core metadata are "natives" such as ``quilt-native``,
559 which is a copy of Quilt built to run on the build system; "crosses"
560 such as ``gcc-cross``, which is a compiler built to run on the build
561 machine but produces binaries that run on the target ``MACHINE``;
562 "nativesdk", which targets the SDK machine instead of ``MACHINE``;
563 and "mulitlibs" in the form "``multilib:``\ multilib_name".
564
565 To build a different variant of the recipe with a minimal amount of
566 code, it usually is as simple as adding the variable to your recipe.
567 Here are two examples. The "native" variants are from the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500568 OpenEmbedded-Core metadata::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500569
570 BBCLASSEXTEND =+ "native nativesdk"
571 BBCLASSEXTEND =+ "multilib:multilib_name"
572
573 .. note::
574
575 Internally, the ``BBCLASSEXTEND`` mechanism generates recipe
576 variants by rewriting variable values and applying overrides such
577 as ``_class-native``. For example, to generate a native version of
578 a recipe, a :term:`DEPENDS` on "foo" is
579 rewritten to a ``DEPENDS`` on "foo-native".
580
581 Even when using ``BBCLASSEXTEND``, the recipe is only parsed once.
582 Parsing once adds some limitations. For example, it is not
583 possible to include a different file depending on the variant,
584 since ``include`` statements are processed when the recipe is
585 parsed.
586
Andrew Geisslerf0343792020-11-18 10:42:21 -0600587 :term:`BBDEBUG`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500588 Sets the BitBake debug output level to a specific value as
589 incremented by the ``-D`` command line option.
590
591 .. note::
592
593 You must set this variable in the external environment in order
594 for it to work.
595
Andrew Geisslerf0343792020-11-18 10:42:21 -0600596 :term:`BBFILE_COLLECTIONS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500597 Lists the names of configured layers. These names are used to find
598 the other ``BBFILE_*`` variables. Typically, each layer appends its
599 name to this variable in its ``conf/layer.conf`` file.
600
Andrew Geisslerf0343792020-11-18 10:42:21 -0600601 :term:`BBFILE_PATTERN`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500602 Variable that expands to match files from
603 :term:`BBFILES` in a particular layer. This
604 variable is used in the ``conf/layer.conf`` file and must be suffixed
605 with the name of the specific layer (e.g.
606 ``BBFILE_PATTERN_emenlow``).
607
Andrew Geisslerf0343792020-11-18 10:42:21 -0600608 :term:`BBFILE_PRIORITY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500609 Assigns the priority for recipe files in each layer.
610
611 This variable is useful in situations where the same recipe appears
612 in more than one layer. Setting this variable allows you to
613 prioritize a layer against other layers that contain the same recipe
614 - effectively letting you control the precedence for the multiple
615 layers. The precedence established through this variable stands
616 regardless of a recipe's version (:term:`PV` variable).
617 For example, a layer that has a recipe with a higher ``PV`` value but
618 for which the ``BBFILE_PRIORITY`` is set to have a lower precedence
619 still has a lower precedence.
620
621 A larger value for the ``BBFILE_PRIORITY`` variable results in a
622 higher precedence. For example, the value 6 has a higher precedence
623 than the value 5. If not specified, the ``BBFILE_PRIORITY`` variable
624 is set based on layer dependencies (see the ``LAYERDEPENDS`` variable
625 for more information. The default priority, if unspecified for a
626 layer with no dependencies, is the lowest defined priority + 1 (or 1
627 if no priorities are defined).
628
629 .. tip::
630
631 You can use the command bitbake-layers show-layers to list all
632 configured layers along with their priorities.
633
Andrew Geisslerf0343792020-11-18 10:42:21 -0600634 :term:`BBFILES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500635 A space-separated list of recipe files BitBake uses to build
636 software.
637
638 When specifying recipe files, you can pattern match using Python's
639 `glob <https://docs.python.org/3/library/glob.html>`_ syntax.
640 For details on the syntax, see the documentation by following the
641 previous link.
642
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500643 :term:`BBFILES_DYNAMIC`
644 Activates content depending on presence of identified layers. You
645 identify the layers by the collections that the layers define.
646
647 Use the ``BBFILES_DYNAMIC`` variable to avoid ``.bbappend`` files whose
648 corresponding ``.bb`` file is in a layer that attempts to modify other
649 layers through ``.bbappend`` but does not want to introduce a hard
650 dependency on those other layers.
651
652 Additionally you can prefix the rule with "!" to add ``.bbappend`` and
653 ``.bb`` files in case a layer is not present. Use this avoid hard
654 dependency on those other layers.
655
Andrew Geisslerc926e172021-05-07 16:11:35 -0500656 Use the following form for ``BBFILES_DYNAMIC``::
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500657
658 collection_name:filename_pattern
659
660 The following example identifies two collection names and two filename
Andrew Geisslerc926e172021-05-07 16:11:35 -0500661 patterns::
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500662
663 BBFILES_DYNAMIC += "\
664 clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
665 core:${LAYERDIR}/bbappends/openembedded-core/meta/*/*/*.bbappend \
666 "
667
668 When the collection name is prefixed with "!" it will add the file pattern in case
Andrew Geisslerc926e172021-05-07 16:11:35 -0500669 the layer is absent::
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500670
671 BBFILES_DYNAMIC += "\
672 !clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \
673 "
674
675 This next example shows an error message that occurs because invalid
Andrew Geisslerc926e172021-05-07 16:11:35 -0500676 entries are found, which cause parsing to abort::
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500677
678 ERROR: BBFILES_DYNAMIC entries must be of the form {!}<collection name>:<filename pattern>, not:
679 /work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend
680 /work/my-layer/bbappends/openembedded-core/meta/*/*/*.bbappend
681
Andrew Geisslerf0343792020-11-18 10:42:21 -0600682 :term:`BBINCLUDED`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500683 Contains a space-separated list of all of all files that BitBake's
684 parser included during parsing of the current file.
685
Andrew Geisslerf0343792020-11-18 10:42:21 -0600686 :term:`BBINCLUDELOGS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500687 If set to a value, enables printing the task log when reporting a
688 failed task.
689
Andrew Geisslerf0343792020-11-18 10:42:21 -0600690 :term:`BBINCLUDELOGS_LINES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500691 If :term:`BBINCLUDELOGS` is set, specifies
692 the maximum number of lines from the task log file to print when
693 reporting a failed task. If you do not set ``BBINCLUDELOGS_LINES``,
694 the entire log is printed.
695
Andrew Geisslerf0343792020-11-18 10:42:21 -0600696 :term:`BBLAYERS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500697 Lists the layers to enable during the build. This variable is defined
698 in the ``bblayers.conf`` configuration file in the build directory.
Andrew Geisslerc926e172021-05-07 16:11:35 -0500699 Here is an example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500700
701 BBLAYERS = " \
702 /home/scottrif/poky/meta \
703 /home/scottrif/poky/meta-yocto \
704 /home/scottrif/poky/meta-yocto-bsp \
705 /home/scottrif/poky/meta-mykernel \
706 "
707
708 This example enables four layers, one of which is a custom, user-defined
709 layer named ``meta-mykernel``.
710
Andrew Geisslerf0343792020-11-18 10:42:21 -0600711 :term:`BBLAYERS_FETCH_DIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500712 Sets the base location where layers are stored. This setting is used
713 in conjunction with ``bitbake-layers layerindex-fetch`` and tells
714 ``bitbake-layers`` where to place the fetched layers.
715
Andrew Geisslerf0343792020-11-18 10:42:21 -0600716 :term:`BBMASK`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500717 Prevents BitBake from processing recipes and recipe append files.
718
719 You can use the ``BBMASK`` variable to "hide" these ``.bb`` and
720 ``.bbappend`` files. BitBake ignores any recipe or recipe append
721 files that match any of the expressions. It is as if BitBake does not
722 see them at all. Consequently, matching files are not parsed or
723 otherwise used by BitBake.
724
725 The values you provide are passed to Python's regular expression
726 compiler. Consequently, the syntax follows Python's Regular
727 Expression (re) syntax. The expressions are compared against the full
728 paths to the files. For complete syntax information, see Python's
729 documentation at http://docs.python.org/3/library/re.html.
730
731 The following example uses a complete regular expression to tell
732 BitBake to ignore all recipe and recipe append files in the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500733 ``meta-ti/recipes-misc/`` directory::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500734
735 BBMASK = "meta-ti/recipes-misc/"
736
737 If you want to mask out multiple directories or recipes, you can
738 specify multiple regular expression fragments. This next example
Andrew Geisslerc926e172021-05-07 16:11:35 -0500739 masks out multiple directories and individual recipes::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500740
741 BBMASK += "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/"
742 BBMASK += "/meta-oe/recipes-support/"
743 BBMASK += "/meta-foo/.*/openldap"
744 BBMASK += "opencv.*\.bbappend"
745 BBMASK += "lzma"
746
747 .. note::
748
749 When specifying a directory name, use the trailing slash character
750 to ensure you match just that directory name.
751
Andrew Geisslerf0343792020-11-18 10:42:21 -0600752 :term:`BBMULTICONFIG`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500753 Enables BitBake to perform multiple configuration builds and lists
754 each separate configuration (multiconfig). You can use this variable
755 to cause BitBake to build multiple targets where each target has a
756 separate configuration. Define ``BBMULTICONFIG`` in your
757 ``conf/local.conf`` configuration file.
758
759 As an example, the following line specifies three multiconfigs, each
Andrew Geisslerc926e172021-05-07 16:11:35 -0500760 having a separate configuration file::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500761
762 BBMULTIFONFIG = "configA configB configC"
763
764 Each configuration file you use must reside in the
765 build directory within a directory named ``conf/multiconfig`` (e.g.
766 build_directory\ ``/conf/multiconfig/configA.conf``).
767
768 For information on how to use ``BBMULTICONFIG`` in an environment
769 that supports building targets with multiple configurations, see the
770 ":ref:`bitbake-user-manual/bitbake-user-manual-intro:executing a multiple configuration build`"
771 section.
772
Andrew Geisslerf0343792020-11-18 10:42:21 -0600773 :term:`BBPATH`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500774 Used by BitBake to locate class (``.bbclass``) and configuration
775 (``.conf``) files. This variable is analogous to the ``PATH``
776 variable.
777
778 If you run BitBake from a directory outside of the build directory,
779 you must be sure to set ``BBPATH`` to point to the build directory.
780 Set the variable as you would any environment variable and then run
Andrew Geisslerc926e172021-05-07 16:11:35 -0500781 BitBake::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500782
783 $ BBPATH="build_directory"
784 $ export BBPATH
785 $ bitbake target
786
Andrew Geisslerf0343792020-11-18 10:42:21 -0600787 :term:`BBSERVER`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500788 Points to the server that runs memory-resident BitBake. The variable
789 is only used when you employ memory-resident BitBake.
790
Andrew Geisslerf0343792020-11-18 10:42:21 -0600791 :term:`BBTARGETS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500792 Allows you to use a configuration file to add to the list of
793 command-line target recipes you want to build.
794
Andrew Geisslerf0343792020-11-18 10:42:21 -0600795 :term:`BITBAKE_UI`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500796 Used to specify the UI module to use when running BitBake. Using this
797 variable is equivalent to using the ``-u`` command-line option.
798
799 .. note::
800
801 You must set this variable in the external environment in order
802 for it to work.
803
Andrew Geisslerf0343792020-11-18 10:42:21 -0600804 :term:`BUILDNAME`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500805 A name assigned to the build. The name defaults to a datetime stamp
806 of when the build was started but can be defined by the metadata.
807
Andrew Geisslerf0343792020-11-18 10:42:21 -0600808 :term:`BZRDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500809 The directory in which files checked out of a Bazaar system are
810 stored.
811
Andrew Geisslerf0343792020-11-18 10:42:21 -0600812 :term:`CACHE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500813 Specifies the directory BitBake uses to store a cache of the metadata
814 so it does not need to be parsed every time BitBake is started.
815
Andrew Geisslerf0343792020-11-18 10:42:21 -0600816 :term:`CVSDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500817 The directory in which files checked out under the CVS system are
818 stored.
819
Andrew Geisslerf0343792020-11-18 10:42:21 -0600820 :term:`DEFAULT_PREFERENCE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500821 Specifies a weak bias for recipe selection priority.
822
823 The most common usage of this is variable is to set it to "-1" within
824 a recipe for a development version of a piece of software. Using the
825 variable in this way causes the stable version of the recipe to build
826 by default in the absence of ``PREFERRED_VERSION`` being used to
827 build the development version.
828
829 .. note::
830
831 The bias provided by DEFAULT_PREFERENCE is weak and is overridden by
832 :term:`BBFILE_PRIORITY` if that variable is different between two
833 layers that contain different versions of the same recipe.
834
Andrew Geisslerf0343792020-11-18 10:42:21 -0600835 :term:`DEPENDS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500836 Lists a recipe's build-time dependencies (i.e. other recipe files).
837
838 Consider this simple example for two recipes named "a" and "b" that
839 produce similarly named packages. In this example, the ``DEPENDS``
Andrew Geisslerc926e172021-05-07 16:11:35 -0500840 statement appears in the "a" recipe::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500841
842 DEPENDS = "b"
843
844 Here, the dependency is such that the ``do_configure`` task for recipe "a"
845 depends on the ``do_populate_sysroot`` task of recipe "b". This means
846 anything that recipe "b" puts into sysroot is available when recipe "a" is
847 configuring itself.
848
849 For information on runtime dependencies, see the :term:`RDEPENDS`
850 variable.
851
Andrew Geisslerf0343792020-11-18 10:42:21 -0600852 :term:`DESCRIPTION`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500853 A long description for the recipe.
854
Andrew Geisslerf0343792020-11-18 10:42:21 -0600855 :term:`DL_DIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500856 The central download directory used by the build process to store
857 downloads. By default, ``DL_DIR`` gets files suitable for mirroring for
858 everything except Git repositories. If you want tarballs of Git
859 repositories, use the :term:`BB_GENERATE_MIRROR_TARBALLS` variable.
860
Andrew Geisslerf0343792020-11-18 10:42:21 -0600861 :term:`EXCLUDE_FROM_WORLD`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500862 Directs BitBake to exclude a recipe from world builds (i.e.
863 ``bitbake world``). During world builds, BitBake locates, parses and
864 builds all recipes found in every layer exposed in the
865 ``bblayers.conf`` configuration file.
866
867 To exclude a recipe from a world build using this variable, set the
868 variable to "1" in the recipe.
869
870 .. note::
871
872 Recipes added to ``EXCLUDE_FROM_WORLD`` may still be built during a world
873 build in order to satisfy dependencies of other recipes. Adding a
874 recipe to ``EXCLUDE_FROM_WORLD`` only ensures that the recipe is not
875 explicitly added to the list of build targets in a world build.
876
Andrew Geisslerf0343792020-11-18 10:42:21 -0600877 :term:`FAKEROOT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500878 Contains the command to use when running a shell script in a fakeroot
879 environment. The ``FAKEROOT`` variable is obsolete and has been
880 replaced by the other ``FAKEROOT*`` variables. See these entries in
881 the glossary for more information.
882
Andrew Geisslerf0343792020-11-18 10:42:21 -0600883 :term:`FAKEROOTBASEENV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500884 Lists environment variables to set when executing the command defined
885 by :term:`FAKEROOTCMD` that starts the
886 bitbake-worker process in the fakeroot environment.
887
Andrew Geisslerf0343792020-11-18 10:42:21 -0600888 :term:`FAKEROOTCMD`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500889 Contains the command that starts the bitbake-worker process in the
890 fakeroot environment.
891
Andrew Geisslerf0343792020-11-18 10:42:21 -0600892 :term:`FAKEROOTDIRS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500893 Lists directories to create before running a task in the fakeroot
894 environment.
895
Andrew Geisslerf0343792020-11-18 10:42:21 -0600896 :term:`FAKEROOTENV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500897 Lists environment variables to set when running a task in the
898 fakeroot environment. For additional information on environment
899 variables and the fakeroot environment, see the
900 :term:`FAKEROOTBASEENV` variable.
901
Andrew Geisslerf0343792020-11-18 10:42:21 -0600902 :term:`FAKEROOTNOENV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500903 Lists environment variables to set when running a task that is not in
904 the fakeroot environment. For additional information on environment
905 variables and the fakeroot environment, see the
906 :term:`FAKEROOTENV` variable.
907
Andrew Geisslerf0343792020-11-18 10:42:21 -0600908 :term:`FETCHCMD`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500909 Defines the command the BitBake fetcher module executes when running
910 fetch operations. You need to use an override suffix when you use the
911 variable (e.g. ``FETCHCMD_git`` or ``FETCHCMD_svn``).
912
Andrew Geisslerf0343792020-11-18 10:42:21 -0600913 :term:`FILE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500914 Points at the current file. BitBake sets this variable during the
915 parsing process to identify the file being parsed. BitBake also sets
916 this variable when a recipe is being executed to identify the recipe
917 file.
918
Andrew Geisslerf0343792020-11-18 10:42:21 -0600919 :term:`FILESPATH`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500920 Specifies directories BitBake uses when searching for patches and
921 files. The "local" fetcher module uses these directories when
922 handling ``file://`` URLs. The variable behaves like a shell ``PATH``
923 environment variable. The value is a colon-separated list of
924 directories that are searched left-to-right in order.
925
Andrew Geisslerf0343792020-11-18 10:42:21 -0600926 :term:`GITDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500927 The directory in which a local copy of a Git repository is stored
928 when it is cloned.
929
Andrew Geisslerf0343792020-11-18 10:42:21 -0600930 :term:`HGDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500931 The directory in which files checked out of a Mercurial system are
932 stored.
933
Andrew Geisslerf0343792020-11-18 10:42:21 -0600934 :term:`HOMEPAGE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500935 Website where more information about the software the recipe is
936 building can be found.
937
Andrew Geisslerf0343792020-11-18 10:42:21 -0600938 :term:`INHERIT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500939 Causes the named class or classes to be inherited globally. Anonymous
940 functions in the class or classes are not executed for the base
941 configuration and in each individual recipe. The OpenEmbedded build
942 system ignores changes to ``INHERIT`` in individual recipes.
943
944 For more information on ``INHERIT``, see the
945 ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:\`\`inherit\`\` configuration directive`"
946 section.
947
Andrew Geisslerf0343792020-11-18 10:42:21 -0600948 :term:`LAYERDEPENDS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500949 Lists the layers, separated by spaces, upon which this recipe
950 depends. Optionally, you can specify a specific layer version for a
951 dependency by adding it to the end of the layer name with a colon,
952 (e.g. "anotherlayer:3" to be compared against
953 :term:`LAYERVERSION`\ ``_anotherlayer`` in
954 this case). BitBake produces an error if any dependency is missing or
955 the version numbers do not match exactly (if specified).
956
957 You use this variable in the ``conf/layer.conf`` file. You must also
958 use the specific layer name as a suffix to the variable (e.g.
959 ``LAYERDEPENDS_mylayer``).
960
Andrew Geisslerf0343792020-11-18 10:42:21 -0600961 :term:`LAYERDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500962 When used inside the ``layer.conf`` configuration file, this variable
963 provides the path of the current layer. This variable is not
964 available outside of ``layer.conf`` and references are expanded
965 immediately when parsing of the file completes.
966
Andrew Geisslerf0343792020-11-18 10:42:21 -0600967 :term:`LAYERDIR_RE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500968 When used inside the ``layer.conf`` configuration file, this variable
969 provides the path of the current layer, escaped for use in a regular
970 expression (:term:`BBFILE_PATTERN`). This
971 variable is not available outside of ``layer.conf`` and references
972 are expanded immediately when parsing of the file completes.
973
Andrew Geisslerf0343792020-11-18 10:42:21 -0600974 :term:`LAYERVERSION`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500975 Optionally specifies the version of a layer as a single number. You
976 can use this variable within
977 :term:`LAYERDEPENDS` for another layer in
978 order to depend on a specific version of the layer.
979
980 You use this variable in the ``conf/layer.conf`` file. You must also
981 use the specific layer name as a suffix to the variable (e.g.
982 ``LAYERDEPENDS_mylayer``).
983
Andrew Geisslerf0343792020-11-18 10:42:21 -0600984 :term:`LICENSE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500985 The list of source licenses for the recipe.
986
Andrew Geisslerf0343792020-11-18 10:42:21 -0600987 :term:`MIRRORS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500988 Specifies additional paths from which BitBake gets source code. When
989 the build system searches for source code, it first tries the local
990 download directory. If that location fails, the build system tries
991 locations defined by :term:`PREMIRRORS`, the
992 upstream source, and then locations specified by ``MIRRORS`` in that
993 order.
994
Andrew Geisslerf0343792020-11-18 10:42:21 -0600995 :term:`MULTI_PROVIDER_WHITELIST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500996 Allows you to suppress BitBake warnings caused when building two
997 separate recipes that provide the same output.
998
999 BitBake normally issues a warning when building two different recipes
1000 where each provides the same output. This scenario is usually
1001 something the user does not want. However, cases do exist where it
1002 makes sense, particularly in the ``virtual/*`` namespace. You can use
1003 this variable to suppress BitBake's warnings.
1004
1005 To use the variable, list provider names (e.g. recipe names,
1006 ``virtual/kernel``, and so forth).
1007
Andrew Geisslerf0343792020-11-18 10:42:21 -06001008 :term:`OVERRIDES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001009 BitBake uses ``OVERRIDES`` to control what variables are overridden
1010 after BitBake parses recipes and configuration files.
1011
1012 Following is a simple example that uses an overrides list based on
1013 machine architectures: OVERRIDES = "arm:x86:mips:powerpc" You can
1014 find information on how to use ``OVERRIDES`` in the
1015 ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax
1016 (overrides)`" section.
1017
Andrew Geisslerf0343792020-11-18 10:42:21 -06001018 :term:`P4DIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001019 The directory in which a local copy of a Perforce depot is stored
1020 when it is fetched.
1021
Andrew Geisslerf0343792020-11-18 10:42:21 -06001022 :term:`PACKAGES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001023 The list of packages the recipe creates.
1024
Andrew Geisslerf0343792020-11-18 10:42:21 -06001025 :term:`PACKAGES_DYNAMIC`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001026 A promise that your recipe satisfies runtime dependencies for
1027 optional modules that are found in other recipes.
1028 ``PACKAGES_DYNAMIC`` does not actually satisfy the dependencies, it
1029 only states that they should be satisfied. For example, if a hard,
1030 runtime dependency (:term:`RDEPENDS`) of another
1031 package is satisfied during the build through the
1032 ``PACKAGES_DYNAMIC`` variable, but a package with the module name is
1033 never actually produced, then the other package will be broken.
1034
Andrew Geisslerf0343792020-11-18 10:42:21 -06001035 :term:`PE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001036 The epoch of the recipe. By default, this variable is unset. The
1037 variable is used to make upgrades possible when the versioning scheme
1038 changes in some backwards incompatible way.
1039
Andrew Geisslerf0343792020-11-18 10:42:21 -06001040 :term:`PERSISTENT_DIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001041 Specifies the directory BitBake uses to store data that should be
1042 preserved between builds. In particular, the data stored is the data
1043 that uses BitBake's persistent data API and the data used by the PR
1044 Server and PR Service.
1045
Andrew Geisslerf0343792020-11-18 10:42:21 -06001046 :term:`PF`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001047 Specifies the recipe or package name and includes all version and
1048 revision numbers (i.e. ``eglibc-2.13-r20+svnr15508/`` and
1049 ``bash-4.2-r1/``).
1050
Andrew Geisslerf0343792020-11-18 10:42:21 -06001051 :term:`PN`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001052 The recipe name.
1053
Andrew Geisslerf0343792020-11-18 10:42:21 -06001054 :term:`PR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001055 The revision of the recipe.
1056
Andrew Geisslerf0343792020-11-18 10:42:21 -06001057 :term:`PREFERRED_PROVIDER`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001058 Determines which recipe should be given preference when multiple
1059 recipes provide the same item. You should always suffix the variable
1060 with the name of the provided item, and you should set it to the
1061 :term:`PN` of the recipe to which you want to give
Andrew Geisslerc926e172021-05-07 16:11:35 -05001062 precedence. Some examples::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001063
1064 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
1065 PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
1066 PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
1067
Andrew Geisslerf0343792020-11-18 10:42:21 -06001068 :term:`PREFERRED_PROVIDERS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001069 Determines which recipe should be given preference for cases where
1070 multiple recipes provide the same item. Functionally,
1071 ``PREFERRED_PROVIDERS`` is identical to
1072 :term:`PREFERRED_PROVIDER`. However, the ``PREFERRED_PROVIDERS`` variable
1073 lets you define preferences for multiple situations using the following
Andrew Geisslerc926e172021-05-07 16:11:35 -05001074 form::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001075
1076 PREFERRED_PROVIDERS = "xxx:yyy aaa:bbb ..."
1077
Andrew Geisslerc926e172021-05-07 16:11:35 -05001078 This form is a convenient replacement for the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001079
1080 PREFERRED_PROVIDER_xxx = "yyy"
1081 PREFERRED_PROVIDER_aaa = "bbb"
1082
Andrew Geisslerf0343792020-11-18 10:42:21 -06001083 :term:`PREFERRED_VERSION`
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05001084 If there are multiple versions of a recipe available, this variable
1085 determines which version should be given preference. You must always
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001086 suffix the variable with the :term:`PN` you want to
1087 select, and you should set :term:`PV` accordingly for
1088 precedence.
1089
1090 The ``PREFERRED_VERSION`` variable supports limited wildcard use
1091 through the "``%``" character. You can use the character to match any
1092 number of characters, which can be useful when specifying versions
1093 that contain long revision numbers that potentially change. Here are
Andrew Geisslerc926e172021-05-07 16:11:35 -05001094 two examples::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001095
1096 PREFERRED_VERSION_python = "2.7.3"
1097 PREFERRED_VERSION_linux-yocto = "4.12%"
1098
1099 .. important::
1100
1101 The use of the " % " character is limited in that it only works at the
1102 end of the string. You cannot use the wildcard character in any other
1103 location of the string.
1104
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05001105 If a recipe with the specified version is not available, a warning
1106 message will be shown. See :term:`REQUIRED_VERSION` if you want this
1107 to be an error instead.
1108
Andrew Geisslerf0343792020-11-18 10:42:21 -06001109 :term:`PREMIRRORS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001110 Specifies additional paths from which BitBake gets source code. When
1111 the build system searches for source code, it first tries the local
1112 download directory. If that location fails, the build system tries
1113 locations defined by ``PREMIRRORS``, the upstream source, and then
1114 locations specified by :term:`MIRRORS` in that order.
1115
1116 Typically, you would add a specific server for the build system to
1117 attempt before any others by adding something like the following to
Andrew Geisslerc926e172021-05-07 16:11:35 -05001118 your configuration::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001119
1120 PREMIRRORS_prepend = "\
1121 git://.*/.* http://www.yoctoproject.org/sources/ \n \
1122 ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
1123 http://.*/.* http://www.yoctoproject.org/sources/ \n \
1124 https://.*/.* http://www.yoctoproject.org/sources/ \n"
1125
1126 These changes cause the build system to intercept Git, FTP, HTTP, and
1127 HTTPS requests and direct them to the ``http://`` sources mirror. You can
1128 use ``file://`` URLs to point to local directories or network shares as
1129 well.
1130
Andrew Geisslerf0343792020-11-18 10:42:21 -06001131 :term:`PROVIDES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001132 A list of aliases by which a particular recipe can be known. By
1133 default, a recipe's own ``PN`` is implicitly already in its
1134 ``PROVIDES`` list. If a recipe uses ``PROVIDES``, the additional
1135 aliases are synonyms for the recipe and can be useful satisfying
1136 dependencies of other recipes during the build as specified by
1137 ``DEPENDS``.
1138
1139 Consider the following example ``PROVIDES`` statement from a recipe
Andrew Geisslerc926e172021-05-07 16:11:35 -05001140 file ``libav_0.8.11.bb``::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001141
1142 PROVIDES += "libpostproc"
1143
1144 The ``PROVIDES`` statement results in the "libav" recipe also being known
1145 as "libpostproc".
1146
1147 In addition to providing recipes under alternate names, the
1148 ``PROVIDES`` mechanism is also used to implement virtual targets. A
1149 virtual target is a name that corresponds to some particular
1150 functionality (e.g. a Linux kernel). Recipes that provide the
1151 functionality in question list the virtual target in ``PROVIDES``.
1152 Recipes that depend on the functionality in question can include the
1153 virtual target in :term:`DEPENDS` to leave the
1154 choice of provider open.
1155
1156 Conventionally, virtual targets have names on the form
1157 "virtual/function" (e.g. "virtual/kernel"). The slash is simply part
1158 of the name and has no syntactical significance.
1159
Andrew Geisslerf0343792020-11-18 10:42:21 -06001160 :term:`PRSERV_HOST`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001161 The network based :term:`PR` service host and port.
1162
Andrew Geisslerc926e172021-05-07 16:11:35 -05001163 Following is an example of how the ``PRSERV_HOST`` variable is set::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001164
1165 PRSERV_HOST = "localhost:0"
1166
1167 You must set the variable if you want to automatically start a local PR
1168 service. You can set ``PRSERV_HOST`` to other values to use a remote PR
1169 service.
1170
Andrew Geisslerf0343792020-11-18 10:42:21 -06001171 :term:`PV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001172 The version of the recipe.
1173
Andrew Geisslerf0343792020-11-18 10:42:21 -06001174 :term:`RDEPENDS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001175 Lists a package's runtime dependencies (i.e. other packages) that
1176 must be installed in order for the built package to run correctly. If
1177 a package in this list cannot be found during the build, you will get
1178 a build error.
1179
1180 Because the ``RDEPENDS`` variable applies to packages being built,
1181 you should always use the variable in a form with an attached package
1182 name. For example, suppose you are building a development package
1183 that depends on the ``perl`` package. In this case, you would use the
Andrew Geisslerc926e172021-05-07 16:11:35 -05001184 following ``RDEPENDS`` statement::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001185
1186 RDEPENDS_${PN}-dev += "perl"
1187
1188 In the example, the development package depends on the ``perl`` package.
1189 Thus, the ``RDEPENDS`` variable has the ``${PN}-dev`` package name as part
1190 of the variable.
1191
1192 BitBake supports specifying versioned dependencies. Although the
1193 syntax varies depending on the packaging format, BitBake hides these
1194 differences from you. Here is the general syntax to specify versions
Andrew Geisslerc926e172021-05-07 16:11:35 -05001195 with the ``RDEPENDS`` variable::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001196
1197 RDEPENDS_${PN} = "package (operator version)"
1198
Andrew Geisslerc926e172021-05-07 16:11:35 -05001199 For ``operator``, you can specify the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001200
1201 =
1202 <
1203 >
1204 <=
1205 >=
1206
1207 For example, the following sets up a dependency on version 1.2 or
Andrew Geisslerc926e172021-05-07 16:11:35 -05001208 greater of the package ``foo``::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001209
1210 RDEPENDS_${PN} = "foo (>= 1.2)"
1211
1212 For information on build-time dependencies, see the :term:`DEPENDS`
1213 variable.
1214
Andrew Geisslerf0343792020-11-18 10:42:21 -06001215 :term:`REPODIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001216 The directory in which a local copy of a ``google-repo`` directory is
1217 stored when it is synced.
1218
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05001219 :term:`REQUIRED_VERSION`
1220 If there are multiple versions of a recipe available, this variable
1221 determines which version should be given preference. ``REQUIRED_VERSION``
1222 works in exactly the same manner as :term:`PREFERRED_VERSION`, except
1223 that if the specified version is not available then an error message
1224 is shown and the build fails immediately.
1225
1226 If both ``REQUIRED_VERSION`` and ``PREFERRED_VERSION`` are set for
1227 the same recipe, the ``REQUIRED_VERSION`` value applies.
1228
Andrew Geisslerf0343792020-11-18 10:42:21 -06001229 :term:`RPROVIDES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001230 A list of package name aliases that a package also provides. These
1231 aliases are useful for satisfying runtime dependencies of other
1232 packages both during the build and on the target (as specified by
1233 ``RDEPENDS``).
1234
1235 As with all package-controlling variables, you must always use the
1236 variable in conjunction with a package name override. Here is an
Andrew Geisslerc926e172021-05-07 16:11:35 -05001237 example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001238
1239 RPROVIDES_${PN} = "widget-abi-2"
1240
Andrew Geisslerf0343792020-11-18 10:42:21 -06001241 :term:`RRECOMMENDS`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001242 A list of packages that extends the usability of a package being
1243 built. The package being built does not depend on this list of
1244 packages in order to successfully build, but needs them for the
1245 extended usability. To specify runtime dependencies for packages, see
1246 the ``RDEPENDS`` variable.
1247
1248 BitBake supports specifying versioned recommends. Although the syntax
1249 varies depending on the packaging format, BitBake hides these
1250 differences from you. Here is the general syntax to specify versions
Andrew Geisslerc926e172021-05-07 16:11:35 -05001251 with the ``RRECOMMENDS`` variable::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001252
1253 RRECOMMENDS_${PN} = "package (operator version)"
1254
Andrew Geisslerc926e172021-05-07 16:11:35 -05001255 For ``operator``, you can specify the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001256
1257 =
1258 <
1259 >
1260 <=
1261 >=
1262
1263 For example, the following sets up a recommend on version
Andrew Geisslerc926e172021-05-07 16:11:35 -05001264 1.2 or greater of the package ``foo``::
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001265
1266 RRECOMMENDS_${PN} = "foo (>= 1.2)"
1267
Andrew Geisslerf0343792020-11-18 10:42:21 -06001268 :term:`SECTION`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001269 The section in which packages should be categorized.
1270
Andrew Geisslerf0343792020-11-18 10:42:21 -06001271 :term:`SRC_URI`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001272 The list of source files - local or remote. This variable tells
1273 BitBake which bits to pull for the build and how to pull them. For
1274 example, if the recipe or append file needs to fetch a single tarball
1275 from the Internet, the recipe or append file uses a ``SRC_URI`` entry
1276 that specifies that tarball. On the other hand, if the recipe or
1277 append file needs to fetch a tarball and include a custom file, the
1278 recipe or append file needs an ``SRC_URI`` variable that specifies
1279 all those sources.
1280
1281 The following list explains the available URI protocols:
1282
1283 - ``file://`` : Fetches files, which are usually files shipped
1284 with the metadata, from the local machine. The path is relative to
1285 the :term:`FILESPATH` variable.
1286
1287 - ``bzr://`` : Fetches files from a Bazaar revision control
1288 repository.
1289
1290 - ``git://`` : Fetches files from a Git revision control
1291 repository.
1292
1293 - ``osc://`` : Fetches files from an OSC (OpenSUSE Build service)
1294 revision control repository.
1295
1296 - ``repo://`` : Fetches files from a repo (Git) repository.
1297
1298 - ``http://`` : Fetches files from the Internet using HTTP.
1299
1300 - ``https://`` : Fetches files from the Internet using HTTPS.
1301
1302 - ``ftp://`` : Fetches files from the Internet using FTP.
1303
1304 - ``cvs://`` : Fetches files from a CVS revision control
1305 repository.
1306
1307 - ``hg://`` : Fetches files from a Mercurial (``hg``) revision
1308 control repository.
1309
1310 - ``p4://`` : Fetches files from a Perforce (``p4``) revision
1311 control repository.
1312
1313 - ``ssh://`` : Fetches files from a secure shell.
1314
1315 - ``svn://`` : Fetches files from a Subversion (``svn``) revision
1316 control repository.
1317
Andrew Geissler95ac1b82021-03-31 14:34:31 -05001318 - ``az://`` : Fetches files from an Azure Storage account using HTTPS.
1319
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001320 Here are some additional options worth mentioning:
1321
1322 - ``unpack`` : Controls whether or not to unpack the file if it is
1323 an archive. The default action is to unpack the file.
1324
1325 - ``subdir`` : Places the file (or extracts its contents) into the
1326 specified subdirectory. This option is useful for unusual tarballs
1327 or other archives that do not have their files already in a
1328 subdirectory within the archive.
1329
1330 - ``name`` : Specifies a name to be used for association with
1331 ``SRC_URI`` checksums when you have more than one file specified
1332 in ``SRC_URI``.
1333
1334 - ``downloadfilename`` : Specifies the filename used when storing
1335 the downloaded file.
1336
Andrew Geisslerf0343792020-11-18 10:42:21 -06001337 :term:`SRCDATE`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001338 The date of the source code used to build the package. This variable
1339 applies only if the source was fetched from a Source Code Manager
1340 (SCM).
1341
Andrew Geisslerf0343792020-11-18 10:42:21 -06001342 :term:`SRCREV`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001343 The revision of the source code used to build the package. This
1344 variable applies only when using Subversion, Git, Mercurial and
1345 Bazaar. If you want to build a fixed revision and you want to avoid
1346 performing a query on the remote repository every time BitBake parses
1347 your recipe, you should specify a ``SRCREV`` that is a full revision
1348 identifier and not just a tag.
1349
Andrew Geisslerf0343792020-11-18 10:42:21 -06001350 :term:`SRCREV_FORMAT`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001351 Helps construct valid :term:`SRCREV` values when
1352 multiple source controlled URLs are used in
1353 :term:`SRC_URI`.
1354
1355 The system needs help constructing these values under these
1356 circumstances. Each component in the ``SRC_URI`` is assigned a name
1357 and these are referenced in the ``SRCREV_FORMAT`` variable. Consider
1358 an example with URLs named "machine" and "meta". In this case,
1359 ``SRCREV_FORMAT`` could look like "machine_meta" and those names
1360 would have the SCM versions substituted into each position. Only one
1361 ``AUTOINC`` placeholder is added and if needed. And, this placeholder
1362 is placed at the start of the returned string.
1363
Andrew Geisslerf0343792020-11-18 10:42:21 -06001364 :term:`STAMP`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001365 Specifies the base path used to create recipe stamp files. The path
1366 to an actual stamp file is constructed by evaluating this string and
1367 then appending additional information.
1368
Andrew Geisslerf0343792020-11-18 10:42:21 -06001369 :term:`STAMPCLEAN`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001370 Specifies the base path used to create recipe stamp files. Unlike the
1371 :term:`STAMP` variable, ``STAMPCLEAN`` can contain
1372 wildcards to match the range of files a clean operation should
1373 remove. BitBake uses a clean operation to remove any other stamps it
1374 should be removing when creating a new stamp.
1375
Andrew Geisslerf0343792020-11-18 10:42:21 -06001376 :term:`SUMMARY`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001377 A short summary for the recipe, which is 72 characters or less.
1378
Andrew Geisslerf0343792020-11-18 10:42:21 -06001379 :term:`SVNDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001380 The directory in which files checked out of a Subversion system are
1381 stored.
1382
Andrew Geisslerf0343792020-11-18 10:42:21 -06001383 :term:`T`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001384 Points to a directory were BitBake places temporary files, which
1385 consist mostly of task logs and scripts, when building a particular
1386 recipe.
1387
Andrew Geisslerf0343792020-11-18 10:42:21 -06001388 :term:`TOPDIR`
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001389 Points to the build directory. BitBake automatically sets this
1390 variable.