summaryrefslogtreecommitdiffstats
path: root/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst')
-rw-r--r--bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst1235
1 files changed, 1235 insertions, 0 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
new file mode 100644
index 0000000000..41a77b3bce
--- /dev/null
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -0,0 +1,1235 @@
1==================
2Variables Glossary
3==================
4
5This chapter lists common variables used by BitBake and gives an
6overview of their function and contents.
7
8.. note::
9
10 Following are some points regarding the variables listed in this
11 glossary:
12
13 - The variables listed in this glossary are specific to BitBake.
14 Consequently, the descriptions are limited to that context.
15
16 - Also, variables exist in other systems that use BitBake (e.g. The
17 Yocto Project and OpenEmbedded) that have names identical to those
18 found in this glossary. For such cases, the variables in those
19 systems extend the functionality of the variable as it is
20 described here in this glossary.
21
22 - Finally, there are variables mentioned in this glossary that do
23 not appear in the BitBake glossary. These other variables are
24 variables used in systems that use BitBake.
25
26`A <#var-bb-ASSUME_PROVIDED>`__ `B <#var-bb-B>`__ `C <#var-bb-CACHE>`__
27`D <#var-bb-DEFAULT_PREFERENCE>`__ `E <#var-bb-EXCLUDE_FROM_WORLD>`__
28`F <#var-bb-FAKEROOT>`__ `G <#var-bb-GITDIR>`__ `H <#var-bb-HGDIR>`__
29`I <#var-bb-INHERIT>`__ `L <#var-bb-LAYERDEPENDS>`__
30`M <#var-bb-MIRRORS>`__ `O <#var-bb-OVERRIDES>`__ `P <#var-bb-P4DIR>`__
31`R <#var-bb-RDEPENDS>`__ `S <#var-bb-SECTION>`__ `T <#var-bb-T>`__
32
33ASSUME_PROVIDED
34 Lists recipe names (```PN`` <#var-bb-PN>`__ values) BitBake does not
35 attempt to build. Instead, BitBake assumes these recipes have already
36 been built.
37
38 In OpenEmbedded-Core, ``ASSUME_PROVIDED`` mostly specifies native
39 tools that should not be built. An example is ``git-native``, which
40 when specified allows for the Git binary from the host to be used
41 rather than building ``git-native``.
42
43B
44 The directory in which BitBake executes functions during a recipe's
45 build process.
46
47BB_ALLOWED_NETWORKS
48 Specifies a space-delimited list of hosts that the fetcher is allowed
49 to use to obtain the required source code. Following are
50 considerations surrounding this variable:
51
52 - This host list is only used if
53 ```BB_NO_NETWORK`` <#var-bb-BB_NO_NETWORK>`__ is either not set or
54 set to "0".
55
56 - Limited support for the "``*``" wildcard character for matching
57 against the beginning of host names exists. For example, the
58 following setting matches ``git.gnu.org``, ``ftp.gnu.org``, and
59 ``foo.git.gnu.org``. BB_ALLOWED_NETWORKS = "*.gnu.org"
60
61 .. note::
62
63 The use of the "``*``" character only works at the beginning of
64 a host name and it must be isolated from the remainder of the
65 host name. You cannot use the wildcard character in any other
66 location of the name or combined with the front part of the
67 name.
68
69 For example, ``*.foo.bar`` is supported, while ``*aa.foo.bar``
70 is not.
71
72 - Mirrors not in the host list are skipped and logged in debug.
73
74 - Attempts to access networks not in the host list cause a failure.
75
76 Using ``BB_ALLOWED_NETWORKS`` in conjunction with
77 ```PREMIRRORS`` <#var-bb-PREMIRRORS>`__ is very useful. Adding the
78 host you want to use to ``PREMIRRORS`` results in the source code
79 being fetched from an allowed location and avoids raising an error
80 when a host that is not allowed is in a
81 ```SRC_URI`` <#var-bb-SRC_URI>`__ statement. This is because the
82 fetcher does not attempt to use the host listed in ``SRC_URI`` after
83 a successful fetch from the ``PREMIRRORS`` occurs.
84
85BB_CONSOLELOG
86 Specifies the path to a log file into which BitBake's user interface
87 writes output during the build.
88
89BB_CURRENTTASK
90 Contains the name of the currently running task. The name does not
91 include the ``do_`` prefix.
92
93BB_DANGLINGAPPENDS_WARNONLY
94 Defines how BitBake handles situations where an append file
95 (``.bbappend``) has no corresponding recipe file (``.bb``). This
96 condition often occurs when layers get out of sync (e.g. ``oe-core``
97 bumps a recipe version and the old recipe no longer exists and the
98 other layer has not been updated to the new version of the recipe
99 yet).
100
101 The default fatal behavior is safest because it is the sane reaction
102 given something is out of sync. It is important to realize when your
103 changes are no longer being applied.
104
105BB_DEFAULT_TASK
106 The default task to use when none is specified (e.g. with the ``-c``
107 command line option). The task name specified should not include the
108 ``do_`` prefix.
109
110BB_DISKMON_DIRS
111 Monitors disk space and available inodes during the build and allows
112 you to control the build based on these parameters.
113
114 Disk space monitoring is disabled by default. When setting this
115 variable, use the following form: BB_DISKMON_DIRS =
116 "<action>,<dir>,<threshold> [...]" where: <action> is: ABORT:
117 Immediately abort the build when a threshold is broken. STOPTASKS:
118 Stop the build after the currently executing tasks have finished when
119 a threshold is broken. WARN: Issue a warning but continue the build
120 when a threshold is broken. Subsequent warnings are issued as defined
121 by the `BB_DISKMON_WARNINTERVAL <#var-bb-BB_DISKMON_WARNINTERVAL>`__
122 variable, which must be defined. <dir> is: Any directory you choose.
123 You can specify one or more directories to monitor by separating the
124 groupings with a space. If two directories are on the same device,
125 only the first directory is monitored. <threshold> is: Either the
126 minimum available disk space, the minimum number of free inodes, or
127 both. You must specify at least one. To omit one or the other, simply
128 omit the value. Specify the threshold using G, M, K for Gbytes,
129 Mbytes, and Kbytes, respectively. If you do not specify G, M, or K,
130 Kbytes is assumed by default. Do not use GB, MB, or KB.
131
132 Here are some examples: BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K
133 WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_DIRS =
134 "STOPTASKS,${TMPDIR},1G" BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
135 The first example works only if you also set the
136 ```BB_DISKMON_WARNINTERVAL`` <#var-bb-BB_DISKMON_WARNINTERVAL>`__
137 variable. This example causes the build system to immediately abort
138 when either the disk space in ``${TMPDIR}`` drops below 1 Gbyte or
139 the available free inodes drops below 100 Kbytes. Because two
140 directories are provided with the variable, the build system also
141 issues a warning when the disk space in the ``${SSTATE_DIR}``
142 directory drops below 1 Gbyte or the number of free inodes drops
143 below 100 Kbytes. Subsequent warnings are issued during intervals as
144 defined by the ``BB_DISKMON_WARNINTERVAL`` variable.
145
146 The second example stops the build after all currently executing
147 tasks complete when the minimum disk space in the ``${TMPDIR}``
148 directory drops below 1 Gbyte. No disk monitoring occurs for the free
149 inodes in this case.
150
151 The final example immediately aborts the build when the number of
152 free inodes in the ``${TMPDIR}`` directory drops below 100 Kbytes. No
153 disk space monitoring for the directory itself occurs in this case.
154
155BB_DISKMON_WARNINTERVAL
156 Defines the disk space and free inode warning intervals.
157
158 If you are going to use the ``BB_DISKMON_WARNINTERVAL`` variable, you
159 must also use the ```BB_DISKMON_DIRS`` <#var-bb-BB_DISKMON_DIRS>`__
160 variable and define its action as "WARN". During the build,
161 subsequent warnings are issued each time disk space or number of free
162 inodes further reduces by the respective interval.
163
164 If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you
165 do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk
166 monitoring interval defaults to the following:
167 BB_DISKMON_WARNINTERVAL = "50M,5K"
168
169 When specifying the variable in your configuration file, use the
170 following form: BB_DISKMON_WARNINTERVAL =
171 "<disk_space_interval>,<disk_inode_interval>" where:
172 <disk_space_interval> is: An interval of memory expressed in either
173 G, M, or K for Gbytes, Mbytes, or Kbytes, respectively. You cannot
174 use GB, MB, or KB. <disk_inode_interval> is: An interval of free
175 inodes expressed in either G, M, or K for Gbytes, Mbytes, or Kbytes,
176 respectively. You cannot use GB, MB, or KB.
177
178 Here is an example: BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
179 BB_DISKMON_WARNINTERVAL = "50M,5K" These variables cause BitBake to
180 issue subsequent warnings each time the available disk space further
181 reduces by 50 Mbytes or the number of free inodes further reduces by
182 5 Kbytes in the ``${SSTATE_DIR}`` directory. Subsequent warnings
183 based on the interval occur each time a respective interval is
184 reached beyond the initial warning (i.e. 1 Gbytes and 100 Kbytes).
185
186BB_ENV_WHITELIST
187 Specifies the internal whitelist of variables to allow through from
188 the external environment into BitBake's datastore. If the value of
189 this variable is not specified (which is the default), the following
190 list is used: ```BBPATH`` <#var-bb-BBPATH>`__,
191 ```BB_PRESERVE_ENV`` <#var-bb-BB_PRESERVE_ENV>`__,
192 ```BB_ENV_WHITELIST`` <#var-bb-BB_ENV_WHITELIST>`__, and
193 ```BB_ENV_EXTRAWHITE`` <#var-bb-BB_ENV_EXTRAWHITE>`__.
194
195 .. note::
196
197 You must set this variable in the external environment in order
198 for it to work.
199
200BB_ENV_EXTRAWHITE
201 Specifies an additional set of variables to allow through (whitelist)
202 from the external environment into BitBake's datastore. This list of
203 variables are on top of the internal list set in
204 ```BB_ENV_WHITELIST`` <#var-bb-BB_ENV_WHITELIST>`__.
205
206 .. note::
207
208 You must set this variable in the external environment in order
209 for it to work.
210
211BB_FETCH_PREMIRRORONLY
212 When set to "1", causes BitBake's fetcher module to only search
213 ```PREMIRRORS`` <#var-bb-PREMIRRORS>`__ for files. BitBake will not
214 search the main ```SRC_URI`` <#var-bb-SRC_URI>`__ or
215 ```MIRRORS`` <#var-bb-MIRRORS>`__.
216
217BB_FILENAME
218 Contains the filename of the recipe that owns the currently running
219 task. For example, if the ``do_fetch`` task that resides in the
220 ``my-recipe.bb`` is executing, the ``BB_FILENAME`` variable contains
221 "/foo/path/my-recipe.bb".
222
223BB_GENERATE_MIRROR_TARBALLS
224 Causes tarballs of the Git repositories, including the Git metadata,
225 to be placed in the ```DL_DIR`` <#var-bb-DL_DIR>`__ directory. Anyone
226 wishing to create a source mirror would want to enable this variable.
227
228 For performance reasons, creating and placing tarballs of the Git
229 repositories is not the default action by BitBake.
230 BB_GENERATE_MIRROR_TARBALLS = "1"
231
232BB_HASHCONFIG_WHITELIST
233 Lists variables that are excluded from base configuration checksum,
234 which is used to determine if the cache can be reused.
235
236 One of the ways BitBake determines whether to re-parse the main
237 metadata is through checksums of the variables in the datastore of
238 the base configuration data. There are variables that you typically
239 want to exclude when checking whether or not to re-parse and thus
240 rebuild the cache. As an example, you would usually exclude ``TIME``
241 and ``DATE`` because these variables are always changing. If you did
242 not exclude them, BitBake would never reuse the cache.
243
244BB_HASHBASE_WHITELIST
245 Lists variables that are excluded from checksum and dependency data.
246 Variables that are excluded can therefore change without affecting
247 the checksum mechanism. A common example would be the variable for
248 the path of the build. BitBake's output should not (and usually does
249 not) depend on the directory in which it was built.
250
251BB_HASHCHECK_FUNCTION
252 Specifies the name of the function to call during the "setscene" part
253 of the task's execution in order to validate the list of task hashes.
254 The function returns the list of setscene tasks that should be
255 executed.
256
257 At this point in the execution of the code, the objective is to
258 quickly verify if a given setscene function is likely to work or not.
259 It's easier to check the list of setscene functions in one pass than
260 to call many individual tasks. The returned list need not be
261 completely accurate. A given setscene task can still later fail.
262 However, the more accurate the data returned, the more efficient the
263 build will be.
264
265BB_INVALIDCONF
266 Used in combination with the ``ConfigParsed`` event to trigger
267 re-parsing the base metadata (i.e. all the recipes). The
268 ``ConfigParsed`` event can set the variable to trigger the re-parse.
269 You must be careful to avoid recursive loops with this functionality.
270
271BB_LOGCONFIG
272 Specifies the name of a config file that contains the user logging
273 configuration. See `Logging <#logging>`__ for additional information
274
275BB_LOGFMT
276 Specifies the name of the log files saved into
277 ``${``\ ```T`` <#var-bb-T>`__\ ``}``. By default, the ``BB_LOGFMT``
278 variable is undefined and the log file names get created using the
279 following form: log.{task}.{pid} If you want to force log files to
280 take a specific name, you can set this variable in a configuration
281 file.
282
283BB_NICE_LEVEL
284 Allows BitBake to run at a specific priority (i.e. nice level).
285 System permissions usually mean that BitBake can reduce its priority
286 but not raise it again. See
287 ```BB_TASK_NICE_LEVEL`` <#var-bb-BB_TASK_NICE_LEVEL>`__ for
288 additional information.
289
290BB_NO_NETWORK
291 Disables network access in the BitBake fetcher modules. With this
292 access disabled, any command that attempts to access the network
293 becomes an error.
294
295 Disabling network access is useful for testing source mirrors,
296 running builds when not connected to the Internet, and when operating
297 in certain kinds of firewall environments.
298
299BB_NUMBER_THREADS
300 The maximum number of tasks BitBake should run in parallel at any one
301 time. If your host development system supports multiple cores, a good
302 rule of thumb is to set this variable to twice the number of cores.
303
304BB_NUMBER_PARSE_THREADS
305 Sets the number of threads BitBake uses when parsing. By default, the
306 number of threads is equal to the number of cores on the system.
307
308BB_ORIGENV
309 Contains a copy of the original external environment in which BitBake
310 was run. The copy is taken before any whitelisted variable values are
311 filtered into BitBake's datastore.
312
313 .. note::
314
315 The contents of this variable is a datastore object that can be
316 queried using the normal datastore operations.
317
318BB_PRESERVE_ENV
319 Disables whitelisting and instead allows all variables through from
320 the external environment into BitBake's datastore.
321
322 .. note::
323
324 You must set this variable in the external environment in order
325 for it to work.
326
327BB_RUNFMT
328 Specifies the name of the executable script files (i.e. run files)
329 saved into ``${``\ ```T`` <#var-bb-T>`__\ ``}``. By default, the
330 ``BB_RUNFMT`` variable is undefined and the run file names get
331 created using the following form: run.{task}.{pid} If you want to
332 force run files to take a specific name, you can set this variable in
333 a configuration file.
334
335BB_RUNTASK
336 Contains the name of the currently executing task. The value includes
337 the "do_" prefix. For example, if the currently executing task is
338 ``do_config``, the value is "do_config".
339
340BB_SCHEDULER
341 Selects the name of the scheduler to use for the scheduling of
342 BitBake tasks. Three options exist:
343
344 - *basic* - The basic framework from which everything derives. Using
345 this option causes tasks to be ordered numerically as they are
346 parsed.
347
348 - *speed* - Executes tasks first that have more tasks depending on
349 them. The "speed" option is the default.
350
351 - *completion* - Causes the scheduler to try to complete a given
352 recipe once its build has started.
353
354BB_SCHEDULERS
355 Defines custom schedulers to import. Custom schedulers need to be
356 derived from the ``RunQueueScheduler`` class.
357
358 For information how to select a scheduler, see the
359 ```BB_SCHEDULER`` <#var-bb-BB_SCHEDULER>`__ variable.
360
361BB_SETSCENE_DEPVALID
362 Specifies a function BitBake calls that determines whether BitBake
363 requires a setscene dependency to be met.
364
365 When running a setscene task, BitBake needs to know which
366 dependencies of that setscene task also need to be run. Whether
367 dependencies also need to be run is highly dependent on the metadata.
368 The function specified by this variable returns a "True" or "False"
369 depending on whether the dependency needs to be met.
370
371BB_SETSCENE_VERIFY_FUNCTION2
372 Specifies a function to call that verifies the list of planned task
373 execution before the main task execution happens. The function is
374 called once BitBake has a list of setscene tasks that have run and
375 either succeeded or failed.
376
377 The function allows for a task list check to see if they make sense.
378 Even if BitBake was planning to skip a task, the returned value of
379 the function can force BitBake to run the task, which is necessary
380 under certain metadata defined circumstances.
381
382BB_SIGNATURE_EXCLUDE_FLAGS
383 Lists variable flags (varflags) that can be safely excluded from
384 checksum and dependency data for keys in the datastore. When
385 generating checksum or dependency data for keys in the datastore, the
386 flags set against that key are normally included in the checksum.
387
388 For more information on varflags, see the "`Variable
389 Flags <#variable-flags>`__" section.
390
391BB_SIGNATURE_HANDLER
392 Defines the name of the signature handler BitBake uses. The signature
393 handler defines the way stamp files are created and handled, if and
394 how the signature is incorporated into the stamps, and how the
395 signature itself is generated.
396
397 A new signature handler can be added by injecting a class derived
398 from the ``SignatureGenerator`` class into the global namespace.
399
400BB_SRCREV_POLICY
401 Defines the behavior of the fetcher when it interacts with source
402 control systems and dynamic source revisions. The
403 ``BB_SRCREV_POLICY`` variable is useful when working without a
404 network.
405
406 The variable can be set using one of two policies:
407
408 - *cache* - Retains the value the system obtained previously rather
409 than querying the source control system each time.
410
411 - *clear* - Queries the source controls system every time. With this
412 policy, there is no cache. The "clear" policy is the default.
413
414BB_STAMP_POLICY
415 Defines the mode used for how timestamps of stamp files are compared.
416 You can set the variable to one of the following modes:
417
418 - *perfile* - Timestamp comparisons are only made between timestamps
419 of a specific recipe. This is the default mode.
420
421 - *full* - Timestamp comparisons are made for all dependencies.
422
423 - *whitelist* - Identical to "full" mode except timestamp
424 comparisons are made for recipes listed in the
425 ```BB_STAMP_WHITELIST`` <#var-bb-BB_STAMP_WHITELIST>`__ variable.
426
427 .. note::
428
429 Stamp policies are largely obsolete with the introduction of
430 setscene tasks.
431
432BB_STAMP_WHITELIST
433 Lists files whose stamp file timestamps are compared when the stamp
434 policy mode is set to "whitelist". For information on stamp policies,
435 see the ```BB_STAMP_POLICY`` <#var-bb-BB_STAMP_POLICY>`__ variable.
436
437BB_STRICT_CHECKSUM
438 Sets a more strict checksum mechanism for non-local URLs. Setting
439 this variable to a value causes BitBake to report an error if it
440 encounters a non-local URL that does not have at least one checksum
441 specified.
442
443BB_TASK_IONICE_LEVEL
444 Allows adjustment of a task's Input/Output priority. During
445 Autobuilder testing, random failures can occur for tasks due to I/O
446 starvation. These failures occur during various QEMU runtime
447 timeouts. You can use the ``BB_TASK_IONICE_LEVEL`` variable to adjust
448 the I/O priority of these tasks.
449
450 .. note::
451
452 This variable works similarly to the
453 BB_TASK_NICE_LEVEL
454 variable except with a task's I/O priorities.
455
456 Set the variable as follows: BB_TASK_IONICE_LEVEL = "class.prio" For
457 class, the default value is "2", which is a best effort. You can use
458 "1" for realtime and "3" for idle. If you want to use realtime, you
459 must have superuser privileges.
460
461 For prio, you can use any value from "0", which is the highest
462 priority, to "7", which is the lowest. The default value is "4". You
463 do not need any special privileges to use this range of priority
464 values.
465
466 .. note::
467
468 In order for your I/O priority settings to take effect, you need
469 the Completely Fair Queuing (CFQ) Scheduler selected for the
470 backing block device. To select the scheduler, use the following
471 command form where
472 device
473 is the device (e.g. sda, sdb, and so forth):
474 ::
475
476 $ sudo sh -c “echo cfq > /sys/block/device/queu/scheduler
477
478
479BB_TASK_NICE_LEVEL
480 Allows specific tasks to change their priority (i.e. nice level).
481
482 You can use this variable in combination with task overrides to raise
483 or lower priorities of specific tasks. For example, on the `Yocto
484 Project <http://www.yoctoproject.org>`__ autobuilder, QEMU emulation
485 in images is given a higher priority as compared to build tasks to
486 ensure that images do not suffer timeouts on loaded systems.
487
488BB_TASKHASH
489 Within an executing task, this variable holds the hash of the task as
490 returned by the currently enabled signature generator.
491
492BB_VERBOSE_LOGS
493 Controls how verbose BitBake is during builds. If set, shell scripts
494 echo commands and shell script output appears on standard out
495 (stdout).
496
497BB_WORKERCONTEXT
498 Specifies if the current context is executing a task. BitBake sets
499 this variable to "1" when a task is being executed. The value is not
500 set when the task is in server context during parsing or event
501 handling.
502
503BBCLASSEXTEND
504 Allows you to extend a recipe so that it builds variants of the
505 software. Some examples of these variants for recipes from the
506 OpenEmbedded-Core metadata are "natives" such as ``quilt-native``,
507 which is a copy of Quilt built to run on the build system; "crosses"
508 such as ``gcc-cross``, which is a compiler built to run on the build
509 machine but produces binaries that run on the target ``MACHINE``;
510 "nativesdk", which targets the SDK machine instead of ``MACHINE``;
511 and "mulitlibs" in the form "``multilib:``\ multilib_name".
512
513 To build a different variant of the recipe with a minimal amount of
514 code, it usually is as simple as adding the variable to your recipe.
515 Here are two examples. The "native" variants are from the
516 OpenEmbedded-Core metadata: BBCLASSEXTEND =+ "native nativesdk"
517 BBCLASSEXTEND =+ "multilib:multilib_name"
518
519 .. note::
520
521 Internally, the ``BBCLASSEXTEND`` mechanism generates recipe
522 variants by rewriting variable values and applying overrides such
523 as ``_class-native``. For example, to generate a native version of
524 a recipe, a ```DEPENDS`` <#var-bb-DEPENDS>`__ on "foo" is
525 rewritten to a ``DEPENDS`` on "foo-native".
526
527 Even when using ``BBCLASSEXTEND``, the recipe is only parsed once.
528 Parsing once adds some limitations. For example, it is not
529 possible to include a different file depending on the variant,
530 since ``include`` statements are processed when the recipe is
531 parsed.
532
533BBDEBUG
534 Sets the BitBake debug output level to a specific value as
535 incremented by the ``-D`` command line option.
536
537 .. note::
538
539 You must set this variable in the external environment in order
540 for it to work.
541
542BBFILE_COLLECTIONS
543 Lists the names of configured layers. These names are used to find
544 the other ``BBFILE_*`` variables. Typically, each layer appends its
545 name to this variable in its ``conf/layer.conf`` file.
546
547BBFILE_PATTERN
548 Variable that expands to match files from
549 ```BBFILES`` <#var-bb-BBFILES>`__ in a particular layer. This
550 variable is used in the ``conf/layer.conf`` file and must be suffixed
551 with the name of the specific layer (e.g.
552 ``BBFILE_PATTERN_emenlow``).
553
554BBFILE_PRIORITY
555 Assigns the priority for recipe files in each layer.
556
557 This variable is useful in situations where the same recipe appears
558 in more than one layer. Setting this variable allows you to
559 prioritize a layer against other layers that contain the same recipe
560 - effectively letting you control the precedence for the multiple
561 layers. The precedence established through this variable stands
562 regardless of a recipe's version (```PV`` <#var-bb-PV>`__ variable).
563 For example, a layer that has a recipe with a higher ``PV`` value but
564 for which the ``BBFILE_PRIORITY`` is set to have a lower precedence
565 still has a lower precedence.
566
567 A larger value for the ``BBFILE_PRIORITY`` variable results in a
568 higher precedence. For example, the value 6 has a higher precedence
569 than the value 5. If not specified, the ``BBFILE_PRIORITY`` variable
570 is set based on layer dependencies (see the ``LAYERDEPENDS`` variable
571 for more information. The default priority, if unspecified for a
572 layer with no dependencies, is the lowest defined priority + 1 (or 1
573 if no priorities are defined).
574
575 .. tip::
576
577 You can use the command
578 bitbake-layers show-layers
579 to list all configured layers along with their priorities.
580
581BBFILES
582 A space-separated list of recipe files BitBake uses to build
583 software.
584
585 When specifying recipe files, you can pattern match using Python's
586 ```glob`` <https://docs.python.org/3/library/glob.html>`__ syntax.
587 For details on the syntax, see the documentation by following the
588 previous link.
589
590BBINCLUDED
591 Contains a space-separated list of all of all files that BitBake's
592 parser included during parsing of the current file.
593
594BBINCLUDELOGS
595 If set to a value, enables printing the task log when reporting a
596 failed task.
597
598BBINCLUDELOGS_LINES
599 If ```BBINCLUDELOGS`` <#var-bb-BBINCLUDELOGS>`__ is set, specifies
600 the maximum number of lines from the task log file to print when
601 reporting a failed task. If you do not set ``BBINCLUDELOGS_LINES``,
602 the entire log is printed.
603
604BBLAYERS
605 Lists the layers to enable during the build. This variable is defined
606 in the ``bblayers.conf`` configuration file in the build directory.
607 Here is an example: BBLAYERS = " \\ /home/scottrif/poky/meta \\
608 /home/scottrif/poky/meta-yocto \\ /home/scottrif/poky/meta-yocto-bsp
609 \\ /home/scottrif/poky/meta-mykernel \\ " This example enables four
610 layers, one of which is a custom, user-defined layer named
611 ``meta-mykernel``.
612
613BBLAYERS_FETCH_DIR
614 Sets the base location where layers are stored. This setting is used
615 in conjunction with ``bitbake-layers layerindex-fetch`` and tells
616 ``bitbake-layers`` where to place the fetched layers.
617
618BBMASK
619 Prevents BitBake from processing recipes and recipe append files.
620
621 You can use the ``BBMASK`` variable to "hide" these ``.bb`` and
622 ``.bbappend`` files. BitBake ignores any recipe or recipe append
623 files that match any of the expressions. It is as if BitBake does not
624 see them at all. Consequently, matching files are not parsed or
625 otherwise used by BitBake.
626
627 The values you provide are passed to Python's regular expression
628 compiler. Consequently, the syntax follows Python's Regular
629 Expression (re) syntax. The expressions are compared against the full
630 paths to the files. For complete syntax information, see Python's
631 documentation at ` <http://docs.python.org/3/library/re.html#re>`__.
632
633 The following example uses a complete regular expression to tell
634 BitBake to ignore all recipe and recipe append files in the
635 ``meta-ti/recipes-misc/`` directory: BBMASK = "meta-ti/recipes-misc/"
636 If you want to mask out multiple directories or recipes, you can
637 specify multiple regular expression fragments. This next example
638 masks out multiple directories and individual recipes: BBMASK +=
639 "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/" BBMASK +=
640 "/meta-oe/recipes-support/" BBMASK += "/meta-foo/.*/openldap" BBMASK
641 += "opencv.*\.bbappend" BBMASK += "lzma"
642
643 .. note::
644
645 When specifying a directory name, use the trailing slash character
646 to ensure you match just that directory name.
647
648BBMULTICONFIG
649 Enables BitBake to perform multiple configuration builds and lists
650 each separate configuration (multiconfig). You can use this variable
651 to cause BitBake to build multiple targets where each target has a
652 separate configuration. Define ``BBMULTICONFIG`` in your
653 ``conf/local.conf`` configuration file.
654
655 As an example, the following line specifies three multiconfigs, each
656 having a separate configuration file: BBMULTIFONFIG = "configA
657 configB configC" Each configuration file you use must reside in the
658 build directory within a directory named ``conf/multiconfig`` (e.g.
659 build_directory\ ``/conf/multiconfig/configA.conf``).
660
661 For information on how to use ``BBMULTICONFIG`` in an environment
662 that supports building targets with multiple configurations, see the
663 "`Executing a Multiple Configuration
664 Build <#executing-a-multiple-configuration-build>`__" section.
665
666BBPATH
667 Used by BitBake to locate class (``.bbclass``) and configuration
668 (``.conf``) files. This variable is analogous to the ``PATH``
669 variable.
670
671 If you run BitBake from a directory outside of the build directory,
672 you must be sure to set ``BBPATH`` to point to the build directory.
673 Set the variable as you would any environment variable and then run
674 BitBake: $ BBPATH="build_directory" $ export BBPATH $ bitbake target
675
676BBSERVER
677 Points to the server that runs memory-resident BitBake. The variable
678 is only used when you employ memory-resident BitBake.
679
680BBTARGETS
681 Allows you to use a configuration file to add to the list of
682 command-line target recipes you want to build.
683
684BBVERSIONS
685 Allows a single recipe to build multiple versions of a project from a
686 single recipe file. You also able to specify conditional metadata
687 using the ```OVERRIDES`` <#var-bb-OVERRIDES>`__ mechanism for a
688 single version or for an optionally named range of versions.
689
690 For more information on ``BBVERSIONS``, see the "`Variants - Class
691 Extension Mechanism <#variants-class-extension-mechanism>`__"
692 section.
693
694BITBAKE_UI
695 Used to specify the UI module to use when running BitBake. Using this
696 variable is equivalent to using the ``-u`` command-line option.
697
698 .. note::
699
700 You must set this variable in the external environment in order
701 for it to work.
702
703BUILDNAME
704 A name assigned to the build. The name defaults to a datetime stamp
705 of when the build was started but can be defined by the metadata.
706
707BZRDIR
708 The directory in which files checked out of a Bazaar system are
709 stored.
710
711CACHE
712 Specifies the directory BitBake uses to store a cache of the metadata
713 so it does not need to be parsed every time BitBake is started.
714
715CVSDIR
716 The directory in which files checked out under the CVS system are
717 stored.
718
719DEFAULT_PREFERENCE
720 Specifies a weak bias for recipe selection priority.
721
722 The most common usage of this is variable is to set it to "-1" within
723 a recipe for a development version of a piece of software. Using the
724 variable in this way causes the stable version of the recipe to build
725 by default in the absence of ``PREFERRED_VERSION`` being used to
726 build the development version.
727
728 .. note::
729
730 The bias provided by
731 DEFAULT_PREFERENCE
732 is weak and is overridden by
733 BBFILE_PRIORITY
734 if that variable is different between two layers that contain
735 different versions of the same recipe.
736
737DEPENDS
738 Lists a recipe's build-time dependencies (i.e. other recipe files).
739
740 Consider this simple example for two recipes named "a" and "b" that
741 produce similarly named packages. In this example, the ``DEPENDS``
742 statement appears in the "a" recipe: DEPENDS = "b" Here, the
743 dependency is such that the ``do_configure`` task for recipe "a"
744 depends on the ``do_populate_sysroot`` task of recipe "b". This means
745 anything that recipe "b" puts into sysroot is available when recipe
746 "a" is configuring itself.
747
748 For information on runtime dependencies, see the
749 ```RDEPENDS`` <#var-bb-RDEPENDS>`__ variable.
750
751DESCRIPTION
752 A long description for the recipe.
753
754DL_DIR
755 The central download directory used by the build process to store
756 downloads. By default, ``DL_DIR`` gets files suitable for mirroring
757 for everything except Git repositories. If you want tarballs of Git
758 repositories, use the
759 ```BB_GENERATE_MIRROR_TARBALLS`` <#var-bb-BB_GENERATE_MIRROR_TARBALLS>`__
760 variable.
761
762EXCLUDE_FROM_WORLD
763 Directs BitBake to exclude a recipe from world builds (i.e.
764 ``bitbake world``). During world builds, BitBake locates, parses and
765 builds all recipes found in every layer exposed in the
766 ``bblayers.conf`` configuration file.
767
768 To exclude a recipe from a world build using this variable, set the
769 variable to "1" in the recipe.
770
771 .. note::
772
773 Recipes added to
774 EXCLUDE_FROM_WORLD
775 may still be built during a world build in order to satisfy
776 dependencies of other recipes. Adding a recipe to
777 EXCLUDE_FROM_WORLD
778 only ensures that the recipe is not explicitly added to the list
779 of build targets in a world build.
780
781FAKEROOT
782 Contains the command to use when running a shell script in a fakeroot
783 environment. The ``FAKEROOT`` variable is obsolete and has been
784 replaced by the other ``FAKEROOT*`` variables. See these entries in
785 the glossary for more information.
786
787FAKEROOTBASEENV
788 Lists environment variables to set when executing the command defined
789 by ```FAKEROOTCMD`` <#var-bb-FAKEROOTCMD>`__ that starts the
790 bitbake-worker process in the fakeroot environment.
791
792FAKEROOTCMD
793 Contains the command that starts the bitbake-worker process in the
794 fakeroot environment.
795
796FAKEROOTDIRS
797 Lists directories to create before running a task in the fakeroot
798 environment.
799
800FAKEROOTENV
801 Lists environment variables to set when running a task in the
802 fakeroot environment. For additional information on environment
803 variables and the fakeroot environment, see the
804 ```FAKEROOTBASEENV`` <#var-bb-FAKEROOTBASEENV>`__ variable.
805
806FAKEROOTNOENV
807 Lists environment variables to set when running a task that is not in
808 the fakeroot environment. For additional information on environment
809 variables and the fakeroot environment, see the
810 ```FAKEROOTENV`` <#var-bb-FAKEROOTENV>`__ variable.
811
812FETCHCMD
813 Defines the command the BitBake fetcher module executes when running
814 fetch operations. You need to use an override suffix when you use the
815 variable (e.g. ``FETCHCMD_git`` or ``FETCHCMD_svn``).
816
817FILE
818 Points at the current file. BitBake sets this variable during the
819 parsing process to identify the file being parsed. BitBake also sets
820 this variable when a recipe is being executed to identify the recipe
821 file.
822
823FILESPATH
824 Specifies directories BitBake uses when searching for patches and
825 files. The "local" fetcher module uses these directories when
826 handling ``file://`` URLs. The variable behaves like a shell ``PATH``
827 environment variable. The value is a colon-separated list of
828 directories that are searched left-to-right in order.
829
830GITDIR
831 The directory in which a local copy of a Git repository is stored
832 when it is cloned.
833
834HGDIR
835 The directory in which files checked out of a Mercurial system are
836 stored.
837
838HOMEPAGE
839 Website where more information about the software the recipe is
840 building can be found.
841
842INHERIT
843 Causes the named class or classes to be inherited globally. Anonymous
844 functions in the class or classes are not executed for the base
845 configuration and in each individual recipe. The OpenEmbedded build
846 system ignores changes to ``INHERIT`` in individual recipes.
847
848 For more information on ``INHERIT``, see the "```INHERIT``
849 Configuration Directive <#inherit-configuration-directive>`__"
850 section.
851
852LAYERDEPENDS
853 Lists the layers, separated by spaces, upon which this recipe
854 depends. Optionally, you can specify a specific layer version for a
855 dependency by adding it to the end of the layer name with a colon,
856 (e.g. "anotherlayer:3" to be compared against
857 ```LAYERVERSION`` <#var-bb-LAYERVERSION>`__\ ``_anotherlayer`` in
858 this case). BitBake produces an error if any dependency is missing or
859 the version numbers do not match exactly (if specified).
860
861 You use this variable in the ``conf/layer.conf`` file. You must also
862 use the specific layer name as a suffix to the variable (e.g.
863 ``LAYERDEPENDS_mylayer``).
864
865LAYERDIR
866 When used inside the ``layer.conf`` configuration file, this variable
867 provides the path of the current layer. This variable is not
868 available outside of ``layer.conf`` and references are expanded
869 immediately when parsing of the file completes.
870
871LAYERDIR_RE
872 When used inside the ``layer.conf`` configuration file, this variable
873 provides the path of the current layer, escaped for use in a regular
874 expression (```BBFILE_PATTERN`` <#var-bb-BBFILE_PATTERN>`__). This
875 variable is not available outside of ``layer.conf`` and references
876 are expanded immediately when parsing of the file completes.
877
878LAYERVERSION
879 Optionally specifies the version of a layer as a single number. You
880 can use this variable within
881 ```LAYERDEPENDS`` <#var-bb-LAYERDEPENDS>`__ for another layer in
882 order to depend on a specific version of the layer.
883
884 You use this variable in the ``conf/layer.conf`` file. You must also
885 use the specific layer name as a suffix to the variable (e.g.
886 ``LAYERDEPENDS_mylayer``).
887
888LICENSE
889 The list of source licenses for the recipe.
890
891MIRRORS
892 Specifies additional paths from which BitBake gets source code. When
893 the build system searches for source code, it first tries the local
894 download directory. If that location fails, the build system tries
895 locations defined by ```PREMIRRORS`` <#var-bb-PREMIRRORS>`__, the
896 upstream source, and then locations specified by ``MIRRORS`` in that
897 order.
898
899MULTI_PROVIDER_WHITELIST
900 Allows you to suppress BitBake warnings caused when building two
901 separate recipes that provide the same output.
902
903 BitBake normally issues a warning when building two different recipes
904 where each provides the same output. This scenario is usually
905 something the user does not want. However, cases do exist where it
906 makes sense, particularly in the ``virtual/*`` namespace. You can use
907 this variable to suppress BitBake's warnings.
908
909 To use the variable, list provider names (e.g. recipe names,
910 ``virtual/kernel``, and so forth).
911
912OVERRIDES
913 BitBake uses ``OVERRIDES`` to control what variables are overridden
914 after BitBake parses recipes and configuration files.
915
916 Following is a simple example that uses an overrides list based on
917 machine architectures: OVERRIDES = "arm:x86:mips:powerpc" You can
918 find information on how to use ``OVERRIDES`` in the "`Conditional
919 Syntax (Overrides) <#conditional-syntax-overrides>`__" section.
920
921P4DIR
922 The directory in which a local copy of a Perforce depot is stored
923 when it is fetched.
924
925PACKAGES
926 The list of packages the recipe creates.
927
928PACKAGES_DYNAMIC
929 A promise that your recipe satisfies runtime dependencies for
930 optional modules that are found in other recipes.
931 ``PACKAGES_DYNAMIC`` does not actually satisfy the dependencies, it
932 only states that they should be satisfied. For example, if a hard,
933 runtime dependency (```RDEPENDS`` <#var-bb-RDEPENDS>`__) of another
934 package is satisfied during the build through the
935 ``PACKAGES_DYNAMIC`` variable, but a package with the module name is
936 never actually produced, then the other package will be broken.
937
938PE
939 The epoch of the recipe. By default, this variable is unset. The
940 variable is used to make upgrades possible when the versioning scheme
941 changes in some backwards incompatible way.
942
943PERSISTENT_DIR
944 Specifies the directory BitBake uses to store data that should be
945 preserved between builds. In particular, the data stored is the data
946 that uses BitBake's persistent data API and the data used by the PR
947 Server and PR Service.
948
949PF
950 Specifies the recipe or package name and includes all version and
951 revision numbers (i.e. ``eglibc-2.13-r20+svnr15508/`` and
952 ``bash-4.2-r1/``).
953
954PN
955 The recipe name.
956
957PR
958 The revision of the recipe.
959
960PREFERRED_PROVIDER
961 Determines which recipe should be given preference when multiple
962 recipes provide the same item. You should always suffix the variable
963 with the name of the provided item, and you should set it to the
964 ```PN`` <#var-bb-PN>`__ of the recipe to which you want to give
965 precedence. Some examples: PREFERRED_PROVIDER_virtual/kernel ?=
966 "linux-yocto" PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
967 PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
968
969PREFERRED_PROVIDERS
970 Determines which recipe should be given preference for cases where
971 multiple recipes provide the same item. Functionally,
972 ``PREFERRED_PROVIDERS`` is identical to
973 ```PREFERRED_PROVIDER`` <#var-bb-PREFERRED_PROVIDER>`__. However, the
974 ``PREFERRED_PROVIDERS`` variable lets you define preferences for
975 multiple situations using the following form: PREFERRED_PROVIDERS =
976 "xxx:yyy aaa:bbb ..." This form is a convenient replacement for the
977 following: PREFERRED_PROVIDER_xxx = "yyy" PREFERRED_PROVIDER_aaa =
978 "bbb"
979
980PREFERRED_VERSION
981 If there are multiple versions of recipes available, this variable
982 determines which recipe should be given preference. You must always
983 suffix the variable with the ```PN`` <#var-bb-PN>`__ you want to
984 select, and you should set ```PV`` <#var-bb-PV>`__ accordingly for
985 precedence.
986
987 The ``PREFERRED_VERSION`` variable supports limited wildcard use
988 through the "``%``" character. You can use the character to match any
989 number of characters, which can be useful when specifying versions
990 that contain long revision numbers that potentially change. Here are
991 two examples: PREFERRED_VERSION_python = "2.7.3"
992 PREFERRED_VERSION_linux-yocto = "4.12%"
993
994 .. note::
995
996 The use of the "
997 %
998 " character is limited in that it only works at the end of the
999 string. You cannot use the wildcard character in any other
1000 location of the string.
1001
1002PREMIRRORS
1003 Specifies additional paths from which BitBake gets source code. When
1004 the build system searches for source code, it first tries the local
1005 download directory. If that location fails, the build system tries
1006 locations defined by ``PREMIRRORS``, the upstream source, and then
1007 locations specified by ```MIRRORS`` <#var-bb-MIRRORS>`__ in that
1008 order.
1009
1010 Typically, you would add a specific server for the build system to
1011 attempt before any others by adding something like the following to
1012 your configuration: PREMIRRORS_prepend = "\\ git://.*/.\*
1013 http://www.yoctoproject.org/sources/ \\n \\ ftp://.*/.\*
1014 http://www.yoctoproject.org/sources/ \\n \\ http://.*/.\*
1015 http://www.yoctoproject.org/sources/ \\n \\ https://.*/.\*
1016 http://www.yoctoproject.org/sources/ \\n" These changes cause the
1017 build system to intercept Git, FTP, HTTP, and HTTPS requests and
1018 direct them to the ``http://`` sources mirror. You can use
1019 ``file://`` URLs to point to local directories or network shares as
1020 well.
1021
1022PROVIDES
1023 A list of aliases by which a particular recipe can be known. By
1024 default, a recipe's own ``PN`` is implicitly already in its
1025 ``PROVIDES`` list. If a recipe uses ``PROVIDES``, the additional
1026 aliases are synonyms for the recipe and can be useful satisfying
1027 dependencies of other recipes during the build as specified by
1028 ``DEPENDS``.
1029
1030 Consider the following example ``PROVIDES`` statement from a recipe
1031 file ``libav_0.8.11.bb``: PROVIDES += "libpostproc" The ``PROVIDES``
1032 statement results in the "libav" recipe also being known as
1033 "libpostproc".
1034
1035 In addition to providing recipes under alternate names, the
1036 ``PROVIDES`` mechanism is also used to implement virtual targets. A
1037 virtual target is a name that corresponds to some particular
1038 functionality (e.g. a Linux kernel). Recipes that provide the
1039 functionality in question list the virtual target in ``PROVIDES``.
1040 Recipes that depend on the functionality in question can include the
1041 virtual target in ```DEPENDS`` <#var-bb-DEPENDS>`__ to leave the
1042 choice of provider open.
1043
1044 Conventionally, virtual targets have names on the form
1045 "virtual/function" (e.g. "virtual/kernel"). The slash is simply part
1046 of the name and has no syntactical significance.
1047
1048PRSERV_HOST
1049 The network based ```PR`` <#var-bb-PR>`__ service host and port.
1050
1051 Following is an example of how the ``PRSERV_HOST`` variable is set:
1052 PRSERV_HOST = "localhost:0" You must set the variable if you want to
1053 automatically start a local PR service. You can set ``PRSERV_HOST``
1054 to other values to use a remote PR service.
1055
1056PV
1057 The version of the recipe.
1058
1059RDEPENDS
1060 Lists a package's runtime dependencies (i.e. other packages) that
1061 must be installed in order for the built package to run correctly. If
1062 a package in this list cannot be found during the build, you will get
1063 a build error.
1064
1065 Because the ``RDEPENDS`` variable applies to packages being built,
1066 you should always use the variable in a form with an attached package
1067 name. For example, suppose you are building a development package
1068 that depends on the ``perl`` package. In this case, you would use the
1069 following ``RDEPENDS`` statement: RDEPENDS_${PN}-dev += "perl" In the
1070 example, the development package depends on the ``perl`` package.
1071 Thus, the ``RDEPENDS`` variable has the ``${PN}-dev`` package name as
1072 part of the variable.
1073
1074 BitBake supports specifying versioned dependencies. Although the
1075 syntax varies depending on the packaging format, BitBake hides these
1076 differences from you. Here is the general syntax to specify versions
1077 with the ``RDEPENDS`` variable: RDEPENDS_${PN} = "package (operator
1078 version)" For ``operator``, you can specify the following: = < > <=
1079 >= For example, the following sets up a dependency on version 1.2 or
1080 greater of the package ``foo``: RDEPENDS_${PN} = "foo (>= 1.2)"
1081
1082 For information on build-time dependencies, see the
1083 ```DEPENDS`` <#var-bb-DEPENDS>`__ variable.
1084
1085REPODIR
1086 The directory in which a local copy of a ``google-repo`` directory is
1087 stored when it is synced.
1088
1089RPROVIDES
1090 A list of package name aliases that a package also provides. These
1091 aliases are useful for satisfying runtime dependencies of other
1092 packages both during the build and on the target (as specified by
1093 ``RDEPENDS``).
1094
1095 As with all package-controlling variables, you must always use the
1096 variable in conjunction with a package name override. Here is an
1097 example: RPROVIDES_${PN} = "widget-abi-2"
1098
1099RRECOMMENDS
1100 A list of packages that extends the usability of a package being
1101 built. The package being built does not depend on this list of
1102 packages in order to successfully build, but needs them for the
1103 extended usability. To specify runtime dependencies for packages, see
1104 the ``RDEPENDS`` variable.
1105
1106 BitBake supports specifying versioned recommends. Although the syntax
1107 varies depending on the packaging format, BitBake hides these
1108 differences from you. Here is the general syntax to specify versions
1109 with the ``RRECOMMENDS`` variable: RRECOMMENDS_${PN} = "package
1110 (operator version)" For ``operator``, you can specify the following:
1111 = < > <= >= For example, the following sets up a recommend on version
1112 1.2 or greater of the package ``foo``: RRECOMMENDS_${PN} = "foo (>=
1113 1.2)"
1114
1115SECTION
1116 The section in which packages should be categorized.
1117
1118SRC_URI
1119 The list of source files - local or remote. This variable tells
1120 BitBake which bits to pull for the build and how to pull them. For
1121 example, if the recipe or append file needs to fetch a single tarball
1122 from the Internet, the recipe or append file uses a ``SRC_URI`` entry
1123 that specifies that tarball. On the other hand, if the recipe or
1124 append file needs to fetch a tarball and include a custom file, the
1125 recipe or append file needs an ``SRC_URI`` variable that specifies
1126 all those sources.
1127
1128 The following list explains the available URI protocols:
1129
1130 - *``file://`` -* Fetches files, which are usually files shipped
1131 with the metadata, from the local machine. The path is relative to
1132 the ```FILESPATH`` <#var-bb-FILESPATH>`__ variable.
1133
1134 - *``bzr://`` -* Fetches files from a Bazaar revision control
1135 repository.
1136
1137 - *``git://`` -* Fetches files from a Git revision control
1138 repository.
1139
1140 - *``osc://`` -* Fetches files from an OSC (OpenSUSE Build service)
1141 revision control repository.
1142
1143 - *``repo://`` -* Fetches files from a repo (Git) repository.
1144
1145 - *``http://`` -* Fetches files from the Internet using HTTP.
1146
1147 - *``https://`` -* Fetches files from the Internet using HTTPS.
1148
1149 - *``ftp://`` -* Fetches files from the Internet using FTP.
1150
1151 - *``cvs://`` -* Fetches files from a CVS revision control
1152 repository.
1153
1154 - *``hg://`` -* Fetches files from a Mercurial (``hg``) revision
1155 control repository.
1156
1157 - *``p4://`` -* Fetches files from a Perforce (``p4``) revision
1158 control repository.
1159
1160 - *``ssh://`` -* Fetches files from a secure shell.
1161
1162 - *``svn://`` -* Fetches files from a Subversion (``svn``) revision
1163 control repository.
1164
1165 Here are some additional options worth mentioning:
1166
1167 - *``unpack`` -* Controls whether or not to unpack the file if it is
1168 an archive. The default action is to unpack the file.
1169
1170 - *``subdir`` -* Places the file (or extracts its contents) into the
1171 specified subdirectory. This option is useful for unusual tarballs
1172 or other archives that do not have their files already in a
1173 subdirectory within the archive.
1174
1175 - *``name`` -* Specifies a name to be used for association with
1176 ``SRC_URI`` checksums when you have more than one file specified
1177 in ``SRC_URI``.
1178
1179 - *``downloadfilename`` -* Specifies the filename used when storing
1180 the downloaded file.
1181
1182SRCDATE
1183 The date of the source code used to build the package. This variable
1184 applies only if the source was fetched from a Source Code Manager
1185 (SCM).
1186
1187SRCREV
1188 The revision of the source code used to build the package. This
1189 variable applies only when using Subversion, Git, Mercurial and
1190 Bazaar. If you want to build a fixed revision and you want to avoid
1191 performing a query on the remote repository every time BitBake parses
1192 your recipe, you should specify a ``SRCREV`` that is a full revision
1193 identifier and not just a tag.
1194
1195SRCREV_FORMAT
1196 Helps construct valid ```SRCREV`` <#var-bb-SRCREV>`__ values when
1197 multiple source controlled URLs are used in
1198 ```SRC_URI`` <#var-bb-SRC_URI>`__.
1199
1200 The system needs help constructing these values under these
1201 circumstances. Each component in the ``SRC_URI`` is assigned a name
1202 and these are referenced in the ``SRCREV_FORMAT`` variable. Consider
1203 an example with URLs named "machine" and "meta". In this case,
1204 ``SRCREV_FORMAT`` could look like "machine_meta" and those names
1205 would have the SCM versions substituted into each position. Only one
1206 ``AUTOINC`` placeholder is added and if needed. And, this placeholder
1207 is placed at the start of the returned string.
1208
1209STAMP
1210 Specifies the base path used to create recipe stamp files. The path
1211 to an actual stamp file is constructed by evaluating this string and
1212 then appending additional information.
1213
1214STAMPCLEAN
1215 Specifies the base path used to create recipe stamp files. Unlike the
1216 ```STAMP`` <#var-bb-STAMP>`__ variable, ``STAMPCLEAN`` can contain
1217 wildcards to match the range of files a clean operation should
1218 remove. BitBake uses a clean operation to remove any other stamps it
1219 should be removing when creating a new stamp.
1220
1221SUMMARY
1222 A short summary for the recipe, which is 72 characters or less.
1223
1224SVNDIR
1225 The directory in which files checked out of a Subversion system are
1226 stored.
1227
1228T
1229 Points to a directory were BitBake places temporary files, which
1230 consist mostly of task logs and scripts, when building a particular
1231 recipe.
1232
1233TOPDIR
1234 Points to the build directory. BitBake automatically sets this
1235 variable.