bitbake-user-manual-ref-variables.xml 109 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465
  1. <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  2. "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
  3. [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
  4. <!-- Dummy chapter -->
  5. <chapter id='ref-variables-glos'>
  6. <title>Variables Glossary</title>
  7. <para>
  8. This chapter lists common variables used by BitBake and gives an overview
  9. of their function and contents.
  10. </para>
  11. <note>
  12. Following are some points regarding the variables listed in this glossary:
  13. <itemizedlist>
  14. <listitem><para>The variables listed in this glossary
  15. are specific to BitBake.
  16. Consequently, the descriptions are limited to that context.
  17. </para></listitem>
  18. <listitem><para>Also, variables exist in other systems that use BitBake
  19. (e.g. The Yocto Project and OpenEmbedded) that have names identical
  20. to those found in this glossary.
  21. For such cases, the variables in those systems extend the
  22. functionality of the variable as it is described here in
  23. this glossary.
  24. </para></listitem>
  25. <listitem><para>Finally, there are variables mentioned in this
  26. glossary that do not appear in the BitBake glossary.
  27. These other variables are variables used in systems that use
  28. BitBake.
  29. </para></listitem>
  30. </itemizedlist>
  31. </note>
  32. <glossary id='ref-variables-glossary'>
  33. <para>
  34. <link linkend='var-ASSUME_PROVIDED'>A</link>
  35. <link linkend='var-B'>B</link>
  36. <link linkend='var-CACHE'>C</link>
  37. <link linkend='var-DEFAULT_PREFERENCE'>D</link>
  38. <link linkend='var-EXCLUDE_FROM_WORLD'>E</link>
  39. <link linkend='var-FAKEROOT'>F</link>
  40. <link linkend='var-GITDIR'>G</link>
  41. <link linkend='var-HGDIR'>H</link>
  42. <!-- <link linkend='var-ICECC_DISABLED'>I</link> -->
  43. <!-- <link linkend='var-glossary-j'>J</link> -->
  44. <!-- <link linkend='var-KARCH'>K</link> -->
  45. <link linkend='var-LAYERDEPENDS'>L</link>
  46. <link linkend='var-MIRRORS'>M</link>
  47. <!-- <link linkend='var-glossary-n'>N</link> -->
  48. <link linkend='var-OVERRIDES'>O</link>
  49. <link linkend='var-P4DIR'>P</link>
  50. <!-- <link linkend='var-QMAKE_PROFILES'>Q</link> -->
  51. <link linkend='var-RDEPENDS'>R</link>
  52. <link linkend='var-SECTION'>S</link>
  53. <link linkend='var-T'>T</link>
  54. <!-- <link linkend='var-UBOOT_CONFIG'>U</link> -->
  55. <!-- <link linkend='var-glossary-v'>V</link> -->
  56. <!-- <link linkend='var-WARN_QA'>W</link> -->
  57. <!-- <link linkend='var-glossary-x'>X</link> -->
  58. <!-- <link linkend='var-glossary-y'>Y</link> -->
  59. <!-- <link linkend='var-glossary-z'>Z</link>-->
  60. </para>
  61. <glossdiv id='var-glossary-a'><title>A</title>
  62. <glossentry id='var-ASSUME_PROVIDED'><glossterm>ASSUME_PROVIDED</glossterm>
  63. <glossdef>
  64. <para>
  65. Lists recipe names
  66. (<link linkend='var-PN'><filename>PN</filename></link>
  67. values) BitBake does not attempt to build.
  68. Instead, BitBake assumes these recipes have already been
  69. built.
  70. </para>
  71. <para>
  72. In OpenEmbedded-Core, <filename>ASSUME_PROVIDED</filename>
  73. mostly specifies native tools that should not be built.
  74. An example is <filename>git-native</filename>, which
  75. when specified allows for the Git binary from the host to
  76. be used rather than building
  77. <filename>git-native</filename>.
  78. </para>
  79. </glossdef>
  80. </glossentry>
  81. </glossdiv>
  82. <glossdiv id='var-glossary-b'><title>B</title>
  83. <glossentry id='var-B'><glossterm>B</glossterm>
  84. <glossdef>
  85. <para>
  86. The directory in which BitBake executes functions
  87. during a recipe's build process.
  88. </para>
  89. </glossdef>
  90. </glossentry>
  91. <glossentry id='var-BB_ALLOWED_NETWORKS'><glossterm>BB_ALLOWED_NETWORKS</glossterm>
  92. <glossdef>
  93. <para>
  94. Specifies a space-delimited list of hosts that the fetcher
  95. is allowed to use to obtain the required source code.
  96. Following are considerations surrounding this variable:
  97. <itemizedlist>
  98. <listitem><para>
  99. This host list is only used if
  100. <link linkend='var-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
  101. is either not set or set to "0".
  102. </para></listitem>
  103. <listitem><para>
  104. Limited support for the "<filename>*</filename>"
  105. wildcard character for matching against the
  106. beginning of host names exists.
  107. For example, the following setting matches
  108. <filename>git.gnu.org</filename>,
  109. <filename>ftp.gnu.org</filename>, and
  110. <filename>foo.git.gnu.org</filename>.
  111. <literallayout class='monospaced'>
  112. BB_ALLOWED_NETWORKS = "*.gnu.org"
  113. </literallayout>
  114. <note><title>Important</title>
  115. <para>The use of the "<filename>*</filename>"
  116. character only works at the beginning of
  117. a host name and it must be isolated from
  118. the remainder of the host name.
  119. You cannot use the wildcard character in any
  120. other location of the name or combined with
  121. the front part of the name.</para>
  122. <para>For example,
  123. <filename>*.foo.bar</filename> is supported,
  124. while <filename>*aa.foo.bar</filename> is not.
  125. </para>
  126. </note>
  127. </para></listitem>
  128. <listitem><para>
  129. Mirrors not in the host list are skipped and
  130. logged in debug.
  131. </para></listitem>
  132. <listitem><para>
  133. Attempts to access networks not in the host list
  134. cause a failure.
  135. </para></listitem>
  136. </itemizedlist>
  137. Using <filename>BB_ALLOWED_NETWORKS</filename> in
  138. conjunction with
  139. <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
  140. is very useful.
  141. Adding the host you want to use to
  142. <filename>PREMIRRORS</filename> results in the source code
  143. being fetched from an allowed location and avoids raising
  144. an error when a host that is not allowed is in a
  145. <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
  146. statement.
  147. This is because the fetcher does not attempt to use the
  148. host listed in <filename>SRC_URI</filename> after a
  149. successful fetch from the
  150. <filename>PREMIRRORS</filename> occurs.
  151. </para>
  152. </glossdef>
  153. </glossentry>
  154. <glossentry id='var-BB_CONSOLELOG'><glossterm>BB_CONSOLELOG</glossterm>
  155. <glossdef>
  156. <para>
  157. Specifies the path to a log file into which BitBake's user
  158. interface writes output during the build.
  159. </para>
  160. </glossdef>
  161. </glossentry>
  162. <glossentry id='var-BB_CURRENTTASK'><glossterm>BB_CURRENTTASK</glossterm>
  163. <glossdef>
  164. <para>
  165. Contains the name of the currently running task.
  166. The name does not include the
  167. <filename>do_</filename> prefix.
  168. </para>
  169. </glossdef>
  170. </glossentry>
  171. <glossentry id='var-BB_DANGLINGAPPENDS_WARNONLY'><glossterm>BB_DANGLINGAPPENDS_WARNONLY</glossterm>
  172. <glossdef>
  173. <para>
  174. Defines how BitBake handles situations where an append
  175. file (<filename>.bbappend</filename>) has no
  176. corresponding recipe file (<filename>.bb</filename>).
  177. This condition often occurs when layers get out of sync
  178. (e.g. <filename>oe-core</filename> bumps a
  179. recipe version and the old recipe no longer exists and the
  180. other layer has not been updated to the new version
  181. of the recipe yet).
  182. </para>
  183. <para>
  184. The default fatal behavior is safest because it is
  185. the sane reaction given something is out of sync.
  186. It is important to realize when your changes are no longer
  187. being applied.
  188. </para>
  189. </glossdef>
  190. </glossentry>
  191. <glossentry id='var-BB_DEFAULT_TASK'><glossterm>BB_DEFAULT_TASK</glossterm>
  192. <glossdef>
  193. <para>
  194. The default task to use when none is specified (e.g.
  195. with the <filename>-c</filename> command line option).
  196. The task name specified should not include the
  197. <filename>do_</filename> prefix.
  198. </para>
  199. </glossdef>
  200. </glossentry>
  201. <glossentry id='var-BB_DISKMON_DIRS'><glossterm>BB_DISKMON_DIRS</glossterm>
  202. <glossdef>
  203. <para>
  204. Monitors disk space and available inodes during the build
  205. and allows you to control the build based on these
  206. parameters.
  207. </para>
  208. <para>
  209. Disk space monitoring is disabled by default.
  210. When setting this variable, use the following form:
  211. <literallayout class='monospaced'>
  212. BB_DISKMON_DIRS = "&lt;action&gt;,&lt;dir&gt;,&lt;threshold&gt; [...]"
  213. where:
  214. &lt;action&gt; is:
  215. ABORT: Immediately abort the build when
  216. a threshold is broken.
  217. STOPTASKS: Stop the build after the currently
  218. executing tasks have finished when
  219. a threshold is broken.
  220. WARN: Issue a warning but continue the
  221. build when a threshold is broken.
  222. Subsequent warnings are issued as
  223. defined by the
  224. <link linkend='var-BB_DISKMON_WARNINTERVAL'>BB_DISKMON_WARNINTERVAL</link> variable,
  225. which must be defined.
  226. &lt;dir&gt; is:
  227. Any directory you choose. You can specify one or
  228. more directories to monitor by separating the
  229. groupings with a space. If two directories are
  230. on the same device, only the first directory
  231. is monitored.
  232. &lt;threshold&gt; is:
  233. Either the minimum available disk space,
  234. the minimum number of free inodes, or
  235. both. You must specify at least one. To
  236. omit one or the other, simply omit the value.
  237. Specify the threshold using G, M, K for Gbytes,
  238. Mbytes, and Kbytes, respectively. If you do
  239. not specify G, M, or K, Kbytes is assumed by
  240. default. Do not use GB, MB, or KB.
  241. </literallayout>
  242. </para>
  243. <para>
  244. Here are some examples:
  245. <literallayout class='monospaced'>
  246. BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
  247. BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
  248. BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
  249. </literallayout>
  250. The first example works only if you also set
  251. the <link linkend='var-BB_DISKMON_WARNINTERVAL'><filename>BB_DISKMON_WARNINTERVAL</filename></link> variable.
  252. This example causes the build system to immediately
  253. abort when either the disk space in <filename>${TMPDIR}</filename> drops
  254. below 1 Gbyte or the available free inodes drops below
  255. 100 Kbytes.
  256. Because two directories are provided with the variable, the
  257. build system also issues a
  258. warning when the disk space in the
  259. <filename>${SSTATE_DIR}</filename> directory drops
  260. below 1 Gbyte or the number of free inodes drops
  261. below 100 Kbytes.
  262. Subsequent warnings are issued during intervals as
  263. defined by the <filename>BB_DISKMON_WARNINTERVAL</filename>
  264. variable.
  265. </para>
  266. <para>
  267. The second example stops the build after all currently
  268. executing tasks complete when the minimum disk space
  269. in the <filename>${TMPDIR}</filename>
  270. directory drops below 1 Gbyte.
  271. No disk monitoring occurs for the free inodes in this case.
  272. </para>
  273. <para>
  274. The final example immediately aborts the build when the
  275. number of free inodes in the <filename>${TMPDIR}</filename> directory
  276. drops below 100 Kbytes.
  277. No disk space monitoring for the directory itself occurs
  278. in this case.
  279. </para>
  280. </glossdef>
  281. </glossentry>
  282. <glossentry id='var-BB_DISKMON_WARNINTERVAL'><glossterm>BB_DISKMON_WARNINTERVAL</glossterm>
  283. <glossdef>
  284. <para>
  285. Defines the disk space and free inode warning intervals.
  286. </para>
  287. <para>
  288. If you are going to use the
  289. <filename>BB_DISKMON_WARNINTERVAL</filename> variable, you must
  290. also use the
  291. <link linkend='var-BB_DISKMON_DIRS'><filename>BB_DISKMON_DIRS</filename></link> variable
  292. and define its action as "WARN".
  293. During the build, subsequent warnings are issued each time
  294. disk space or number of free inodes further reduces by
  295. the respective interval.
  296. </para>
  297. <para>
  298. If you do not provide a <filename>BB_DISKMON_WARNINTERVAL</filename>
  299. variable and you do use <filename>BB_DISKMON_DIRS</filename> with
  300. the "WARN" action, the disk monitoring interval defaults to
  301. the following:
  302. <literallayout class='monospaced'>
  303. BB_DISKMON_WARNINTERVAL = "50M,5K"
  304. </literallayout>
  305. </para>
  306. <para>
  307. When specifying the variable in your configuration file,
  308. use the following form:
  309. <literallayout class='monospaced'>
  310. BB_DISKMON_WARNINTERVAL = "&lt;disk_space_interval&gt;,&lt;disk_inode_interval&gt;"
  311. where:
  312. &lt;disk_space_interval&gt; is:
  313. An interval of memory expressed in either
  314. G, M, or K for Gbytes, Mbytes, or Kbytes,
  315. respectively. You cannot use GB, MB, or KB.
  316. &lt;disk_inode_interval&gt; is:
  317. An interval of free inodes expressed in either
  318. G, M, or K for Gbytes, Mbytes, or Kbytes,
  319. respectively. You cannot use GB, MB, or KB.
  320. </literallayout>
  321. </para>
  322. <para>
  323. Here is an example:
  324. <literallayout class='monospaced'>
  325. BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
  326. BB_DISKMON_WARNINTERVAL = "50M,5K"
  327. </literallayout>
  328. These variables cause BitBake to
  329. issue subsequent warnings each time the available
  330. disk space further reduces by 50 Mbytes or the number
  331. of free inodes further reduces by 5 Kbytes in the
  332. <filename>${SSTATE_DIR}</filename> directory.
  333. Subsequent warnings based on the interval occur each time
  334. a respective interval is reached beyond the initial warning
  335. (i.e. 1 Gbytes and 100 Kbytes).
  336. </para>
  337. </glossdef>
  338. </glossentry>
  339. <glossentry id='var-BB_ENV_WHITELIST'><glossterm>BB_ENV_WHITELIST</glossterm>
  340. <glossdef>
  341. <para>
  342. Specifies the internal whitelist of variables to allow
  343. through from the external environment into BitBake's
  344. datastore.
  345. If the value of this variable is not specified
  346. (which is the default), the following list is used:
  347. <link linkend='var-BBPATH'><filename>BBPATH</filename></link>,
  348. <link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>,
  349. <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>,
  350. and
  351. <link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>.
  352. <note>
  353. You must set this variable in the external environment
  354. in order for it to work.
  355. </note>
  356. </para>
  357. </glossdef>
  358. </glossentry>
  359. <glossentry id='var-BB_ENV_EXTRAWHITE'><glossterm>BB_ENV_EXTRAWHITE</glossterm>
  360. <glossdef>
  361. <para>
  362. Specifies an additional set of variables to allow through
  363. (whitelist) from the external environment into BitBake's
  364. datastore.
  365. This list of variables are on top of the internal list
  366. set in
  367. <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>.
  368. <note>
  369. You must set this variable in the external
  370. environment in order for it to work.
  371. </note>
  372. </para>
  373. </glossdef>
  374. </glossentry>
  375. <glossentry id='var-BB_FETCH_PREMIRRORONLY'><glossterm>BB_FETCH_PREMIRRORONLY</glossterm>
  376. <glossdef>
  377. <para>
  378. When set to "1", causes BitBake's fetcher module to only
  379. search
  380. <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
  381. for files.
  382. BitBake will not search the main
  383. <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
  384. or
  385. <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>.
  386. </para>
  387. </glossdef>
  388. </glossentry>
  389. <glossentry id='var-BB_FILENAME'><glossterm>BB_FILENAME</glossterm>
  390. <glossdef>
  391. <para>
  392. Contains the filename of the recipe that owns the currently
  393. running task.
  394. For example, if the <filename>do_fetch</filename> task that
  395. resides in the <filename>my-recipe.bb</filename> is
  396. executing, the <filename>BB_FILENAME</filename> variable
  397. contains "/foo/path/my-recipe.bb".
  398. </para>
  399. </glossdef>
  400. </glossentry>
  401. <glossentry id='var-BB_GENERATE_MIRROR_TARBALLS'><glossterm>BB_GENERATE_MIRROR_TARBALLS</glossterm>
  402. <glossdef>
  403. <para>
  404. Causes tarballs of the Git repositories, including the
  405. Git metadata, to be placed in the
  406. <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
  407. directory.
  408. Anyone wishing to create a source mirror would want to
  409. enable this variable.
  410. </para>
  411. <para>
  412. For performance reasons, creating and placing tarballs of
  413. the Git repositories is not the default action by BitBake.
  414. <literallayout class='monospaced'>
  415. BB_GENERATE_MIRROR_TARBALLS = "1"
  416. </literallayout>
  417. </para>
  418. </glossdef>
  419. </glossentry>
  420. <glossentry id='var-BB_HASHCONFIG_WHITELIST'><glossterm>BB_HASHCONFIG_WHITELIST</glossterm>
  421. <glossdef>
  422. <para>
  423. Lists variables that are excluded from base configuration
  424. checksum, which is used to determine if the cache can
  425. be reused.
  426. </para>
  427. <para>
  428. One of the ways BitBake determines whether to re-parse the
  429. main metadata is through checksums of the variables in the
  430. datastore of the base configuration data.
  431. There are variables that you typically want to exclude when
  432. checking whether or not to re-parse and thus rebuild the
  433. cache.
  434. As an example, you would usually exclude
  435. <filename>TIME</filename> and <filename>DATE</filename>
  436. because these variables are always changing.
  437. If you did not exclude them, BitBake would never reuse the
  438. cache.
  439. </para>
  440. </glossdef>
  441. </glossentry>
  442. <glossentry id='var-BB_HASHBASE_WHITELIST'><glossterm>BB_HASHBASE_WHITELIST</glossterm>
  443. <glossdef>
  444. <para>
  445. Lists variables that are excluded from checksum and
  446. dependency data.
  447. Variables that are excluded can therefore change without
  448. affecting the checksum mechanism.
  449. A common example would be the variable for the path of
  450. the build.
  451. BitBake's output should not (and usually does not) depend
  452. on the directory in which it was built.
  453. </para>
  454. </glossdef>
  455. </glossentry>
  456. <glossentry id='var-BB_HASHCHECK_FUNCTION'><glossterm>BB_HASHCHECK_FUNCTION</glossterm>
  457. <glossdef>
  458. <para>
  459. Specifies the name of the function to call during the
  460. "setscene" part of the task's execution in order to
  461. validate the list of task hashes.
  462. The function returns the list of setscene tasks that should
  463. be executed.
  464. </para>
  465. <para>
  466. At this point in the execution of the code, the objective
  467. is to quickly verify if a given setscene function is likely
  468. to work or not.
  469. It's easier to check the list of setscene functions in
  470. one pass than to call many individual tasks.
  471. The returned list need not be completely accurate.
  472. A given setscene task can still later fail.
  473. However, the more accurate the data returned, the more
  474. efficient the build will be.
  475. </para>
  476. </glossdef>
  477. </glossentry>
  478. <glossentry id='var-BB_INVALIDCONF'><glossterm>BB_INVALIDCONF</glossterm>
  479. <glossdef>
  480. <para>
  481. Used in combination with the
  482. <filename>ConfigParsed</filename> event to trigger
  483. re-parsing the base metadata (i.e. all the
  484. recipes).
  485. The <filename>ConfigParsed</filename> event can set the
  486. variable to trigger the re-parse.
  487. You must be careful to avoid recursive loops with this
  488. functionality.
  489. </para>
  490. </glossdef>
  491. </glossentry>
  492. <glossentry id='var-BB_LOGFMT'><glossterm>BB_LOGFMT</glossterm>
  493. <glossdef>
  494. <para>
  495. Specifies the name of the log files saved into
  496. <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}</filename>.
  497. By default, the <filename>BB_LOGFMT</filename> variable
  498. is undefined and the log file names get created using the
  499. following form:
  500. <literallayout class='monospaced'>
  501. log.{task}.{pid}
  502. </literallayout>
  503. If you want to force log files to take a specific name,
  504. you can set this variable in a configuration file.
  505. </para>
  506. </glossdef>
  507. </glossentry>
  508. <glossentry id='var-BB_NICE_LEVEL'><glossterm>BB_NICE_LEVEL</glossterm>
  509. <glossdef>
  510. <para>
  511. Allows BitBake to run at a specific priority
  512. (i.e. nice level).
  513. System permissions usually mean that BitBake can reduce its
  514. priority but not raise it again.
  515. See
  516. <link linkend='var-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
  517. for additional information.
  518. </para>
  519. </glossdef>
  520. </glossentry>
  521. <glossentry id='var-BB_NO_NETWORK'><glossterm>BB_NO_NETWORK</glossterm>
  522. <glossdef>
  523. <para>
  524. Disables network access in the BitBake fetcher modules.
  525. With this access disabled, any command that attempts to
  526. access the network becomes an error.
  527. </para>
  528. <para>
  529. Disabling network access is useful for testing source
  530. mirrors, running builds when not connected to the Internet,
  531. and when operating in certain kinds of firewall
  532. environments.
  533. </para>
  534. </glossdef>
  535. </glossentry>
  536. <glossentry id='var-BB_NUMBER_THREADS'><glossterm>BB_NUMBER_THREADS</glossterm>
  537. <glossdef>
  538. <para>
  539. The maximum number of tasks BitBake should run in parallel
  540. at any one time.
  541. If your host development system supports multiple cores,
  542. a good rule of thumb is to set this variable to twice the
  543. number of cores.
  544. </para>
  545. </glossdef>
  546. </glossentry>
  547. <glossentry id='var-BB_NUMBER_PARSE_THREADS'><glossterm>BB_NUMBER_PARSE_THREADS</glossterm>
  548. <glossdef>
  549. <para>
  550. Sets the number of threads BitBake uses when parsing.
  551. By default, the number of threads is equal to the number
  552. of cores on the system.
  553. </para>
  554. </glossdef>
  555. </glossentry>
  556. <glossentry id='var-BB_ORIGENV'><glossterm>BB_ORIGENV</glossterm>
  557. <glossdef>
  558. <para>
  559. Contains a copy of the original external environment in
  560. which BitBake was run.
  561. The copy is taken before any whitelisted variable values
  562. are filtered into BitBake's datastore.
  563. <note>
  564. The contents of this variable is a datastore object
  565. that can be queried using the normal datastore
  566. operations.
  567. </note>
  568. </para>
  569. </glossdef>
  570. </glossentry>
  571. <glossentry id='var-BB_PRESERVE_ENV'><glossterm>BB_PRESERVE_ENV</glossterm>
  572. <glossdef>
  573. <para>
  574. Disables whitelisting and instead allows all variables
  575. through from the external environment into BitBake's
  576. datastore.
  577. <note>
  578. You must set this variable in the external
  579. environment in order for it to work.
  580. </note>
  581. </para>
  582. </glossdef>
  583. </glossentry>
  584. <glossentry id='var-BB_RUNFMT'><glossterm>BB_RUNFMT</glossterm>
  585. <glossdef>
  586. <para>
  587. Specifies the name of the executable script files
  588. (i.e. run files) saved into
  589. <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}</filename>.
  590. By default, the <filename>BB_RUNFMT</filename> variable
  591. is undefined and the run file names get created using the
  592. following form:
  593. <literallayout class='monospaced'>
  594. run.{task}.{pid}
  595. </literallayout>
  596. If you want to force run files to take a specific name,
  597. you can set this variable in a configuration file.
  598. </para>
  599. </glossdef>
  600. </glossentry>
  601. <glossentry id='var-BB_RUNTASK'><glossterm>BB_RUNTASK</glossterm>
  602. <glossdef>
  603. <para>
  604. Contains the name of the currently executing task.
  605. The value includes the "do_" prefix.
  606. For example, if the currently executing task is
  607. <filename>do_config</filename>, the value is
  608. "do_config".
  609. </para>
  610. </glossdef>
  611. </glossentry>
  612. <glossentry id='var-BB_SCHEDULER'><glossterm>BB_SCHEDULER</glossterm>
  613. <glossdef>
  614. <para>
  615. Selects the name of the scheduler to use for the
  616. scheduling of BitBake tasks.
  617. Three options exist:
  618. <itemizedlist>
  619. <listitem><para><emphasis>basic</emphasis> -
  620. The basic framework from which everything derives.
  621. Using this option causes tasks to be ordered
  622. numerically as they are parsed.
  623. </para></listitem>
  624. <listitem><para><emphasis>speed</emphasis> -
  625. Executes tasks first that have more tasks
  626. depending on them.
  627. The "speed" option is the default.
  628. </para></listitem>
  629. <listitem><para><emphasis>completion</emphasis> -
  630. Causes the scheduler to try to complete a given
  631. recipe once its build has started.
  632. </para></listitem>
  633. </itemizedlist>
  634. </para>
  635. </glossdef>
  636. </glossentry>
  637. <glossentry id='var-BB_SCHEDULERS'><glossterm>BB_SCHEDULERS</glossterm>
  638. <glossdef>
  639. <para>
  640. Defines custom schedulers to import.
  641. Custom schedulers need to be derived from the
  642. <filename>RunQueueScheduler</filename> class.
  643. </para>
  644. <para>
  645. For information how to select a scheduler, see the
  646. <link linkend='var-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
  647. variable.
  648. </para>
  649. </glossdef>
  650. </glossentry>
  651. <glossentry id='var-BB_SETSCENE_DEPVALID'><glossterm>BB_SETSCENE_DEPVALID</glossterm>
  652. <glossdef>
  653. <para>
  654. Specifies a function BitBake calls that determines
  655. whether BitBake requires a setscene dependency to be met.
  656. </para>
  657. <para>
  658. When running a setscene task, BitBake needs to
  659. know which dependencies of that setscene task also need
  660. to be run.
  661. Whether dependencies also need to be run is highly
  662. dependent on the metadata.
  663. The function specified by this variable returns a
  664. "True" or "False" depending on whether the dependency needs
  665. to be met.
  666. </para>
  667. </glossdef>
  668. </glossentry>
  669. <glossentry id='var-BB_SETSCENE_VERIFY_FUNCTION2'><glossterm>BB_SETSCENE_VERIFY_FUNCTION2</glossterm>
  670. <glossdef>
  671. <para>
  672. Specifies a function to call that verifies the list of
  673. planned task execution before the main task execution
  674. happens.
  675. The function is called once BitBake has a list of setscene
  676. tasks that have run and either succeeded or failed.
  677. </para>
  678. <para>
  679. The function allows for a task list check to see if they
  680. make sense.
  681. Even if BitBake was planning to skip a task, the
  682. returned value of the function can force BitBake to run
  683. the task, which is necessary under certain metadata
  684. defined circumstances.
  685. </para>
  686. </glossdef>
  687. </glossentry>
  688. <glossentry id='var-BB_SIGNATURE_EXCLUDE_FLAGS'><glossterm>BB_SIGNATURE_EXCLUDE_FLAGS</glossterm>
  689. <glossdef>
  690. <para>
  691. Lists variable flags (varflags)
  692. that can be safely excluded from checksum
  693. and dependency data for keys in the datastore.
  694. When generating checksum or dependency data for keys in the
  695. datastore, the flags set against that key are normally
  696. included in the checksum.
  697. </para>
  698. <para>
  699. For more information on varflags, see the
  700. "<link linkend='variable-flags'>Variable Flags</link>"
  701. section.
  702. </para>
  703. </glossdef>
  704. </glossentry>
  705. <glossentry id='var-BB_SIGNATURE_HANDLER'><glossterm>BB_SIGNATURE_HANDLER</glossterm>
  706. <glossdef>
  707. <para>
  708. Defines the name of the signature handler BitBake uses.
  709. The signature handler defines the way stamp files are
  710. created and handled, if and how the signature is
  711. incorporated into the stamps, and how the signature
  712. itself is generated.
  713. </para>
  714. <para>
  715. A new signature handler can be added by injecting a class
  716. derived from the
  717. <filename>SignatureGenerator</filename> class into the
  718. global namespace.
  719. </para>
  720. </glossdef>
  721. </glossentry>
  722. <glossentry id='var-BB_SRCREV_POLICY'><glossterm>BB_SRCREV_POLICY</glossterm>
  723. <glossdef>
  724. <para>
  725. Defines the behavior of the fetcher when it interacts with
  726. source control systems and dynamic source revisions.
  727. The <filename>BB_SRCREV_POLICY</filename> variable is
  728. useful when working without a network.
  729. </para>
  730. <para>
  731. The variable can be set using one of two policies:
  732. <itemizedlist>
  733. <listitem><para><emphasis>cache</emphasis> -
  734. Retains the value the system obtained previously
  735. rather than querying the source control system
  736. each time.
  737. </para></listitem>
  738. <listitem><para><emphasis>clear</emphasis> -
  739. Queries the source controls system every time.
  740. With this policy, there is no cache.
  741. The "clear" policy is the default.
  742. </para></listitem>
  743. </itemizedlist>
  744. </para>
  745. </glossdef>
  746. </glossentry>
  747. <glossentry id='var-BB_STAMP_POLICY'><glossterm>BB_STAMP_POLICY</glossterm>
  748. <glossdef>
  749. <para>
  750. Defines the mode used for how timestamps of stamp files
  751. are compared.
  752. You can set the variable to one of the following modes:
  753. <itemizedlist>
  754. <listitem><para><emphasis>perfile</emphasis> -
  755. Timestamp comparisons are only made
  756. between timestamps of a specific recipe.
  757. This is the default mode.
  758. </para></listitem>
  759. <listitem><para><emphasis>full</emphasis> -
  760. Timestamp comparisons are made for all
  761. dependencies.
  762. </para></listitem>
  763. <listitem><para><emphasis>whitelist</emphasis> -
  764. Identical to "full" mode except timestamp
  765. comparisons are made for recipes listed in the
  766. <link linkend='var-BB_STAMP_WHITELIST'><filename>BB_STAMP_WHITELIST</filename></link>
  767. variable.
  768. </para></listitem>
  769. </itemizedlist>
  770. <note>
  771. Stamp policies are largely obsolete with the
  772. introduction of setscene tasks.
  773. </note>
  774. </para>
  775. </glossdef>
  776. </glossentry>
  777. <glossentry id='var-BB_STAMP_WHITELIST'><glossterm>BB_STAMP_WHITELIST</glossterm>
  778. <glossdef>
  779. <para>
  780. Lists files whose stamp file timestamps are compared when
  781. the stamp policy mode is set to "whitelist".
  782. For information on stamp policies, see the
  783. <link linkend='var-BB_STAMP_POLICY'><filename>BB_STAMP_POLICY</filename></link>
  784. variable.
  785. </para>
  786. </glossdef>
  787. </glossentry>
  788. <glossentry id='var-BB_STRICT_CHECKSUM'><glossterm>BB_STRICT_CHECKSUM</glossterm>
  789. <glossdef>
  790. <para>
  791. Sets a more strict checksum mechanism for non-local URLs.
  792. Setting this variable to a value causes BitBake
  793. to report an error if it encounters a non-local URL
  794. that does not have at least one checksum specified.
  795. </para>
  796. </glossdef>
  797. </glossentry>
  798. <glossentry id='var-BB_TASK_IONICE_LEVEL'><glossterm>BB_TASK_IONICE_LEVEL</glossterm>
  799. <glossdef>
  800. <para>
  801. Allows adjustment of a task's Input/Output priority.
  802. During Autobuilder testing, random failures can occur
  803. for tasks due to I/O starvation.
  804. These failures occur during various QEMU runtime timeouts.
  805. You can use the <filename>BB_TASK_IONICE_LEVEL</filename>
  806. variable to adjust the I/O priority of these tasks.
  807. <note>
  808. This variable works similarly to the
  809. <link linkend='var-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
  810. variable except with a task's I/O priorities.
  811. </note>
  812. </para>
  813. <para>
  814. Set the variable as follows:
  815. <literallayout class='monospaced'>
  816. BB_TASK_IONICE_LEVEL = "<replaceable>class</replaceable>.<replaceable>prio</replaceable>"
  817. </literallayout>
  818. For <replaceable>class</replaceable>, the default value is
  819. "2", which is a best effort.
  820. You can use "1" for realtime and "3" for idle.
  821. If you want to use realtime, you must have superuser
  822. privileges.
  823. </para>
  824. <para>
  825. For <replaceable>prio</replaceable>, you can use any
  826. value from "0", which is the highest priority, to "7",
  827. which is the lowest.
  828. The default value is "4".
  829. You do not need any special privileges to use this range
  830. of priority values.
  831. <note>
  832. In order for your I/O priority settings to take effect,
  833. you need the Completely Fair Queuing (CFQ) Scheduler
  834. selected for the backing block device.
  835. To select the scheduler, use the following command form
  836. where <replaceable>device</replaceable> is the device
  837. (e.g. sda, sdb, and so forth):
  838. <literallayout class='monospaced'>
  839. $ sudo sh -c “echo cfq > /sys/block/<replaceable>device</replaceable>/queu/scheduler
  840. </literallayout>
  841. </note>
  842. </para>
  843. </glossdef>
  844. </glossentry>
  845. <glossentry id='var-BB_TASK_NICE_LEVEL'><glossterm>BB_TASK_NICE_LEVEL</glossterm>
  846. <glossdef>
  847. <para>
  848. Allows specific tasks to change their priority
  849. (i.e. nice level).
  850. </para>
  851. <para>
  852. You can use this variable in combination with task
  853. overrides to raise or lower priorities of specific tasks.
  854. For example, on the
  855. <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink>
  856. autobuilder, QEMU emulation in images is given a higher
  857. priority as compared to build tasks to ensure that images
  858. do not suffer timeouts on loaded systems.
  859. </para>
  860. </glossdef>
  861. </glossentry>
  862. <glossentry id='var-BB_TASKHASH'><glossterm>BB_TASKHASH</glossterm>
  863. <glossdef>
  864. <para>
  865. Within an executing task, this variable holds the hash
  866. of the task as returned by the currently enabled
  867. signature generator.
  868. </para>
  869. </glossdef>
  870. </glossentry>
  871. <glossentry id='var-BB_VERBOSE_LOGS'><glossterm>BB_VERBOSE_LOGS</glossterm>
  872. <glossdef>
  873. <para>
  874. Controls how verbose BitBake is during builds.
  875. If set, shell scripts echo commands and shell script output
  876. appears on standard out (stdout).
  877. </para>
  878. </glossdef>
  879. </glossentry>
  880. <glossentry id='var-BB_WORKERCONTEXT'><glossterm>BB_WORKERCONTEXT</glossterm>
  881. <glossdef>
  882. <para>
  883. Specifies if the current context is executing a task.
  884. BitBake sets this variable to "1" when a task is
  885. being executed.
  886. The value is not set when the task is in server context
  887. during parsing or event handling.
  888. </para>
  889. </glossdef>
  890. </glossentry>
  891. <glossentry id='var-BBCLASSEXTEND'><glossterm>BBCLASSEXTEND</glossterm>
  892. <glossdef>
  893. <para>
  894. Allows you to extend a recipe so that it builds variants
  895. of the software.
  896. Some examples of these variants for recipes from the
  897. OpenEmbedded-Core metadata are "natives" such as
  898. <filename>quilt-native</filename>, which is a copy of
  899. Quilt built to run on the build system; "crosses" such
  900. as <filename>gcc-cross</filename>, which is a compiler
  901. built to run on the build machine but produces binaries
  902. that run on the target <filename>MACHINE</filename>;
  903. "nativesdk", which targets the SDK machine instead of
  904. <filename>MACHINE</filename>; and "mulitlibs" in the form
  905. "<filename>multilib:</filename><replaceable>multilib_name</replaceable>".
  906. </para>
  907. <para>
  908. To build a different variant of the recipe with a minimal
  909. amount of code, it usually is as simple as adding the
  910. variable to your recipe.
  911. Here are two examples.
  912. The "native" variants are from the OpenEmbedded-Core
  913. metadata:
  914. <literallayout class='monospaced'>
  915. BBCLASSEXTEND =+ "native nativesdk"
  916. BBCLASSEXTEND =+ "multilib:<replaceable>multilib_name</replaceable>"
  917. </literallayout>
  918. <note>
  919. <para>
  920. Internally, the <filename>BBCLASSEXTEND</filename>
  921. mechanism generates recipe variants by rewriting
  922. variable values and applying overrides such as
  923. <filename>_class-native</filename>.
  924. For example, to generate a native version of a recipe,
  925. a
  926. <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
  927. on "foo" is rewritten to a <filename>DEPENDS</filename>
  928. on "foo-native".
  929. </para>
  930. <para>
  931. Even when using <filename>BBCLASSEXTEND</filename>, the
  932. recipe is only parsed once.
  933. Parsing once adds some limitations.
  934. For example, it is not possible to
  935. include a different file depending on the variant,
  936. since <filename>include</filename> statements are
  937. processed when the recipe is parsed.
  938. </para>
  939. </note>
  940. </para>
  941. </glossdef>
  942. </glossentry>
  943. <glossentry id='var-BBDEBUG'><glossterm>BBDEBUG</glossterm>
  944. <glossdef>
  945. <para>
  946. Sets the BitBake debug output level to a specific value
  947. as incremented by the <filename>-D</filename> command line
  948. option.
  949. <note>
  950. You must set this variable in the external environment
  951. in order for it to work.
  952. </note>
  953. </para>
  954. </glossdef>
  955. </glossentry>
  956. <glossentry id='var-BBFILE_COLLECTIONS'><glossterm>BBFILE_COLLECTIONS</glossterm>
  957. <glossdef>
  958. <para>Lists the names of configured layers.
  959. These names are used to find the other <filename>BBFILE_*</filename>
  960. variables.
  961. Typically, each layer appends its name to this variable in its
  962. <filename>conf/layer.conf</filename> file.
  963. </para>
  964. </glossdef>
  965. </glossentry>
  966. <glossentry id='var-BBFILE_PATTERN'><glossterm>BBFILE_PATTERN</glossterm>
  967. <glossdef>
  968. <para>Variable that expands to match files from
  969. <link linkend='var-BBFILES'><filename>BBFILES</filename></link>
  970. in a particular layer.
  971. This variable is used in the <filename>conf/layer.conf</filename> file and must
  972. be suffixed with the name of the specific layer (e.g.
  973. <filename>BBFILE_PATTERN_emenlow</filename>).</para>
  974. </glossdef>
  975. </glossentry>
  976. <glossentry id='var-BBFILE_PRIORITY'><glossterm>BBFILE_PRIORITY</glossterm>
  977. <glossdef>
  978. <para>Assigns the priority for recipe files in each layer.</para>
  979. <para>This variable is useful in situations where the same recipe appears in
  980. more than one layer.
  981. Setting this variable allows you to prioritize a
  982. layer against other layers that contain the same recipe - effectively
  983. letting you control the precedence for the multiple layers.
  984. The precedence established through this variable stands regardless of a
  985. recipe's version
  986. (<link linkend='var-PV'><filename>PV</filename></link> variable).
  987. For example, a layer that has a recipe with a higher <filename>PV</filename> value but for
  988. which the <filename>BBFILE_PRIORITY</filename> is set to have a lower precedence still has a
  989. lower precedence.</para>
  990. <para>A larger value for the <filename>BBFILE_PRIORITY</filename> variable results in a higher
  991. precedence.
  992. For example, the value 6 has a higher precedence than the value 5.
  993. If not specified, the <filename>BBFILE_PRIORITY</filename> variable is set based on layer
  994. dependencies (see the
  995. <filename><link linkend='var-LAYERDEPENDS'>LAYERDEPENDS</link></filename> variable for
  996. more information.
  997. The default priority, if unspecified
  998. for a layer with no dependencies, is the lowest defined priority + 1
  999. (or 1 if no priorities are defined).</para>
  1000. <tip>
  1001. You can use the command <filename>bitbake-layers show-layers</filename> to list
  1002. all configured layers along with their priorities.
  1003. </tip>
  1004. </glossdef>
  1005. </glossentry>
  1006. <glossentry id='var-BBFILES'><glossterm>BBFILES</glossterm>
  1007. <glossdef>
  1008. <para>
  1009. A space-separated list of recipe files BitBake uses to
  1010. build software.
  1011. </para>
  1012. <para>
  1013. When specifying recipe files, you can pattern match using
  1014. Python's
  1015. <ulink url='https://docs.python.org/3/library/glob.html'><filename>glob</filename></ulink>
  1016. syntax.
  1017. For details on the syntax, see the documentation by
  1018. following the previous link.
  1019. </para>
  1020. </glossdef>
  1021. </glossentry>
  1022. <glossentry id='var-BBINCLUDED'><glossterm>BBINCLUDED</glossterm>
  1023. <glossdef>
  1024. <para>
  1025. Contains a space-separated list of all of all files that
  1026. BitBake's parser included during parsing of the current
  1027. file.
  1028. </para>
  1029. </glossdef>
  1030. </glossentry>
  1031. <glossentry id='var-BBINCLUDELOGS'><glossterm>BBINCLUDELOGS</glossterm>
  1032. <glossdef>
  1033. <para>
  1034. If set to a value, enables printing the task log when
  1035. reporting a failed task.
  1036. </para>
  1037. </glossdef>
  1038. </glossentry>
  1039. <glossentry id='var-BBINCLUDELOGS_LINES'><glossterm>BBINCLUDELOGS_LINES</glossterm>
  1040. <glossdef>
  1041. <para>
  1042. If
  1043. <link linkend='var-BBINCLUDELOGS'><filename>BBINCLUDELOGS</filename></link>
  1044. is set, specifies the maximum number of lines from the
  1045. task log file to print when reporting a failed task.
  1046. If you do not set <filename>BBINCLUDELOGS_LINES</filename>,
  1047. the entire log is printed.
  1048. </para>
  1049. </glossdef>
  1050. </glossentry>
  1051. <glossentry id='var-BBLAYERS'><glossterm>BBLAYERS</glossterm>
  1052. <glossdef>
  1053. <para>Lists the layers to enable during the build.
  1054. This variable is defined in the <filename>bblayers.conf</filename> configuration
  1055. file in the build directory.
  1056. Here is an example:
  1057. <literallayout class='monospaced'>
  1058. BBLAYERS = " \
  1059. /home/scottrif/poky/meta \
  1060. /home/scottrif/poky/meta-yocto \
  1061. /home/scottrif/poky/meta-yocto-bsp \
  1062. /home/scottrif/poky/meta-mykernel \
  1063. "
  1064. </literallayout>
  1065. This example enables four layers, one of which is a custom, user-defined layer
  1066. named <filename>meta-mykernel</filename>.
  1067. </para>
  1068. </glossdef>
  1069. </glossentry>
  1070. <glossentry id='var-BBLAYERS_FETCH_DIR'><glossterm>BBLAYERS_FETCH_DIR</glossterm>
  1071. <glossdef>
  1072. <para>
  1073. Sets the base location where layers are stored.
  1074. This setting is used in conjunction with
  1075. <filename>bitbake-layers layerindex-fetch</filename> and
  1076. tells <filename>bitbake-layers</filename> where to place
  1077. the fetched layers.
  1078. </para>
  1079. </glossdef>
  1080. </glossentry>
  1081. <glossentry id='var-BBMASK'><glossterm>BBMASK</glossterm>
  1082. <glossdef>
  1083. <para>
  1084. Prevents BitBake from processing recipes and recipe
  1085. append files.
  1086. </para>
  1087. <para>
  1088. You can use the <filename>BBMASK</filename> variable
  1089. to "hide" these <filename>.bb</filename> and
  1090. <filename>.bbappend</filename> files.
  1091. BitBake ignores any recipe or recipe append files that
  1092. match any of the expressions.
  1093. It is as if BitBake does not see them at all.
  1094. Consequently, matching files are not parsed or otherwise
  1095. used by BitBake.
  1096. </para>
  1097. <para>
  1098. The values you provide are passed to Python's regular
  1099. expression compiler.
  1100. Consequently, the syntax follows Python's Regular
  1101. Expression (re) syntax.
  1102. The expressions are compared against the full paths to
  1103. the files.
  1104. For complete syntax information, see Python's
  1105. documentation at
  1106. <ulink url='http://docs.python.org/3/library/re.html#re'></ulink>.
  1107. </para>
  1108. <para>
  1109. The following example uses a complete regular expression
  1110. to tell BitBake to ignore all recipe and recipe append
  1111. files in the <filename>meta-ti/recipes-misc/</filename>
  1112. directory:
  1113. <literallayout class='monospaced'>
  1114. BBMASK = "meta-ti/recipes-misc/"
  1115. </literallayout>
  1116. If you want to mask out multiple directories or recipes,
  1117. you can specify multiple regular expression fragments.
  1118. This next example masks out multiple directories and
  1119. individual recipes:
  1120. <literallayout class='monospaced'>
  1121. BBMASK += "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/"
  1122. BBMASK += "/meta-oe/recipes-support/"
  1123. BBMASK += "/meta-foo/.*/openldap"
  1124. BBMASK += "opencv.*\.bbappend"
  1125. BBMASK += "lzma"
  1126. </literallayout>
  1127. <note>
  1128. When specifying a directory name, use the trailing
  1129. slash character to ensure you match just that directory
  1130. name.
  1131. </note>
  1132. </para>
  1133. </glossdef>
  1134. </glossentry>
  1135. <glossentry id='var-BBMULTICONFIG'><glossterm>BBMULTICONFIG</glossterm>
  1136. <info>
  1137. BBMULTICONFIG[doc] = "Enables BitBake to perform multiple configuration builds and lists each separate configuration (multiconfig)."
  1138. </info>
  1139. <glossdef>
  1140. <para role="glossdeffirst">
  1141. <!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
  1142. Enables BitBake to perform multiple configuration builds
  1143. and lists each separate configuration (multiconfig).
  1144. You can use this variable to cause BitBake to build
  1145. multiple targets where each target has a separate
  1146. configuration.
  1147. Define <filename>BBMULTICONFIG</filename> in your
  1148. <filename>conf/local.conf</filename> configuration file.
  1149. </para>
  1150. <para>
  1151. As an example, the following line specifies three
  1152. multiconfigs, each having a separate configuration file:
  1153. <literallayout class='monospaced'>
  1154. BBMULTIFONFIG = "configA configB configC"
  1155. </literallayout>
  1156. Each configuration file you use must reside in the
  1157. build directory within a directory named
  1158. <filename>conf/multiconfig</filename> (e.g.
  1159. <replaceable>build_directory</replaceable><filename>/conf/multiconfig/configA.conf</filename>).
  1160. </para>
  1161. <para>
  1162. For information on how to use
  1163. <filename>BBMULTICONFIG</filename> in an environment that
  1164. supports building targets with multiple configurations,
  1165. see the
  1166. "<link linkend='executing-a-multiple-configuration-build'>Executing a Multiple Configuration Build</link>"
  1167. section.
  1168. </para>
  1169. </glossdef>
  1170. </glossentry>
  1171. <glossentry id='var-BBPATH'><glossterm>BBPATH</glossterm>
  1172. <glossdef>
  1173. <para>
  1174. Used by BitBake to locate class
  1175. (<filename>.bbclass</filename>) and configuration
  1176. (<filename>.conf</filename>) files.
  1177. This variable is analogous to the
  1178. <filename>PATH</filename> variable.
  1179. </para>
  1180. <para>
  1181. If you run BitBake from a directory outside of the
  1182. build directory,
  1183. you must be sure to set
  1184. <filename>BBPATH</filename> to point to the
  1185. build directory.
  1186. Set the variable as you would any environment variable
  1187. and then run BitBake:
  1188. <literallayout class='monospaced'>
  1189. $ BBPATH="<replaceable>build_directory</replaceable>"
  1190. $ export BBPATH
  1191. $ bitbake <replaceable>target</replaceable>
  1192. </literallayout>
  1193. </para>
  1194. </glossdef>
  1195. </glossentry>
  1196. <glossentry id='var-BBSERVER'><glossterm>BBSERVER</glossterm>
  1197. <glossdef>
  1198. <para>
  1199. Points to the server that runs memory-resident BitBake.
  1200. The variable is only used when you employ memory-resident
  1201. BitBake.
  1202. </para>
  1203. </glossdef>
  1204. </glossentry>
  1205. <glossentry id='var-BBTARGETS'><glossterm>BBTARGETS</glossterm>
  1206. <glossdef>
  1207. <para>
  1208. Allows you to use a configuration file to add to the list
  1209. of command-line target recipes you want to build.
  1210. </para>
  1211. </glossdef>
  1212. </glossentry>
  1213. <glossentry id='var-BBVERSIONS'><glossterm>BBVERSIONS</glossterm>
  1214. <glossdef>
  1215. <para>
  1216. Allows a single recipe to build multiple versions of a
  1217. project from a single recipe file.
  1218. You also able to specify conditional metadata
  1219. using the
  1220. <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
  1221. mechanism for a single version or for an optionally named
  1222. range of versions.
  1223. </para>
  1224. <para>
  1225. For more information on <filename>BBVERSIONS</filename>,
  1226. see the
  1227. "<link linkend='variants-class-extension-mechanism'>Variants - Class Extension Mechanism</link>"
  1228. section.
  1229. </para>
  1230. </glossdef>
  1231. </glossentry>
  1232. <glossentry id='var-BITBAKE_UI'><glossterm>BITBAKE_UI</glossterm>
  1233. <glossdef>
  1234. <para>
  1235. Used to specify the UI module to use when running BitBake.
  1236. Using this variable is equivalent to using the
  1237. <filename>-u</filename> command-line option.
  1238. <note>
  1239. You must set this variable in the external environment
  1240. in order for it to work.
  1241. </note>
  1242. </para>
  1243. </glossdef>
  1244. </glossentry>
  1245. <glossentry id='var-BUILDNAME'><glossterm>BUILDNAME</glossterm>
  1246. <glossdef>
  1247. <para>
  1248. A name assigned to the build.
  1249. The name defaults to a datetime stamp of when the build was
  1250. started but can be defined by the metadata.
  1251. </para>
  1252. </glossdef>
  1253. </glossentry>
  1254. <glossentry id='var-BZRDIR'><glossterm>BZRDIR</glossterm>
  1255. <glossdef>
  1256. <para>
  1257. The directory in which files checked out of a Bazaar
  1258. system are stored.
  1259. </para>
  1260. </glossdef>
  1261. </glossentry>
  1262. </glossdiv>
  1263. <glossdiv id='var-glossary-c'><title>C</title>
  1264. <glossentry id='var-CACHE'><glossterm>CACHE</glossterm>
  1265. <glossdef>
  1266. <para>
  1267. Specifies the directory BitBake uses to store a cache
  1268. of the metadata so it does not need to be parsed every
  1269. time BitBake is started.
  1270. </para>
  1271. </glossdef>
  1272. </glossentry>
  1273. <glossentry id='var-CVSDIR'><glossterm>CVSDIR</glossterm>
  1274. <glossdef>
  1275. <para>
  1276. The directory in which files checked out under the
  1277. CVS system are stored.
  1278. </para>
  1279. </glossdef>
  1280. </glossentry>
  1281. </glossdiv>
  1282. <glossdiv id='var-glossary-d'><title>D</title>
  1283. <glossentry id='var-DEFAULT_PREFERENCE'><glossterm>DEFAULT_PREFERENCE</glossterm>
  1284. <glossdef>
  1285. <para>
  1286. Specifies a weak bias for recipe selection priority.
  1287. </para>
  1288. <para>
  1289. The most common usage of this is variable is to set
  1290. it to "-1" within a recipe for a development version of a
  1291. piece of software.
  1292. Using the variable in this way causes the stable version
  1293. of the recipe to build by default in the absence of
  1294. <filename><link linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></filename>
  1295. being used to build the development version.
  1296. </para>
  1297. <note>
  1298. The bias provided by <filename>DEFAULT_PREFERENCE</filename>
  1299. is weak and is overridden by
  1300. <filename><link linkend='var-BBFILE_PRIORITY'>BBFILE_PRIORITY</link></filename>
  1301. if that variable is different between two layers
  1302. that contain different versions of the same recipe.
  1303. </note>
  1304. </glossdef>
  1305. </glossentry>
  1306. <glossentry id='var-DEPENDS'><glossterm>DEPENDS</glossterm>
  1307. <glossdef>
  1308. <para>
  1309. Lists a recipe's build-time dependencies
  1310. (i.e. other recipe files).
  1311. </para>
  1312. <para>
  1313. Consider this simple example for two recipes named "a" and
  1314. "b" that produce similarly named packages.
  1315. In this example, the <filename>DEPENDS</filename>
  1316. statement appears in the "a" recipe:
  1317. <literallayout class='monospaced'>
  1318. DEPENDS = "b"
  1319. </literallayout>
  1320. Here, the dependency is such that the
  1321. <filename>do_configure</filename> task for recipe "a"
  1322. depends on the <filename>do_populate_sysroot</filename>
  1323. task of recipe "b".
  1324. This means anything that recipe "b" puts into sysroot
  1325. is available when recipe "a" is configuring itself.
  1326. </para>
  1327. <para>
  1328. For information on runtime dependencies, see the
  1329. <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
  1330. variable.
  1331. </para>
  1332. </glossdef>
  1333. </glossentry>
  1334. <glossentry id='var-DESCRIPTION'><glossterm>DESCRIPTION</glossterm>
  1335. <glossdef>
  1336. <para>
  1337. A long description for the recipe.
  1338. </para>
  1339. </glossdef>
  1340. </glossentry>
  1341. <glossentry id='var-DL_DIR'><glossterm>DL_DIR</glossterm>
  1342. <glossdef>
  1343. <para>
  1344. The central download directory used by the build process to
  1345. store downloads.
  1346. By default, <filename>DL_DIR</filename> gets files
  1347. suitable for mirroring for everything except Git
  1348. repositories.
  1349. If you want tarballs of Git repositories, use the
  1350. <link linkend='var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></link>
  1351. variable.
  1352. </para>
  1353. </glossdef>
  1354. </glossentry>
  1355. </glossdiv>
  1356. <glossdiv id='var-glossary-e'><title>E</title>
  1357. <glossentry id='var-EXCLUDE_FROM_WORLD'><glossterm>EXCLUDE_FROM_WORLD</glossterm>
  1358. <glossdef>
  1359. <para>
  1360. Directs BitBake to exclude a recipe from world builds (i.e.
  1361. <filename>bitbake world</filename>).
  1362. During world builds, BitBake locates, parses and builds all
  1363. recipes found in every layer exposed in the
  1364. <filename>bblayers.conf</filename> configuration file.
  1365. </para>
  1366. <para>
  1367. To exclude a recipe from a world build using this variable,
  1368. set the variable to "1" in the recipe.
  1369. </para>
  1370. <note>
  1371. Recipes added to <filename>EXCLUDE_FROM_WORLD</filename>
  1372. may still be built during a world build in order to satisfy
  1373. dependencies of other recipes.
  1374. Adding a recipe to <filename>EXCLUDE_FROM_WORLD</filename>
  1375. only ensures that the recipe is not explicitly added
  1376. to the list of build targets in a world build.
  1377. </note>
  1378. </glossdef>
  1379. </glossentry>
  1380. </glossdiv>
  1381. <glossdiv id='var-glossary-f'><title>F</title>
  1382. <glossentry id='var-FAKEROOT'><glossterm>FAKEROOT</glossterm>
  1383. <glossdef>
  1384. <para>
  1385. Contains the command to use when running a shell script
  1386. in a fakeroot environment.
  1387. The <filename>FAKEROOT</filename> variable is obsolete
  1388. and has been replaced by the other
  1389. <filename>FAKEROOT*</filename> variables.
  1390. See these entries in the glossary for more information.
  1391. </para>
  1392. </glossdef>
  1393. </glossentry>
  1394. <glossentry id='var-FAKEROOTBASEENV'><glossterm>FAKEROOTBASEENV</glossterm>
  1395. <glossdef>
  1396. <para>
  1397. Lists environment variables to set when executing
  1398. the command defined by
  1399. <link linkend='var-FAKEROOTCMD'><filename>FAKEROOTCMD</filename></link>
  1400. that starts the bitbake-worker process
  1401. in the fakeroot environment.
  1402. </para>
  1403. </glossdef>
  1404. </glossentry>
  1405. <glossentry id='var-FAKEROOTCMD'><glossterm>FAKEROOTCMD</glossterm>
  1406. <glossdef>
  1407. <para>
  1408. Contains the command that starts the bitbake-worker
  1409. process in the fakeroot environment.
  1410. </para>
  1411. </glossdef>
  1412. </glossentry>
  1413. <glossentry id='var-FAKEROOTDIRS'><glossterm>FAKEROOTDIRS</glossterm>
  1414. <glossdef>
  1415. <para>
  1416. Lists directories to create before running a task in
  1417. the fakeroot environment.
  1418. </para>
  1419. </glossdef>
  1420. </glossentry>
  1421. <glossentry id='var-FAKEROOTENV'><glossterm>FAKEROOTENV</glossterm>
  1422. <glossdef>
  1423. <para>
  1424. Lists environment variables to set when running a task
  1425. in the fakeroot environment.
  1426. For additional information on environment variables and
  1427. the fakeroot environment, see the
  1428. <link linkend='var-FAKEROOTBASEENV'><filename>FAKEROOTBASEENV</filename></link>
  1429. variable.
  1430. </para>
  1431. </glossdef>
  1432. </glossentry>
  1433. <glossentry id='var-FAKEROOTNOENV'><glossterm>FAKEROOTNOENV</glossterm>
  1434. <glossdef>
  1435. <para>
  1436. Lists environment variables to set when running a task
  1437. that is not in the fakeroot environment.
  1438. For additional information on environment variables and
  1439. the fakeroot environment, see the
  1440. <link linkend='var-FAKEROOTENV'><filename>FAKEROOTENV</filename></link>
  1441. variable.
  1442. </para>
  1443. </glossdef>
  1444. </glossentry>
  1445. <glossentry id='var-FETCHCMD'><glossterm>FETCHCMD</glossterm>
  1446. <glossdef>
  1447. <para>
  1448. Defines the command the BitBake fetcher module
  1449. executes when running fetch operations.
  1450. You need to use an override suffix when you use the
  1451. variable (e.g. <filename>FETCHCMD_git</filename>
  1452. or <filename>FETCHCMD_svn</filename>).
  1453. </para>
  1454. </glossdef>
  1455. </glossentry>
  1456. <glossentry id='var-FILE'><glossterm>FILE</glossterm>
  1457. <glossdef>
  1458. <para>
  1459. Points at the current file.
  1460. BitBake sets this variable during the parsing process
  1461. to identify the file being parsed.
  1462. BitBake also sets this variable when a recipe is being
  1463. executed to identify the recipe file.
  1464. </para>
  1465. </glossdef>
  1466. </glossentry>
  1467. <glossentry id='var-FILESPATH'><glossterm>FILESPATH</glossterm>
  1468. <glossdef>
  1469. <para>
  1470. Specifies directories BitBake uses when searching for
  1471. patches and files.
  1472. The "local" fetcher module uses these directories when
  1473. handling <filename>file://</filename> URLs.
  1474. The variable behaves like a shell <filename>PATH</filename>
  1475. environment variable.
  1476. The value is a colon-separated list of directories that
  1477. are searched left-to-right in order.
  1478. </para>
  1479. </glossdef>
  1480. </glossentry>
  1481. </glossdiv>
  1482. <glossdiv id='var-glossary-g'><title>G</title>
  1483. <glossentry id='var-GITDIR'><glossterm>GITDIR</glossterm>
  1484. <glossdef>
  1485. <para>
  1486. The directory in which a local copy of a Git repository
  1487. is stored when it is cloned.
  1488. </para>
  1489. </glossdef>
  1490. </glossentry>
  1491. </glossdiv>
  1492. <glossdiv id='var-glossary-h'><title>H</title>
  1493. <glossentry id='var-HGDIR'><glossterm>HGDIR</glossterm>
  1494. <glossdef>
  1495. <para>
  1496. The directory in which files checked out of a Mercurial
  1497. system are stored.
  1498. </para>
  1499. </glossdef>
  1500. </glossentry>
  1501. <glossentry id='var-HOMEPAGE'><glossterm>HOMEPAGE</glossterm>
  1502. <glossdef>
  1503. <para>Website where more information about the software the recipe is building
  1504. can be found.</para>
  1505. </glossdef>
  1506. </glossentry>
  1507. </glossdiv>
  1508. <glossdiv id='var-glossary-i'><title>I</title>
  1509. <glossentry id='var-INHERIT'><glossterm>INHERIT</glossterm>
  1510. <glossdef>
  1511. <para>
  1512. Causes the named class or classes to be inherited globally.
  1513. Anonymous functions in the class or classes
  1514. are not executed for the
  1515. base configuration and in each individual recipe.
  1516. The OpenEmbedded build system ignores changes to
  1517. <filename>INHERIT</filename> in individual recipes.
  1518. </para>
  1519. <para>
  1520. For more information on <filename>INHERIT</filename>, see
  1521. the
  1522. "<link linkend="inherit-configuration-directive"><filename>INHERIT</filename> Configuration Directive</link>"
  1523. section.
  1524. </para>
  1525. </glossdef>
  1526. </glossentry>
  1527. </glossdiv>
  1528. <!--
  1529. <glossdiv id='var-glossary-j'><title>J</title>
  1530. </glossdiv>
  1531. <glossdiv id='var-glossary-k'><title>K</title>
  1532. </glossdiv>
  1533. -->
  1534. <glossdiv id='var-glossary-l'><title>L</title>
  1535. <glossentry id='var-LAYERDEPENDS'><glossterm>LAYERDEPENDS</glossterm>
  1536. <glossdef>
  1537. <para>Lists the layers, separated by spaces, upon which this recipe depends.
  1538. Optionally, you can specify a specific layer version for a dependency
  1539. by adding it to the end of the layer name with a colon, (e.g. "anotherlayer:3"
  1540. to be compared against
  1541. <link linkend='var-LAYERVERSION'><filename>LAYERVERSION</filename></link><filename>_anotherlayer</filename>
  1542. in this case).
  1543. BitBake produces an error if any dependency is missing or
  1544. the version numbers do not match exactly (if specified).</para>
  1545. <para>
  1546. You use this variable in the <filename>conf/layer.conf</filename> file.
  1547. You must also use the specific layer name as a suffix
  1548. to the variable (e.g. <filename>LAYERDEPENDS_mylayer</filename>).</para>
  1549. </glossdef>
  1550. </glossentry>
  1551. <glossentry id='var-LAYERDIR'><glossterm>LAYERDIR</glossterm>
  1552. <glossdef>
  1553. <para>When used inside the <filename>layer.conf</filename> configuration
  1554. file, this variable provides the path of the current layer.
  1555. This variable is not available outside of <filename>layer.conf</filename>
  1556. and references are expanded immediately when parsing of the file completes.</para>
  1557. </glossdef>
  1558. </glossentry>
  1559. <glossentry id='var-LAYERDIR_RE'><glossterm>LAYERDIR_RE</glossterm>
  1560. <glossdef>
  1561. <para>When used inside the <filename>layer.conf</filename> configuration
  1562. file, this variable provides the path of the current layer,
  1563. escaped for use in a regular expression
  1564. (<link linkend='var-BBFILE_PATTERN'><filename>BBFILE_PATTERN</filename></link>).
  1565. This variable is not available outside of <filename>layer.conf</filename>
  1566. and references are expanded immediately when parsing of the file completes.</para>
  1567. </glossdef>
  1568. </glossentry>
  1569. <glossentry id='var-LAYERVERSION'><glossterm>LAYERVERSION</glossterm>
  1570. <glossdef>
  1571. <para>Optionally specifies the version of a layer as a single number.
  1572. You can use this variable within
  1573. <link linkend='var-LAYERDEPENDS'><filename>LAYERDEPENDS</filename></link>
  1574. for another layer in order to depend on a specific version
  1575. of the layer.</para>
  1576. <para>
  1577. You use this variable in the <filename>conf/layer.conf</filename> file.
  1578. You must also use the specific layer name as a suffix
  1579. to the variable (e.g. <filename>LAYERDEPENDS_mylayer</filename>).</para>
  1580. </glossdef>
  1581. </glossentry>
  1582. <glossentry id='var-LICENSE'><glossterm>LICENSE</glossterm>
  1583. <glossdef>
  1584. <para>
  1585. The list of source licenses for the recipe.
  1586. </para>
  1587. </glossdef>
  1588. </glossentry>
  1589. </glossdiv>
  1590. <glossdiv id='var-glossary-m'><title>M</title>
  1591. <glossentry id='var-MIRRORS'><glossterm>MIRRORS</glossterm>
  1592. <glossdef>
  1593. <para>
  1594. Specifies additional paths from which BitBake gets source code.
  1595. When the build system searches for source code, it first
  1596. tries the local download directory.
  1597. If that location fails, the build system tries locations
  1598. defined by
  1599. <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>,
  1600. the upstream source, and then locations specified by
  1601. <filename>MIRRORS</filename> in that order.
  1602. </para>
  1603. </glossdef>
  1604. </glossentry>
  1605. <glossentry id='var-MULTI_PROVIDER_WHITELIST'><glossterm>MULTI_PROVIDER_WHITELIST</glossterm>
  1606. <glossdef>
  1607. <para>
  1608. Allows you to suppress BitBake warnings caused when
  1609. building two separate recipes that provide the same
  1610. output.
  1611. </para>
  1612. <para>
  1613. Bitbake normally issues a warning when building two
  1614. different recipes where each provides the same output.
  1615. This scenario is usually something the user does not
  1616. want.
  1617. However, cases do exist where it makes sense, particularly
  1618. in the <filename>virtual/*</filename> namespace.
  1619. You can use this variable to suppress BitBake's warnings.
  1620. </para>
  1621. <para>
  1622. To use the variable, list provider names (e.g.
  1623. recipe names, <filename>virtual/kernel</filename>,
  1624. and so forth).
  1625. </para>
  1626. </glossdef>
  1627. </glossentry>
  1628. </glossdiv>
  1629. <!--
  1630. <glossdiv id='var-glossary-n'><title>N</title>
  1631. </glossdiv>
  1632. -->
  1633. <glossdiv id='var-glossary-o'><title>O</title>
  1634. <glossentry id='var-OVERRIDES'><glossterm>OVERRIDES</glossterm>
  1635. <glossdef>
  1636. <para>
  1637. BitBake uses <filename>OVERRIDES</filename> to control
  1638. what variables are overridden after BitBake parses
  1639. recipes and configuration files.
  1640. </para>
  1641. <para>
  1642. Following is a simple example that uses an overrides
  1643. list based on machine architectures:
  1644. <literallayout class='monospaced'>
  1645. OVERRIDES = "arm:x86:mips:powerpc"
  1646. </literallayout>
  1647. You can find information on how to use
  1648. <filename>OVERRIDES</filename> in the
  1649. "<link linkend='conditional-syntax-overrides'>Conditional Syntax (Overrides)</link>"
  1650. section.
  1651. </para>
  1652. </glossdef>
  1653. </glossentry>
  1654. </glossdiv>
  1655. <glossdiv id='var-glossary-p'><title>P</title>
  1656. <glossentry id='var-P4DIR'><glossterm>P4DIR</glossterm>
  1657. <glossdef>
  1658. <para>
  1659. The directory in which a local copy of a Perforce depot
  1660. is stored when it is fetched.
  1661. </para>
  1662. </glossdef>
  1663. </glossentry>
  1664. <glossentry id='var-PACKAGES'><glossterm>PACKAGES</glossterm>
  1665. <glossdef>
  1666. <para>The list of packages the recipe creates.
  1667. </para>
  1668. </glossdef>
  1669. </glossentry>
  1670. <glossentry id='var-PACKAGES_DYNAMIC'><glossterm>PACKAGES_DYNAMIC</glossterm>
  1671. <glossdef>
  1672. <para>
  1673. A promise that your recipe satisfies runtime dependencies
  1674. for optional modules that are found in other recipes.
  1675. <filename>PACKAGES_DYNAMIC</filename>
  1676. does not actually satisfy the dependencies, it only states that
  1677. they should be satisfied.
  1678. For example, if a hard, runtime dependency
  1679. (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>)
  1680. of another package is satisfied during the build
  1681. through the <filename>PACKAGES_DYNAMIC</filename>
  1682. variable, but a package with the module name is never actually
  1683. produced, then the other package will be broken.
  1684. </para>
  1685. </glossdef>
  1686. </glossentry>
  1687. <glossentry id='var-PE'><glossterm>PE</glossterm>
  1688. <glossdef>
  1689. <para>
  1690. The epoch of the recipe.
  1691. By default, this variable is unset.
  1692. The variable is used to make upgrades possible when the
  1693. versioning scheme changes in some backwards incompatible
  1694. way.
  1695. </para>
  1696. </glossdef>
  1697. </glossentry>
  1698. <glossentry id='var-PERSISTENT_DIR'><glossterm>PERSISTENT_DIR</glossterm>
  1699. <glossdef>
  1700. <para>
  1701. Specifies the directory BitBake uses to store data that
  1702. should be preserved between builds.
  1703. In particular, the data stored is the data that uses
  1704. BitBake's persistent data API and the data used by the
  1705. PR Server and PR Service.
  1706. </para>
  1707. </glossdef>
  1708. </glossentry>
  1709. <glossentry id='var-PF'><glossterm>PF</glossterm>
  1710. <glossdef>
  1711. <para>
  1712. Specifies the recipe or package name and includes all version and revision
  1713. numbers (i.e. <filename>eglibc-2.13-r20+svnr15508/</filename> and
  1714. <filename>bash-4.2-r1/</filename>).
  1715. </para>
  1716. </glossdef>
  1717. </glossentry>
  1718. <glossentry id='var-PN'><glossterm>PN</glossterm>
  1719. <glossdef>
  1720. <para>The recipe name.</para>
  1721. </glossdef>
  1722. </glossentry>
  1723. <glossentry id='var-PR'><glossterm>PR</glossterm>
  1724. <glossdef>
  1725. <para>The revision of the recipe.
  1726. </para>
  1727. </glossdef>
  1728. </glossentry>
  1729. <glossentry id='var-PREFERRED_PROVIDER'><glossterm>PREFERRED_PROVIDER</glossterm>
  1730. <glossdef>
  1731. <para>
  1732. Determines which recipe should be given preference when
  1733. multiple recipes provide the same item.
  1734. You should always suffix the variable with the name of the
  1735. provided item, and you should set it to the
  1736. <link linkend='var-PN'><filename>PN</filename></link>
  1737. of the recipe to which you want to give precedence.
  1738. Some examples:
  1739. <literallayout class='monospaced'>
  1740. PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
  1741. PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
  1742. PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
  1743. </literallayout>
  1744. </para>
  1745. </glossdef>
  1746. </glossentry>
  1747. <glossentry id='var-PREFERRED_PROVIDERS'><glossterm>PREFERRED_PROVIDERS</glossterm>
  1748. <glossdef>
  1749. <para>
  1750. Determines which recipe should be given preference for
  1751. cases where multiple recipes provide the same item.
  1752. Functionally,
  1753. <filename>PREFERRED_PROVIDERS</filename> is identical to
  1754. <link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>.
  1755. However, the <filename>PREFERRED_PROVIDERS</filename>
  1756. variable lets you define preferences for multiple
  1757. situations using the following form:
  1758. <literallayout class='monospaced'>
  1759. PREFERRED_PROVIDERS = "xxx:yyy aaa:bbb ..."
  1760. </literallayout>
  1761. This form is a convenient replacement for the following:
  1762. <literallayout class='monospaced'>
  1763. PREFERRED_PROVIDER_xxx = "yyy"
  1764. PREFERRED_PROVIDER_aaa = "bbb"
  1765. </literallayout>
  1766. </para>
  1767. </glossdef>
  1768. </glossentry>
  1769. <glossentry id='var-PREFERRED_VERSION'><glossterm>PREFERRED_VERSION</glossterm>
  1770. <glossdef>
  1771. <para>
  1772. If there are multiple versions of recipes available, this
  1773. variable determines which recipe should be given preference.
  1774. You must always suffix the variable with the
  1775. <link linkend='var-PN'><filename>PN</filename></link>
  1776. you want to select, and you should set
  1777. <link linkend='var-PV'><filename>PV</filename></link>
  1778. accordingly for precedence.
  1779. </para>
  1780. <para>
  1781. The <filename>PREFERRED_VERSION</filename> variable
  1782. supports limited wildcard use through the
  1783. "<filename>%</filename>" character.
  1784. You can use the character to match any number of
  1785. characters, which can be useful when specifying versions
  1786. that contain long revision numbers that potentially change.
  1787. Here are two examples:
  1788. <literallayout class='monospaced'>
  1789. PREFERRED_VERSION_python = "2.7.3"
  1790. PREFERRED_VERSION_linux-yocto = "4.12%"
  1791. </literallayout>
  1792. <note><title>Important</title>
  1793. The use of the "<filename>%</filename>" character
  1794. is limited in that it only works at the end of the
  1795. string.
  1796. You cannot use the wildcard character in any other
  1797. location of the string.
  1798. </note>
  1799. </para>
  1800. </glossdef>
  1801. </glossentry>
  1802. <glossentry id='var-PREMIRRORS'><glossterm>PREMIRRORS</glossterm>
  1803. <glossdef>
  1804. <para>
  1805. Specifies additional paths from which BitBake gets source code.
  1806. When the build system searches for source code, it first
  1807. tries the local download directory.
  1808. If that location fails, the build system tries locations
  1809. defined by <filename>PREMIRRORS</filename>, the upstream
  1810. source, and then locations specified by
  1811. <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
  1812. in that order.
  1813. </para>
  1814. <para>
  1815. Typically, you would add a specific server for the
  1816. build system to attempt before any others by adding
  1817. something like the following to your configuration:
  1818. <literallayout class='monospaced'>
  1819. PREMIRRORS_prepend = "\
  1820. git://.*/.* http://www.yoctoproject.org/sources/ \n \
  1821. ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
  1822. http://.*/.* http://www.yoctoproject.org/sources/ \n \
  1823. https://.*/.* http://www.yoctoproject.org/sources/ \n"
  1824. </literallayout>
  1825. These changes cause the build system to intercept
  1826. Git, FTP, HTTP, and HTTPS requests and direct them to
  1827. the <filename>http://</filename> sources mirror.
  1828. You can use <filename>file://</filename> URLs to point
  1829. to local directories or network shares as well.
  1830. </para>
  1831. </glossdef>
  1832. </glossentry>
  1833. <glossentry id='var-PROVIDES'><glossterm>PROVIDES</glossterm>
  1834. <glossdef>
  1835. <para>
  1836. A list of aliases by which a particular recipe can be
  1837. known.
  1838. By default, a recipe's own
  1839. <filename><link linkend='var-PN'>PN</link></filename>
  1840. is implicitly already in its <filename>PROVIDES</filename>
  1841. list.
  1842. If a recipe uses <filename>PROVIDES</filename>, the
  1843. additional aliases are synonyms for the recipe and can
  1844. be useful satisfying dependencies of other recipes during
  1845. the build as specified by
  1846. <filename><link linkend='var-DEPENDS'>DEPENDS</link></filename>.
  1847. </para>
  1848. <para>
  1849. Consider the following example
  1850. <filename>PROVIDES</filename> statement from a recipe
  1851. file <filename>libav_0.8.11.bb</filename>:
  1852. <literallayout class='monospaced'>
  1853. PROVIDES += "libpostproc"
  1854. </literallayout>
  1855. The <filename>PROVIDES</filename> statement results in
  1856. the "libav" recipe also being known as "libpostproc".
  1857. </para>
  1858. <para>
  1859. In addition to providing recipes under alternate names,
  1860. the <filename>PROVIDES</filename> mechanism is also used
  1861. to implement virtual targets.
  1862. A virtual target is a name that corresponds to some
  1863. particular functionality (e.g. a Linux kernel).
  1864. Recipes that provide the functionality in question list the
  1865. virtual target in <filename>PROVIDES</filename>.
  1866. Recipes that depend on the functionality in question can
  1867. include the virtual target in
  1868. <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
  1869. to leave the choice of provider open.
  1870. </para>
  1871. <para>
  1872. Conventionally, virtual targets have names on the form
  1873. "virtual/function" (e.g. "virtual/kernel").
  1874. The slash is simply part of the name and has no
  1875. syntactical significance.
  1876. </para>
  1877. </glossdef>
  1878. </glossentry>
  1879. <glossentry id='var-PRSERV_HOST'><glossterm>PRSERV_HOST</glossterm>
  1880. <glossdef>
  1881. <para>
  1882. The network based
  1883. <link linkend='var-PR'><filename>PR</filename></link>
  1884. service host and port.
  1885. </para>
  1886. <para>
  1887. Following is an example of how the <filename>PRSERV_HOST</filename> variable is
  1888. set:
  1889. <literallayout class='monospaced'>
  1890. PRSERV_HOST = "localhost:0"
  1891. </literallayout>
  1892. You must set the variable if you want to automatically
  1893. start a local PR service.
  1894. You can set <filename>PRSERV_HOST</filename> to other
  1895. values to use a remote PR service.
  1896. </para>
  1897. </glossdef>
  1898. </glossentry>
  1899. <glossentry id='var-PV'><glossterm>PV</glossterm>
  1900. <glossdef>
  1901. <para>The version of the recipe.
  1902. </para>
  1903. </glossdef>
  1904. </glossentry>
  1905. </glossdiv>
  1906. <!--
  1907. <glossdiv id='var-glossary-q'><title>Q</title>
  1908. </glossdiv>
  1909. -->
  1910. <glossdiv id='var-glossary-r'><title>R</title>
  1911. <glossentry id='var-RDEPENDS'><glossterm>RDEPENDS</glossterm>
  1912. <glossdef>
  1913. <para>
  1914. Lists a package's runtime dependencies (i.e. other packages)
  1915. that must be installed in order for the built package to run
  1916. correctly.
  1917. If a package in this list cannot be found during the build,
  1918. you will get a build error.
  1919. </para>
  1920. <para>
  1921. Because the <filename>RDEPENDS</filename> variable applies
  1922. to packages being built, you should always use the variable
  1923. in a form with an attached package name.
  1924. For example, suppose you are building a development package
  1925. that depends on the <filename>perl</filename> package.
  1926. In this case, you would use the following
  1927. <filename>RDEPENDS</filename> statement:
  1928. <literallayout class='monospaced'>
  1929. RDEPENDS_${PN}-dev += "perl"
  1930. </literallayout>
  1931. In the example, the development package depends on
  1932. the <filename>perl</filename> package.
  1933. Thus, the <filename>RDEPENDS</filename> variable has the
  1934. <filename>${PN}-dev</filename> package name as part of the
  1935. variable.
  1936. </para>
  1937. <para>
  1938. BitBake supports specifying versioned dependencies.
  1939. Although the syntax varies depending on the packaging
  1940. format, BitBake hides these differences from you.
  1941. Here is the general syntax to specify versions with
  1942. the <filename>RDEPENDS</filename> variable:
  1943. <literallayout class='monospaced'>
  1944. RDEPENDS_${PN} = "<replaceable>package</replaceable> (<replaceable>operator</replaceable> <replaceable>version</replaceable>)"
  1945. </literallayout>
  1946. For <filename>operator</filename>, you can specify the
  1947. following:
  1948. <literallayout class='monospaced'>
  1949. =
  1950. &lt;
  1951. &gt;
  1952. &lt;=
  1953. &gt;=
  1954. </literallayout>
  1955. For example, the following sets up a dependency on version
  1956. 1.2 or greater of the package <filename>foo</filename>:
  1957. <literallayout class='monospaced'>
  1958. RDEPENDS_${PN} = "foo (>= 1.2)"
  1959. </literallayout>
  1960. </para>
  1961. <para>
  1962. For information on build-time dependencies, see the
  1963. <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
  1964. variable.
  1965. </para>
  1966. </glossdef>
  1967. </glossentry>
  1968. <glossentry id='var-REPODIR'><glossterm>REPODIR</glossterm>
  1969. <glossdef>
  1970. <para>
  1971. The directory in which a local copy of a
  1972. <filename>google-repo</filename> directory is stored
  1973. when it is synced.
  1974. </para>
  1975. </glossdef>
  1976. </glossentry>
  1977. <glossentry id='var-RPROVIDES'><glossterm>RPROVIDES</glossterm>
  1978. <glossdef>
  1979. <para>
  1980. A list of package name aliases that a package also provides.
  1981. These aliases are useful for satisfying runtime dependencies
  1982. of other packages both during the build and on the target
  1983. (as specified by
  1984. <filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>).
  1985. </para>
  1986. <para>
  1987. As with all package-controlling variables, you must always
  1988. use the variable in conjunction with a package name override.
  1989. Here is an example:
  1990. <literallayout class='monospaced'>
  1991. RPROVIDES_${PN} = "widget-abi-2"
  1992. </literallayout>
  1993. </para>
  1994. </glossdef>
  1995. </glossentry>
  1996. <glossentry id='var-RRECOMMENDS'><glossterm>RRECOMMENDS</glossterm>
  1997. <glossdef>
  1998. <para>
  1999. A list of packages that extends the usability of a package
  2000. being built.
  2001. The package being built does not depend on this list of
  2002. packages in order to successfully build, but needs them for
  2003. the extended usability.
  2004. To specify runtime dependencies for packages, see the
  2005. <filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>
  2006. variable.
  2007. </para>
  2008. <para>
  2009. BitBake supports specifying versioned recommends.
  2010. Although the syntax varies depending on the packaging
  2011. format, BitBake hides these differences from you.
  2012. Here is the general syntax to specify versions with
  2013. the <filename>RRECOMMENDS</filename> variable:
  2014. <literallayout class='monospaced'>
  2015. RRECOMMENDS_${PN} = "<replaceable>package</replaceable> (<replaceable>operator</replaceable> <replaceable>version</replaceable>)"
  2016. </literallayout>
  2017. For <filename>operator</filename>, you can specify the
  2018. following:
  2019. <literallayout class='monospaced'>
  2020. =
  2021. &lt;
  2022. &gt;
  2023. &lt;=
  2024. &gt;=
  2025. </literallayout>
  2026. For example, the following sets up a recommend on version
  2027. 1.2 or greater of the package <filename>foo</filename>:
  2028. <literallayout class='monospaced'>
  2029. RRECOMMENDS_${PN} = "foo (>= 1.2)"
  2030. </literallayout>
  2031. </para>
  2032. </glossdef>
  2033. </glossentry>
  2034. </glossdiv>
  2035. <glossdiv id='var-glossary-s'><title>S</title>
  2036. <glossentry id='var-SECTION'><glossterm>SECTION</glossterm>
  2037. <glossdef>
  2038. <para>The section in which packages should be categorized.</para>
  2039. </glossdef>
  2040. </glossentry>
  2041. <glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
  2042. <glossdef>
  2043. <para>
  2044. The list of source files - local or remote.
  2045. This variable tells BitBake which bits
  2046. to pull for the build and how to pull them.
  2047. For example, if the recipe or append file needs to
  2048. fetch a single tarball from the Internet, the recipe or
  2049. append file uses a <filename>SRC_URI</filename>
  2050. entry that specifies that tarball.
  2051. On the other hand, if the recipe or append file needs to
  2052. fetch a tarball and include a custom file, the recipe or
  2053. append file needs an <filename>SRC_URI</filename> variable
  2054. that specifies all those sources.</para>
  2055. <para>The following list explains the available URI protocols:
  2056. <itemizedlist>
  2057. <listitem><para><emphasis><filename>file://</filename> -</emphasis>
  2058. Fetches files, which are usually files shipped with
  2059. the metadata,
  2060. from the local machine.
  2061. The path is relative to the
  2062. <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
  2063. variable.</para></listitem>
  2064. <listitem><para><emphasis><filename>bzr://</filename> -</emphasis> Fetches files from a
  2065. Bazaar revision control repository.</para></listitem>
  2066. <listitem><para><emphasis><filename>git://</filename> -</emphasis> Fetches files from a
  2067. Git revision control repository.</para></listitem>
  2068. <listitem><para><emphasis><filename>osc://</filename> -</emphasis> Fetches files from
  2069. an OSC (OpenSUSE Build service) revision control repository.</para></listitem>
  2070. <listitem><para><emphasis><filename>repo://</filename> -</emphasis> Fetches files from
  2071. a repo (Git) repository.</para></listitem>
  2072. <listitem><para><emphasis><filename>http://</filename> -</emphasis> Fetches files from
  2073. the Internet using HTTP.</para></listitem>
  2074. <listitem><para><emphasis><filename>https://</filename> -</emphasis> Fetches files
  2075. from the Internet using HTTPS.</para></listitem>
  2076. <listitem><para><emphasis><filename>ftp://</filename> -</emphasis> Fetches files
  2077. from the Internet using FTP.</para></listitem>
  2078. <listitem><para><emphasis><filename>cvs://</filename> -</emphasis> Fetches files from
  2079. a CVS revision control repository.</para></listitem>
  2080. <listitem><para><emphasis><filename>hg://</filename> -</emphasis> Fetches files from
  2081. a Mercurial (<filename>hg</filename>) revision control repository.</para></listitem>
  2082. <listitem><para><emphasis><filename>p4://</filename> -</emphasis> Fetches files from
  2083. a Perforce (<filename>p4</filename>) revision control repository.</para></listitem>
  2084. <listitem><para><emphasis><filename>ssh://</filename> -</emphasis> Fetches files from
  2085. a secure shell.</para></listitem>
  2086. <listitem><para><emphasis><filename>svn://</filename> -</emphasis> Fetches files from
  2087. a Subversion (<filename>svn</filename>) revision control repository.</para></listitem>
  2088. </itemizedlist>
  2089. </para>
  2090. <para>Here are some additional options worth mentioning:
  2091. <itemizedlist>
  2092. <listitem><para><emphasis><filename>unpack</filename> -</emphasis> Controls
  2093. whether or not to unpack the file if it is an archive.
  2094. The default action is to unpack the file.</para></listitem>
  2095. <listitem><para><emphasis><filename>subdir</filename> -</emphasis> Places the file
  2096. (or extracts its contents) into the specified
  2097. subdirectory.
  2098. This option is useful for unusual tarballs or other archives that
  2099. do not have their files already in a subdirectory within the archive.
  2100. </para></listitem>
  2101. <listitem><para><emphasis><filename>name</filename> -</emphasis> Specifies a
  2102. name to be used for association with <filename>SRC_URI</filename> checksums
  2103. when you have more than one file specified in <filename>SRC_URI</filename>.
  2104. </para></listitem>
  2105. <listitem><para><emphasis><filename>downloadfilename</filename> -</emphasis> Specifies
  2106. the filename used when storing the downloaded file.</para></listitem>
  2107. </itemizedlist>
  2108. </para>
  2109. </glossdef>
  2110. </glossentry>
  2111. <glossentry id='var-SRCDATE'><glossterm>SRCDATE</glossterm>
  2112. <glossdef>
  2113. <para>
  2114. The date of the source code used to build the package.
  2115. This variable applies only if the source was fetched from a Source Code Manager (SCM).
  2116. </para>
  2117. </glossdef>
  2118. </glossentry>
  2119. <glossentry id='var-SRCREV'><glossterm>SRCREV</glossterm>
  2120. <glossdef>
  2121. <para>
  2122. The revision of the source code used to build the package.
  2123. This variable applies only when using Subversion, Git, Mercurial and Bazaar.
  2124. If you want to build a fixed revision and you want
  2125. to avoid performing a query on the remote repository every time
  2126. BitBake parses your recipe, you should specify a <filename>SRCREV</filename> that is a
  2127. full revision identifier and not just a tag.
  2128. </para>
  2129. </glossdef>
  2130. </glossentry>
  2131. <glossentry id='var-SRCREV_FORMAT'><glossterm>SRCREV_FORMAT</glossterm>
  2132. <glossdef>
  2133. <para>
  2134. Helps construct valid
  2135. <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
  2136. values when multiple source controlled URLs are used in
  2137. <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>.
  2138. </para>
  2139. <para>
  2140. The system needs help constructing these values under these
  2141. circumstances.
  2142. Each component in the <filename>SRC_URI</filename>
  2143. is assigned a name and these are referenced
  2144. in the <filename>SRCREV_FORMAT</filename> variable.
  2145. Consider an example with URLs named "machine" and "meta".
  2146. In this case, <filename>SRCREV_FORMAT</filename> could look
  2147. like "machine_meta" and those names would have the SCM
  2148. versions substituted into each position.
  2149. Only one <filename>AUTOINC</filename> placeholder is added
  2150. and if needed.
  2151. And, this placeholder is placed at the start of the
  2152. returned string.
  2153. </para>
  2154. </glossdef>
  2155. </glossentry>
  2156. <glossentry id='var-STAMP'><glossterm>STAMP</glossterm>
  2157. <glossdef>
  2158. <para>
  2159. Specifies the base path used to create recipe stamp files.
  2160. The path to an actual stamp file is constructed by evaluating this
  2161. string and then appending additional information.
  2162. </para>
  2163. </glossdef>
  2164. </glossentry>
  2165. <glossentry id='var-STAMPCLEAN'><glossterm>STAMPCLEAN</glossterm>
  2166. <glossdef>
  2167. <para>
  2168. Specifies the base path used to create recipe stamp files.
  2169. Unlike the
  2170. <link linkend='var-STAMP'><filename>STAMP</filename></link>
  2171. variable, <filename>STAMPCLEAN</filename> can contain
  2172. wildcards to match the range of files a clean operation
  2173. should remove.
  2174. BitBake uses a clean operation to remove any other stamps
  2175. it should be removing when creating a new stamp.
  2176. </para>
  2177. </glossdef>
  2178. </glossentry>
  2179. <glossentry id='var-SUMMARY'><glossterm>SUMMARY</glossterm>
  2180. <glossdef>
  2181. <para>
  2182. A short summary for the recipe, which is 72 characters or less.
  2183. </para>
  2184. </glossdef>
  2185. </glossentry>
  2186. <glossentry id='var-SVNDIR'><glossterm>SVNDIR</glossterm>
  2187. <glossdef>
  2188. <para>
  2189. The directory in which files checked out of a Subversion
  2190. system are stored.
  2191. </para>
  2192. </glossdef>
  2193. </glossentry>
  2194. </glossdiv>
  2195. <glossdiv id='var-glossary-t'><title>T</title>
  2196. <glossentry id='var-T'><glossterm>T</glossterm>
  2197. <glossdef>
  2198. <para>Points to a directory were BitBake places
  2199. temporary files, which consist mostly of task logs and
  2200. scripts, when building a particular recipe.
  2201. </para>
  2202. </glossdef>
  2203. </glossentry>
  2204. <glossentry id='var-TOPDIR'><glossterm>TOPDIR</glossterm>
  2205. <glossdef>
  2206. <para>
  2207. Points to the build directory.
  2208. BitBake automatically sets this variable.
  2209. </para>
  2210. </glossdef>
  2211. </glossentry>
  2212. </glossdiv>
  2213. <!--
  2214. <glossdiv id='var-glossary-u'><title>U</title>
  2215. </glossdiv>
  2216. <glossdiv id='var-glossary-v'><title>V</title>
  2217. </glossdiv>
  2218. <glossdiv id='var-glossary-w'><title>W</title>
  2219. </glossdiv>
  2220. <glossdiv id='var-glossary-x'><title>X</title>
  2221. </glossdiv>
  2222. <glossdiv id='var-glossary-y'><title>Y</title>
  2223. </glossdiv>
  2224. <glossdiv id='var-glossary-z'><title>Z</title>
  2225. </glossdiv>
  2226. -->
  2227. </glossary>
  2228. </chapter>
  2229. <!--
  2230. vim: expandtab tw=80 ts=4
  2231. -->