diff options
-rw-r--r-- | bitbake/doc/user-manual/user-manual-metadata.xml | 213 |
1 files changed, 110 insertions, 103 deletions
diff --git a/bitbake/doc/user-manual/user-manual-metadata.xml b/bitbake/doc/user-manual/user-manual-metadata.xml index 6ee8971562..5e4551bb6b 100644 --- a/bitbake/doc/user-manual/user-manual-metadata.xml +++ b/bitbake/doc/user-manual/user-manual-metadata.xml | |||
@@ -34,7 +34,7 @@ | |||
34 | <literallayout class='monospaced'> | 34 | <literallayout class='monospaced'> |
35 | VARIABLE = "value" | 35 | VARIABLE = "value" |
36 | </literallayout> | 36 | </literallayout> |
37 | In this example, <varname>VARIABLE</varname> is <literal>value</literal>. | 37 | In this example, <filename>VARIABLE</filename> is <filename>value</filename>. |
38 | </para> | 38 | </para> |
39 | </section> | 39 | </section> |
40 | 40 | ||
@@ -52,9 +52,9 @@ | |||
52 | A = "aval" | 52 | A = "aval" |
53 | B = "pre${A}post" | 53 | B = "pre${A}post" |
54 | </literallayout> | 54 | </literallayout> |
55 | This results in <varname>A</varname> containing | 55 | This results in <filename>A</filename> containing |
56 | <literal>aval</literal> and <varname>B</varname> containing | 56 | <filename>aval</filename> and <filename>B</filename> containing |
57 | <literal>preavalpost</literal>. | 57 | <filename>preavalpost</filename>. |
58 | </para> | 58 | </para> |
59 | </section> | 59 | </section> |
60 | 60 | ||
@@ -65,10 +65,10 @@ | |||
65 | <literallayout class='monospaced'> | 65 | <literallayout class='monospaced'> |
66 | A ?= "aval" | 66 | A ?= "aval" |
67 | </literallayout> | 67 | </literallayout> |
68 | If <varname>A</varname> is set before the above is called, | 68 | If <filename>A</filename> is set before the above is called, |
69 | it will retain its previous value. | 69 | it will retain its previous value. |
70 | If <varname>A</varname> is unset prior to the above call, | 70 | If <filename>A</filename> is unset prior to the above call, |
71 | <varname>A</varname> will be set to <literal>aval</literal>. | 71 | <filename>A</filename> will be set to <filename>aval</filename>. |
72 | Note that this assignment is immediate, so if there are multiple ?= assignments | 72 | Note that this assignment is immediate, so if there are multiple ?= assignments |
73 | to a single variable, the first of those will be used. | 73 | to a single variable, the first of those will be used. |
74 | </para> | 74 | </para> |
@@ -82,14 +82,14 @@ | |||
82 | A ??= "somevalue" | 82 | A ??= "somevalue" |
83 | A ??= "someothervalue" | 83 | A ??= "someothervalue" |
84 | </literallayout> | 84 | </literallayout> |
85 | If <varname>A</varname> is set before the above, | 85 | If <filename>A</filename> is set before the above, |
86 | it will retain that value. | 86 | it will retain that value. |
87 | If <varname>A</varname> is unset prior to the above, | 87 | If <filename>A</filename> is unset prior to the above, |
88 | <varname>A</varname> will be set to <literal>someothervalue</literal>. | 88 | <filename>A</filename> will be set to <filename>someothervalue</filename>. |
89 | This is a lazy/weak assignment in that the assignment does not occur until the end | 89 | This is a lazy/weak assignment in that the assignment does not occur until the end |
90 | of the parsing process, so that the last, rather than the first, | 90 | of the parsing process, so that the last, rather than the first, |
91 | ??= assignment to a given variable will be used. | 91 | ??= assignment to a given variable will be used. |
92 | Any other setting of A using = or ?= | 92 | Any other setting of <filename>A</filename> using = or ?= |
93 | will however override the value set with ??= | 93 | will however override the value set with ??= |
94 | </para> | 94 | </para> |
95 | </section> | 95 | </section> |
@@ -107,7 +107,10 @@ | |||
107 | C = "cval" | 107 | C = "cval" |
108 | C := "${C}append" | 108 | C := "${C}append" |
109 | </literallayout> | 109 | </literallayout> |
110 | In that example, <varname>A</varname> would contain <literal> test 123</literal>, <varname>B</varname> would contain <literal>456 bval</literal>, and <varname>C</varname> would be <literal>cvalappend</literal>. | 110 | In that example, <filename>A</filename> would contain |
111 | <filename>test 123</filename>, <filename>B</filename> would contain | ||
112 | <filename>456 bval</filename>, and <filename>C</filename> | ||
113 | would be <filename>cvalappend</filename>. | ||
111 | </para> | 114 | </para> |
112 | </section> | 115 | </section> |
113 | 116 | ||
@@ -121,7 +124,9 @@ | |||
121 | C = "cval" | 124 | C = "cval" |
122 | C =+ "test" | 125 | C =+ "test" |
123 | </literallayout> | 126 | </literallayout> |
124 | In this example, <varname>B</varname> is now <literal>bval additionaldata</literal> and <varname>C</varname> is <literal>test cval</literal>. | 127 | In this example, <filename>B</filename> is now |
128 | <filename>bval additionaldata</filename> and <filename>C</filename> | ||
129 | is <filename>test cval</filename>. | ||
125 | </para> | 130 | </para> |
126 | </section> | 131 | </section> |
127 | 132 | ||
@@ -135,9 +140,9 @@ | |||
135 | C = "cval" | 140 | C = "cval" |
136 | C =. "test" | 141 | C =. "test" |
137 | </literallayout> | 142 | </literallayout> |
138 | In this example, <varname>B</varname> is now | 143 | In this example, <filename>B</filename> is now |
139 | <literal>bvaladditionaldata</literal> and | 144 | <filename>bvaladditionaldata</filename> and |
140 | <varname>C</varname> is <literal>testcval</literal>. | 145 | <filename>C</filename> is <filename>testcval</filename>. |
141 | In contrast to the above appending and prepending operators, | 146 | In contrast to the above appending and prepending operators, |
142 | no additional space will be introduced. | 147 | no additional space will be introduced. |
143 | </para> | 148 | </para> |
@@ -153,11 +158,11 @@ | |||
153 | C = "cval" | 158 | C = "cval" |
154 | C_prepend = "additional data " | 159 | C_prepend = "additional data " |
155 | </literallayout> | 160 | </literallayout> |
156 | This example results in <varname>B</varname> | 161 | This example results in <filename>B</filename> |
157 | becoming <literal>bval additional data</literal> | 162 | becoming <filename>bval additional data</filename> |
158 | and <varname>C</varname> becoming | 163 | and <filename>C</filename> becoming |
159 | <literal>additional data cval</literal>. | 164 | <filename>additional data cval</filename>. |
160 | Note the spaces in the append. | 165 | Note the spaces in the <filename>_append</filename>. |
161 | Unlike the += operator, additional space is not automatically added. | 166 | Unlike the += operator, additional space is not automatically added. |
162 | You must take steps to add space | 167 | You must take steps to add space |
163 | yourself. | 168 | yourself. |
@@ -172,7 +177,7 @@ yourself. | |||
172 | FOO_remove = "123" | 177 | FOO_remove = "123" |
173 | FOO_remove = "456" | 178 | FOO_remove = "456" |
174 | </literallayout> | 179 | </literallayout> |
175 | In this example, <varname>FOO</varname> is now <literal>789 123456</literal>. | 180 | In this example, <filename>FOO</filename> is now <filename>789 123456</filename>. |
176 | </para> | 181 | </para> |
177 | </section> | 182 | </section> |
178 | 183 | ||
@@ -186,8 +191,8 @@ yourself. | |||
186 | <literallayout class='monospaced'> | 191 | <literallayout class='monospaced'> |
187 | VARIABLE[SOMEFLAG] = "value" | 192 | VARIABLE[SOMEFLAG] = "value" |
188 | </literallayout> | 193 | </literallayout> |
189 | In this example, <varname>VARIABLE</varname> has a flag, | 194 | In this example, <filename>VARIABLE</filename> has a flag, |
190 | <varname>SOMEFLAG</varname> which is set to <literal>value</literal>. | 195 | <filename>SOMEFLAG</filename> which is set to <filename>value</filename>. |
191 | </para> | 196 | </para> |
192 | </section> | 197 | </section> |
193 | 198 | ||
@@ -198,7 +203,7 @@ yourself. | |||
198 | <literallayout class='monospaced'> | 203 | <literallayout class='monospaced'> |
199 | DATE = "${@time.strftime('%Y%m%d',time.gmtime())}" | 204 | DATE = "${@time.strftime('%Y%m%d',time.gmtime())}" |
200 | </literallayout> | 205 | </literallayout> |
201 | This would result in the <varname>DATE</varname> | 206 | This would result in the <filename>DATE</filename> |
202 | variable containing today's date. | 207 | variable containing today's date. |
203 | </para> | 208 | </para> |
204 | </section> | 209 | </section> |
@@ -207,10 +212,10 @@ yourself. | |||
207 | <title>Conditional metadata set</title> | 212 | <title>Conditional metadata set</title> |
208 | 213 | ||
209 | <para> | 214 | <para> |
210 | OVERRIDES is a <quote>:</quote> separated variable containing | 215 | <filename>OVERRIDES</filename> is a <quote>:</quote> separated variable containing |
211 | each item you want to satisfy conditions. | 216 | each item you want to satisfy conditions. |
212 | So, if you have a variable which is conditional on <quote>arm</quote>, and <quote>arm</quote> | 217 | So, if you have a variable which is conditional on <quote>arm</quote>, and <quote>arm</quote> |
213 | is in OVERRIDES, then the <quote>arm</quote> specific | 218 | is in <filename>OVERRIDES</filename>, then the <quote>arm</quote> specific |
214 | version of the variable is used rather than the non-conditional | 219 | version of the variable is used rather than the non-conditional |
215 | version. | 220 | version. |
216 | Example: | 221 | Example: |
@@ -220,9 +225,9 @@ yourself. | |||
220 | TEST_os = "osspecificvalue" | 225 | TEST_os = "osspecificvalue" |
221 | TEST_condnotinoverrides = "othercondvalue" | 226 | TEST_condnotinoverrides = "othercondvalue" |
222 | </literallayout> | 227 | </literallayout> |
223 | In this example, <varname>TEST</varname> would be | 228 | In this example, <filename>TEST</filename> would be |
224 | <literal>osspecificvalue</literal>, due to the condition | 229 | <filename>osspecificvalue</filename>, due to the condition |
225 | <quote>os</quote> being in <varname>OVERRIDES</varname>. | 230 | <quote>os</quote> being in <filename>OVERRIDES</filename>. |
226 | </para> | 231 | </para> |
227 | </section> | 232 | </section> |
228 | 233 | ||
@@ -231,14 +236,14 @@ yourself. | |||
231 | 236 | ||
232 | <para> | 237 | <para> |
233 | BitBake also supports appending and prepending to variables based | 238 | BitBake also supports appending and prepending to variables based |
234 | on whether something is in OVERRIDES. Example: | 239 | on whether something is in <filename>OVERRIDES</filename>. Example: |
235 | <literallayout class='monospaced'> | 240 | <literallayout class='monospaced'> |
236 | DEPENDS = "glibc ncurses" | 241 | DEPENDS = "glibc ncurses" |
237 | OVERRIDES = "machine:local" | 242 | OVERRIDES = "machine:local" |
238 | DEPENDS_append_machine = "libmad" | 243 | DEPENDS_append_machine = "libmad" |
239 | </literallayout> | 244 | </literallayout> |
240 | In this example, <varname>DEPENDS</varname> is set to | 245 | In this example, <filename>DEPENDS</filename> is set to |
241 | <literal>glibc ncurses libmad</literal>. | 246 | "glibc ncurses libmad". |
242 | </para> | 247 | </para> |
243 | </section> | 248 | </section> |
244 | 249 | ||
@@ -263,27 +268,27 @@ yourself. | |||
263 | OVERRIDES = "foo" | 268 | OVERRIDES = "foo" |
264 | A_foo_append = "X" | 269 | A_foo_append = "X" |
265 | </literallayout> | 270 | </literallayout> |
266 | In this case, X is unconditionally appended | 271 | In this case, <filename>X</filename> is unconditionally appended |
267 | to the variable <varname>A_foo</varname>. | 272 | to the variable <filename>A_foo</filename>. |
268 | Since foo is an override, A_foo would then replace | 273 | Since foo is an override, <filename>A_foo</filename> would then replace |
269 | <varname>A</varname>. | 274 | <filename>A</filename>. |
270 | <literallayout class='monospaced'> | 275 | <literallayout class='monospaced'> |
271 | OVERRIDES = "foo" | 276 | OVERRIDES = "foo" |
272 | A = "X" | 277 | A = "X" |
273 | A_append_foo = "Y" | 278 | A_append_foo = "Y" |
274 | </literallayout> | 279 | </literallayout> |
275 | In this case, only when foo is in | 280 | In this case, only when <filename>foo</filename> is in |
276 | OVERRIDES, Y | 281 | <filename>OVERRIDES</filename>, <filename>Y</filename> |
277 | is appended to the variable <varname>A</varname> | 282 | is appended to the variable <filename>A</filename> |
278 | so the value of <varname>A</varname> would | 283 | so the value of <filename>A</filename> would |
279 | become XY (NB: no spaces are appended). | 284 | become <filename>XY</filename> (NB: no spaces are appended). |
280 | <literallayout class='monospaced'> | 285 | <literallayout class='monospaced'> |
281 | OVERRIDES = "foo" | 286 | OVERRIDES = "foo" |
282 | A_foo_append = "X" | 287 | A_foo_append = "X" |
283 | A_foo_append += "Y" | 288 | A_foo_append += "Y" |
284 | </literallayout> | 289 | </literallayout> |
285 | This behaves as per the first case above, but the value of | 290 | This behaves as per the first case above, but the value of |
286 | <varname>A</varname> would be "X Y" instead of just "X". | 291 | <filename>A</filename> would be "X Y" instead of just "X". |
287 | <literallayout class='monospaced'> | 292 | <literallayout class='monospaced'> |
288 | A = "1" | 293 | A = "1" |
289 | A_append = "2" | 294 | A_append = "2" |
@@ -291,7 +296,7 @@ yourself. | |||
291 | A += "4" | 296 | A += "4" |
292 | A .= "5" | 297 | A .= "5" |
293 | </literallayout> | 298 | </literallayout> |
294 | Would ultimately result in <varname>A</varname> taking the value | 299 | Would ultimately result in <filename>A</filename> taking the value |
295 | "1 4523" since the _append operator executes at the | 300 | "1 4523" since the _append operator executes at the |
296 | same time as the expansion of other overrides. | 301 | same time as the expansion of other overrides. |
297 | </para> | 302 | </para> |
@@ -308,7 +313,7 @@ yourself. | |||
308 | B = "2" | 313 | B = "2" |
309 | A2 = "Y" | 314 | A2 = "Y" |
310 | </literallayout> | 315 | </literallayout> |
311 | So in this case <varname>A2</varname> would take the value of "X". | 316 | So in this case <filename>A2</filename> would take the value of "X". |
312 | </para> | 317 | </para> |
313 | </section> | 318 | </section> |
314 | </section> | 319 | </section> |
@@ -322,14 +327,14 @@ yourself. | |||
322 | This is only supported in .bb and .bbclass files. | 327 | This is only supported in .bb and .bbclass files. |
323 | </para> | 328 | </para> |
324 | <para> | 329 | <para> |
325 | The <literal>inherit</literal> directive is a means of specifying what classes | 330 | The inherit directive is a means of specifying what classes |
326 | of functionality your .bb requires. | 331 | of functionality your <filename>.bb</filename> requires. |
327 | It is a rudimentary form of inheritance. | 332 | It is a rudimentary form of inheritance. |
328 | For example, you can easily abstract out the tasks involved in | 333 | For example, you can easily abstract out the tasks involved in |
329 | building a package that uses autoconf and automake, and put | 334 | building a package that uses autoconf and automake, and put |
330 | that into a bbclass for your packages to make use of. | 335 | that into a bbclass for your packages to make use of. |
331 | A given bbclass is located by searching for classes/filename.bbclass | 336 | A given bbclass is located by searching for classes/filename.bbclass |
332 | in <envar>BBPATH</envar>, where filename is what you inherited. | 337 | in <filename>BBPATH</filename>, where filename is what you inherited. |
333 | </para> | 338 | </para> |
334 | </section> | 339 | </section> |
335 | 340 | ||
@@ -337,22 +342,22 @@ yourself. | |||
337 | <title>Inclusion</title> | 342 | <title>Inclusion</title> |
338 | 343 | ||
339 | <para> | 344 | <para> |
340 | Next, there is the <literal>include</literal> directive, which causes BitBake to parse whatever file you specify, | 345 | Next, there is the <filename>include</filename> directive, which causes BitBake to parse whatever file you specify, |
341 | and insert it at that location, which is not unlike <command>make</command>. | 346 | and insert it at that location, which is not unlike <command>make</command>. |
342 | However, if the path specified on the <literal>include</literal> line is a | 347 | However, if the path specified on the <filename>include</filename> line is a |
343 | relative path, BitBake will locate the first one it can find | 348 | relative path, BitBake will locate the first one it can find |
344 | within <envar>BBPATH</envar>. | 349 | within <filename>BBPATH</filename>. |
345 | </para> | 350 | </para> |
346 | </section> | 351 | </section> |
347 | 352 | ||
348 | <section id='requiring-inclusion'> | 353 | <section id='requiring-inclusion'> |
349 | <title>Requiring inclusion</title> | 354 | <title>Requiring inclusion</title> |
350 | <para> | 355 | <para> |
351 | In contrast to the <literal>include</literal> directive, <literal>require</literal> will | 356 | In contrast to the <filename>include</filename> directive, <filename>require</filename> will |
352 | raise an | 357 | raise an |
353 | ParseError if the file to be included cannot | 358 | ParseError if the file to be included cannot |
354 | be found. | 359 | be found. |
355 | Otherwise it will behave just like the <literal>include</literal> directive. | 360 | Otherwise it will behave just like the <filename>include</filename> directive. |
356 | </para> | 361 | </para> |
357 | </section> | 362 | </section> |
358 | 363 | ||
@@ -371,7 +376,7 @@ raise an | |||
371 | SOMECONDITION = "1" | 376 | SOMECONDITION = "1" |
372 | DEPENDS = "${@get_depends(d)}" | 377 | DEPENDS = "${@get_depends(d)}" |
373 | </literallayout> | 378 | </literallayout> |
374 | This would result in <varname>DEPENDS</varname> containing <literal>dependencywithcond</literal>. | 379 | This would result in <filename>DEPENDS</filename> containing <filename>dependencywithcond</filename>. |
375 | </para> | 380 | </para> |
376 | </section> | 381 | </section> |
377 | 382 | ||
@@ -397,7 +402,7 @@ python do_printdate () { | |||
397 | <section> | 402 | <section> |
398 | <title>Tasks</title> | 403 | <title>Tasks</title> |
399 | <para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para> | 404 | <para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para> |
400 | <para>In BitBake, each step that needs to be run for a given .bb is known as a task. There is a command <literal>addtask</literal> to add new tasks (must be a defined Python executable metadata and must start with <quote>do_</quote>) and describe intertask dependencies. | 405 | <para>In BitBake, each step that needs to be run for a given .bb is known as a task. There is a command <filename>addtask</filename> to add new tasks (must be a defined Python executable metadata and must start with <quote>do_</quote>) and describe intertask dependencies. |
401 | <literallayout class='monospaced'> | 406 | <literallayout class='monospaced'> |
402 | python do_printdate () { | 407 | python do_printdate () { |
403 | import time print | 408 | import time print |
@@ -437,28 +442,29 @@ python do_printdate () { | |||
437 | 442 | ||
438 | <para> | 443 | <para> |
439 | BitBake will first search the current working directory for an | 444 | BitBake will first search the current working directory for an |
440 | optional "conf/bblayers.conf" configuration file. | 445 | optional <filename>conf/bblayers.conf</filename> configuration file. |
441 | This file is expected to contain a BBLAYERS | 446 | This file is expected to contain a <filename>BBLAYERS</filename> |
442 | variable which is a space delimited list of 'layer' directories. | 447 | variable which is a space delimited list of 'layer' directories. |
443 | For each directory in this list, a "conf/layer.conf" | 448 | For each directory in this list, a <filename>conf/layer.conf</filename> |
444 | file will be searched for and parsed with the | 449 | file will be searched for and parsed with the |
445 | LAYERDIR variable being set to the directory where | 450 | <filename>LAYERDIR</filename> variable being set to the directory where |
446 | the layer was found. | 451 | the layer was found. |
447 | The idea is these files will setup BBPATH | 452 | The idea is these files will setup <filename>BBPATH</filename> |
448 | and other variables correctly for a given build directory automatically | 453 | and other variables correctly for a given build directory automatically |
449 | for the user. | 454 | for the user. |
450 | </para> | 455 | </para> |
451 | 456 | ||
452 | <para> | 457 | <para> |
453 | BitBake will then expect to find 'conf/bitbake.conf' | 458 | BitBake will then expect to find <filename>conf/bitbake.conf</filename> |
454 | somewhere in the user specified <envar>BBPATH</envar>. | 459 | somewhere in the user specified <filename>BBPATH</filename>. |
455 | That configuration file generally has include directives to pull | 460 | That configuration file generally has include directives to pull |
456 | in any other metadata (generally files specific to architecture, | 461 | in any other metadata (generally files specific to architecture, |
457 | machine, <emphasis>local</emphasis> and so on). | 462 | machine, <emphasis>local</emphasis> and so on). |
458 | </para> | 463 | </para> |
459 | 464 | ||
460 | <para> | 465 | <para> |
461 | Only variable definitions and include directives are allowed in .conf files. | 466 | Only variable definitions and include directives are allowed |
467 | in <filename>.conf</filename> files. | ||
462 | </para> | 468 | </para> |
463 | </section> | 469 | </section> |
464 | <section id='classes'> | 470 | <section id='classes'> |
@@ -466,23 +472,23 @@ python do_printdate () { | |||
466 | <para> | 472 | <para> |
467 | BitBake classes are our rudimentary inheritance mechanism. | 473 | BitBake classes are our rudimentary inheritance mechanism. |
468 | As briefly mentioned in the metadata introduction, they're | 474 | As briefly mentioned in the metadata introduction, they're |
469 | parsed when an <literal>inherit</literal> directive is encountered, and they | 475 | parsed when an inherit directive is encountered, and they |
470 | are located in classes/ | 476 | are located in the <filename>classes/</filename> directory |
471 | relative to the directories in <envar>BBPATH</envar>. | 477 | relative to the directories in <filename>BBPATH</filename>. |
472 | </para> | 478 | </para> |
473 | </section> | 479 | </section> |
474 | 480 | ||
475 | <section id='bb-files'> | 481 | <section id='bb-files'> |
476 | <title>.bb files</title> | 482 | <title>.<filename>.bb</filename> files</title> |
477 | 483 | ||
478 | <para> | 484 | <para> |
479 | BitBake (.bb) file is a logical unit | 485 | BitBake (<filename>.bb</filename>) file is a logical unit |
480 | of tasks to be executed. | 486 | of tasks to be executed. |
481 | Normally this is a package to be built. | 487 | Normally this is a package to be built. |
482 | Inter-.bb dependencies are obeyed. | 488 | Inter-<filename>.bb</filename> dependencies are obeyed. |
483 | The files themselves are located via | 489 | The files themselves are located via |
484 | the <varname>BBFILES</varname> variable, which | 490 | the <filename>BBFILES</filename> variable, which |
485 | is set to a space separated list of .bb | 491 | is set to a space separated list of <filename>.bb</filename> |
486 | files, and does handle wildcards. | 492 | files, and does handle wildcards. |
487 | </para> | 493 | </para> |
488 | </section> | 494 | </section> |
@@ -493,13 +499,14 @@ python do_printdate () { | |||
493 | 499 | ||
494 | <para> | 500 | <para> |
495 | <emphasis>NOTE:</emphasis> | 501 | <emphasis>NOTE:</emphasis> |
496 | This is only supported in .bb and .bbclass files. | 502 | This is only supported in <filename>.bb</filename> |
503 | and <filename>.bbclass</filename> files. | ||
497 | </para> | 504 | </para> |
498 | <para> | 505 | <para> |
499 | BitBake allows installation of event handlers. | 506 | BitBake allows installation of event handlers. |
500 | Events are triggered at certain points during operation, | 507 | Events are triggered at certain points during operation, |
501 | such as the beginning of operation against a given | 508 | such as the beginning of operation against a given |
502 | .bb, the start of a given task, | 509 | <filename>.bb</filename>, the start of a given task, |
503 | task failure, task success, et cetera. | 510 | task failure, task success, et cetera. |
504 | The intent is to make it easy to do things like email | 511 | The intent is to make it easy to do things like email |
505 | notification on build failure. | 512 | notification on build failure. |
@@ -514,16 +521,16 @@ python do_printdate () { | |||
514 | </literallayout> | 521 | </literallayout> |
515 | This event handler gets called every time an event is | 522 | This event handler gets called every time an event is |
516 | triggered. | 523 | triggered. |
517 | A global variable <varname>e</varname> is defined. | 524 | A global variable <filename>e</filename> is defined. |
518 | <varname>e</varname>.data contains an instance of | 525 | <filename>e.data</filename> contains an instance of |
519 | bb.data. | 526 | <filename>bb.data</filename>. |
520 | With the getName(<varname>e</varname>) method one can get | 527 | With the <filename>getName(e)</filename> method one can get |
521 | the name of the triggered event. | 528 | the name of the triggered event. |
522 | </para> | 529 | </para> |
523 | 530 | ||
524 | <para> | 531 | <para> |
525 | The above event handler prints the name of the event | 532 | The above event handler prints the name of the event |
526 | and the content of the <varname>FILE</varname> variable. | 533 | and the content of the <filename>FILE</filename> variable. |
527 | </para> | 534 | </para> |
528 | </section> | 535 | </section> |
529 | 536 | ||
@@ -536,7 +543,7 @@ python do_printdate () { | |||
536 | </para> | 543 | </para> |
537 | 544 | ||
538 | <para> | 545 | <para> |
539 | The first is <varname>BBCLASSEXTEND</varname>. | 546 | The first is <filename>BBCLASSEXTEND</filename>. |
540 | This variable is a space separated list of classes used to "extend" the | 547 | This variable is a space separated list of classes used to "extend" the |
541 | recipe for each variant. | 548 | recipe for each variant. |
542 | As an example, setting | 549 | As an example, setting |
@@ -548,10 +555,10 @@ python do_printdate () { | |||
548 | This second incarnation will have the "native" class inherited. | 555 | This second incarnation will have the "native" class inherited. |
549 | </para> | 556 | </para> |
550 | <para> | 557 | <para> |
551 | The second feature is <varname>BBVERSIONS</varname>. | 558 | The second feature is <filename>BBVERSIONS</filename>. |
552 | This variable allows a single recipe to build multiple versions of a | 559 | This variable allows a single recipe to build multiple versions of a |
553 | project from a single recipe file, and allows you to specify | 560 | project from a single recipe file, and allows you to specify |
554 | conditional metadata (using the <varname>OVERRIDES</varname> | 561 | conditional metadata (using the <filename>OVERRIDES</filename> |
555 | mechanism) for a single version, or an optionally named range of versions: | 562 | mechanism) for a single version, or an optionally named range of versions: |
556 | <literallayout class='monospaced'> | 563 | <literallayout class='monospaced'> |
557 | BBVERSIONS = "1.0 2.0 git" | 564 | BBVERSIONS = "1.0 2.0 git" |
@@ -562,12 +569,12 @@ python do_printdate () { | |||
562 | SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;patch=1" | 569 | SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;patch=1" |
563 | </literallayout> | 570 | </literallayout> |
564 | Note that the name of the range will default to the original version of the | 571 | Note that the name of the range will default to the original version of the |
565 | recipe, so given OE, a recipe file of foo_1.0.0+.bb | 572 | recipe, so given OE, a recipe file of <filename>foo_1.0.0+.bb</filename> |
566 | will default the name of its versions to 1.0.0+. | 573 | will default the name of its versions to <filename>1.0.0+</filename>. |
567 | This is useful, as the range name is not only placed into overrides; | 574 | This is useful, as the range name is not only placed into overrides; |
568 | it's also made available for the metadata to use in the form of the | 575 | it's also made available for the metadata to use in the form of the |
569 | <varname>BPV</varname> variable, for use in | 576 | <filename>BPV</filename> variable, for use in |
570 | file:// search paths (<varname>FILESPATH</varname>). | 577 | <filename>file://</filename> search paths (<filename>FILESPATH</filename>). |
571 | </para> | 578 | </para> |
572 | </section> | 579 | </section> |
573 | 580 | ||
@@ -582,12 +589,12 @@ python do_printdate () { | |||
582 | </para> | 589 | </para> |
583 | 590 | ||
584 | <section id='dependencies-internal-to-the-bb-file'> | 591 | <section id='dependencies-internal-to-the-bb-file'> |
585 | <title>Dependencies internal to the .bb file</title> | 592 | <title>Dependencies internal to the <filename>.bb</filename> file</title> |
586 | 593 | ||
587 | <para> | 594 | <para> |
588 | Where the dependencies are internal to a given | 595 | Where the dependencies are internal to a given |
589 | .bb file, the dependencies are handled by the | 596 | <filename>.bb</filename> file, the dependencies are handled by the |
590 | previously detailed addtask directive. | 597 | previously detailed <filename>addtask</filename> directive. |
591 | </para> | 598 | </para> |
592 | </section> | 599 | </section> |
593 | 600 | ||
@@ -595,16 +602,16 @@ python do_printdate () { | |||
595 | <title>Build Dependencies</title> | 602 | <title>Build Dependencies</title> |
596 | 603 | ||
597 | <para> | 604 | <para> |
598 | DEPENDS lists build time dependencies. | 605 | <filename>DEPENDS</filename> lists build time dependencies. |
599 | The 'deptask' flag for tasks is used to signify the task of each | 606 | The 'deptask' flag for tasks is used to signify the task of each |
600 | item listed in DEPENDS which must have | 607 | item listed in <filename>DEPENDS</filename> which must have |
601 | completed before that task can be executed. | 608 | completed before that task can be executed. |
602 | <literallayout class='monospaced'> | 609 | <literallayout class='monospaced'> |
603 | do_configure[deptask] = "do_populate_staging" | 610 | do_configure[deptask] = "do_populate_staging" |
604 | </literallayout> | 611 | </literallayout> |
605 | means the do_populate_staging | 612 | means the <filename>do_populate_staging</filename> |
606 | task of each item in DEPENDS must have completed before | 613 | task of each item in <filename>DEPENDS</filename> must have completed before |
607 | do_configure can execute. | 614 | <filename>do_configure</filename> can execute. |
608 | </para> | 615 | </para> |
609 | </section> | 616 | </section> |
610 | 617 | ||
@@ -612,18 +619,18 @@ python do_printdate () { | |||
612 | <title>Runtime Dependencies</title> | 619 | <title>Runtime Dependencies</title> |
613 | 620 | ||
614 | <para> | 621 | <para> |
615 | The PACKAGES variable lists runtime | 622 | The <filename>PACKAGES</filename> variable lists runtime |
616 | packages and each of these can have RDEPENDS and | 623 | packages and each of these can have <filename>RDEPENDS</filename> and |
617 | RRECOMMENDS runtime dependencies. | 624 | <filename>RRECOMMENDS</filename> runtime dependencies. |
618 | The 'rdeptask' flag for tasks is used to signify the task of each | 625 | The 'rdeptask' flag for tasks is used to signify the task of each |
619 | item runtime dependency which must have completed before that | 626 | item runtime dependency which must have completed before that |
620 | task can be executed. | 627 | task can be executed. |
621 | <literallayout class='monospaced'> | 628 | <literallayout class='monospaced'> |
622 | do_package_write[rdeptask] = "do_package" | 629 | do_package_write[rdeptask] = "do_package" |
623 | </literallayout> | 630 | </literallayout> |
624 | means the do_package | 631 | means the <filename>do_package</filename> |
625 | task of each item in RDEPENDS must have | 632 | task of each item in <filename>RDEPENDS</filename> must have |
626 | completed before do_package_write can execute. | 633 | completed before <filename>do_package_write</filename> can execute. |
627 | </para> | 634 | </para> |
628 | </section> | 635 | </section> |
629 | 636 | ||
@@ -649,7 +656,7 @@ python do_printdate () { | |||
649 | build and runtime dependencies of dependent tasks too. | 656 | build and runtime dependencies of dependent tasks too. |
650 | If that is the case, the taskname itself should | 657 | If that is the case, the taskname itself should |
651 | be referenced in the task list, e.g. | 658 | be referenced in the task list, e.g. |
652 | do_a[recrdeptask] = "do_a do_b". | 659 | <filename>do_a[recrdeptask] = "do_a do_b"</filename>. |
653 | </para> | 660 | </para> |
654 | </section> | 661 | </section> |
655 | 662 | ||
@@ -659,13 +666,13 @@ python do_printdate () { | |||
659 | <para> | 666 | <para> |
660 | The 'depends' flag for tasks is a more generic form of which | 667 | The 'depends' flag for tasks is a more generic form of which |
661 | allows an interdependency on specific tasks rather than specifying | 668 | allows an interdependency on specific tasks rather than specifying |
662 | the data in DEPENDS. | 669 | the data in <filename>DEPENDS</filename>. |
663 | <literallayout class='monospaced'> | 670 | <literallayout class='monospaced'> |
664 | do_patch[depends] = "quilt-native:do_populate_staging" | 671 | do_patch[depends] = "quilt-native:do_populate_staging" |
665 | </literallayout> | 672 | </literallayout> |
666 | means the do_populate_staging | 673 | means the <filename>do_populate_staging</filename> |
667 | task of the target quilt-native must have completed before the | 674 | task of the target quilt-native must have completed before the |
668 | do_patch can execute. | 675 | <filename>do_patch</filename> task can execute. |
669 | </para> | 676 | </para> |
670 | 677 | ||
671 | <para> | 678 | <para> |