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

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