diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-03-06 09:48:37 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-09 18:59:04 -0700 |
commit | 40ab94036081f9fdc4ebf6126b077149c2a97c31 (patch) | |
tree | 65075fcb43ab2e731a9891063878d13addf0737e /bitbake/doc/user-manual/user-manual-intro.xml | |
parent | 96294ee40748dd96da7203cedf93a42e34b2a468 (diff) | |
download | poky-40ab94036081f9fdc4ebf6126b077149c2a97c31.tar.gz |
bitbake: user-manual: Review edits applied from Paul Eggleton.
Review of the entire manual by Paul. I have implemented his
suggestions throughout.
(Bitbake rev: 5cd310d1df194cd171691a4bcfb98024e2bc66b8)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/doc/user-manual/user-manual-intro.xml')
-rw-r--r-- | bitbake/doc/user-manual/user-manual-intro.xml | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/bitbake/doc/user-manual/user-manual-intro.xml b/bitbake/doc/user-manual/user-manual-intro.xml index 6f9ad2049a..d46e823c72 100644 --- a/bitbake/doc/user-manual/user-manual-intro.xml +++ b/bitbake/doc/user-manual/user-manual-intro.xml | |||
@@ -6,10 +6,10 @@ | |||
6 | 6 | ||
7 | <para> | 7 | <para> |
8 | Welcome to the BitBake User Manual. | 8 | Welcome to the BitBake User Manual. |
9 | This manual provides information on BitBake. | 9 | This manual provides information on the BitBake tool. |
10 | The information attempts to be as independent as possible regarding | 10 | The information attempts to be as independent as possible regarding |
11 | systems that use BitBake, such as the Yocto Project and | 11 | systems that use BitBake, such as the Yocto Project and |
12 | OpenEmbeddeded. | 12 | OpenEmbedded. |
13 | In some cases, scenarios or examples that within the context of | 13 | In some cases, scenarios or examples that within the context of |
14 | a build system are used in the manual to help with understanding. | 14 | a build system are used in the manual to help with understanding. |
15 | For these cases, the manual clearly states the context. | 15 | For these cases, the manual clearly states the context. |
@@ -88,7 +88,7 @@ | |||
88 | an aspiring embedded Linux distribution. | 88 | an aspiring embedded Linux distribution. |
89 | All of the build systems used by traditional desktop Linux | 89 | All of the build systems used by traditional desktop Linux |
90 | distributions lacked important functionality, and none of the | 90 | distributions lacked important functionality, and none of the |
91 | ad-hoc buildroot systems, prevalent in the | 91 | ad-hoc Buildroot-based systems, prevalent in the |
92 | embedded space, were scalable or maintainable. | 92 | embedded space, were scalable or maintainable. |
93 | </para> | 93 | </para> |
94 | 94 | ||
@@ -216,7 +216,7 @@ | |||
216 | 216 | ||
217 | <para> | 217 | <para> |
218 | Within the context of BitBake, or any project utilizing BitBake | 218 | Within the context of BitBake, or any project utilizing BitBake |
219 | as it's build system, files with the <filename>.bb</filename> | 219 | as its build system, files with the <filename>.bb</filename> |
220 | extension are referred to as recipes. | 220 | extension are referred to as recipes. |
221 | <note> | 221 | <note> |
222 | The term "package" is also commonly used to describe recipes. | 222 | The term "package" is also commonly used to describe recipes. |
@@ -282,7 +282,7 @@ | |||
282 | 282 | ||
283 | <para> | 283 | <para> |
284 | To illustrate how you can use layers to keep things modular, | 284 | To illustrate how you can use layers to keep things modular, |
285 | consider machine customizations. | 285 | consider customizations you might make to support a specific target machine. |
286 | These types of customizations typically reside in a special layer, | 286 | These types of customizations typically reside in a special layer, |
287 | rather than a general layer, called a Board Specific Package (BSP) Layer. | 287 | rather than a general layer, called a Board Specific Package (BSP) Layer. |
288 | Furthermore, the machine customizations should be isolated from | 288 | Furthermore, the machine customizations should be isolated from |
@@ -343,7 +343,7 @@ | |||
343 | <filename>busybox_1.3.0.bb</filename>, the append name would not | 343 | <filename>busybox_1.3.0.bb</filename>, the append name would not |
344 | match. | 344 | match. |
345 | However, if you named the append file | 345 | However, if you named the append file |
346 | <filename>busybox_1.%.bb</filename>, then you would have a match. | 346 | <filename>busybox_1.%.bbappend</filename>, then you would have a match. |
347 | </para> | 347 | </para> |
348 | </section> | 348 | </section> |
349 | </section> | 349 | </section> |
@@ -421,20 +421,10 @@ | |||
421 | <title>The BitBake Command</title> | 421 | <title>The BitBake Command</title> |
422 | 422 | ||
423 | <para> | 423 | <para> |
424 | BitBake is the underlying piece of the build system. | 424 | The BitBake command is the primary interface to the BitBake |
425 | Two excellent examples are the Yocto Project and the OpenEmbedded | 425 | tool. |
426 | build systems. | 426 | This section presents the BitBake command syntax and provides |
427 | Each provide an environment in which to develop embedded Linux | 427 | several execution examples. |
428 | images, and each use BitBake as their underlying build engine. | ||
429 | </para> | ||
430 | |||
431 | <para> | ||
432 | BitBake facilitates executing tasks in a single <filename>.bb</filename> | ||
433 | file, or executing a given task on a set of multiple | ||
434 | <filename>.bb</filename> files, accounting for interdependencies | ||
435 | amongst them. | ||
436 | This section presents the BitBake syntax and provides some execution | ||
437 | examples. | ||
438 | </para> | 428 | </para> |
439 | 429 | ||
440 | <section id='usage-and-syntax'> | 430 | <section id='usage-and-syntax'> |
@@ -539,17 +529,21 @@ Options: | |||
539 | </para> | 529 | </para> |
540 | 530 | ||
541 | <para> | 531 | <para> |
542 | The following command runs the clean task on the | ||
543 | <filename>foo_1.0.bb</filename> recipe file: | ||
544 | <literallayout class='monospaced'> | ||
545 | $ bitbake -b foo.bb -c clean | ||
546 | </literallayout> | ||
547 | The following command runs the build task, which is | 532 | The following command runs the build task, which is |
548 | the default task, on the <filename>foo_1.0.bb</filename> | 533 | the default task, on the <filename>foo_1.0.bb</filename> |
549 | recipe file: | 534 | recipe file: |
550 | <literallayout class='monospaced'> | 535 | <literallayout class='monospaced'> |
551 | $ bitbake -b foo_1.0.bb | 536 | $ bitbake -b foo_1.0.bb |
552 | </literallayout> | 537 | </literallayout> |
538 | The following command runs the clean task on the | ||
539 | <filename>foo_1.0.bb</filename> recipe file: | ||
540 | <literallayout class='monospaced'> | ||
541 | $ bitbake -b foo.bb -c clean | ||
542 | </literallayout> | ||
543 | <note> | ||
544 | The "-b" option explicitly does not handle recipe | ||
545 | dependencies. | ||
546 | </note> | ||
553 | </para> | 547 | </para> |
554 | </section> | 548 | </section> |
555 | 549 | ||
@@ -573,7 +567,7 @@ Options: | |||
573 | 567 | ||
574 | <para> | 568 | <para> |
575 | The <filename>bitbake</filename> command, when not using | 569 | The <filename>bitbake</filename> command, when not using |
576 | "--buildfile" or "-b" only accepts a "PROVIDER". | 570 | "--buildfile" or "-b" only accepts a "PROVIDES". |
577 | You cannot provide anything else. | 571 | You cannot provide anything else. |
578 | By default, a recipe file generally "PROVIDES" its | 572 | By default, a recipe file generally "PROVIDES" its |
579 | "packagename", "packagename-version", and | 573 | "packagename", "packagename-version", and |
@@ -581,10 +575,6 @@ Options: | |||
581 | example: | 575 | example: |
582 | <literallayout class='monospaced'> | 576 | <literallayout class='monospaced'> |
583 | $ bitbake foo | 577 | $ bitbake foo |
584 | |||
585 | $ bitbake foo-1.0 | ||
586 | |||
587 | $ bitbake foo-1.0-r0 | ||
588 | </literallayout> | 578 | </literallayout> |
589 | This next example "PROVIDES" the package name and also uses | 579 | This next example "PROVIDES" the package name and also uses |
590 | the "-c" option to tell BitBake to just execute the | 580 | the "-c" option to tell BitBake to just execute the |
@@ -600,22 +590,35 @@ Options: | |||
600 | 590 | ||
601 | <para> | 591 | <para> |
602 | BitBake is able to generate dependency graphs using | 592 | BitBake is able to generate dependency graphs using |
603 | the dot syntax. | 593 | the <filename>dot</filename> syntax. |
604 | You can convert these graphs into images using the dot | 594 | You can convert these graphs into images using the |
605 | application from | 595 | <filename>dot</filename> tool from |
606 | <ulink url='http://www.graphviz.org'>Graphviz</ulink>. | 596 | <ulink url='http://www.graphviz.org'>Graphviz</ulink>. |
607 | </para> | 597 | </para> |
608 | 598 | ||
609 | <para> | 599 | <para> |
610 | When you generate a dependency graph, BitBake writes two files | 600 | When you generate a dependency graph, BitBake writes four files |
611 | to the current working directory: | 601 | to the current working directory: |
612 | <filename>depends.dot</filename>, which contains dependency information | 602 | <itemizedlist> |
613 | at the package level, and <filename>task-depends.dot</filename>, | 603 | <listitem><para><emphasis><filename>package-depends.dot</filename>:</emphasis> |
614 | which contains a breakdown of the dependencies at the task level. | 604 | Shows BitBake's knowledge of dependencies between |
605 | runtime targets. | ||
606 | </para></listitem> | ||
607 | <listitem><para><emphasis><filename>pn-depends.dot</filename>:</emphasis> | ||
608 | Shows dependencies between build-time targets | ||
609 | (i.e. recipes). | ||
610 | </para></listitem> | ||
611 | <listitem><para><emphasis><filename>task-depends.dot</filename>:</emphasis> | ||
612 | Shows dependencies between tasks. | ||
613 | </para></listitem> | ||
614 | <listitem><para><emphasis><filename>pn-buildlist</filename>:</emphasis> | ||
615 | Shows a simple list of targets that are to be built. | ||
616 | </para></listitem> | ||
617 | </itemizedlist> | ||
615 | </para> | 618 | </para> |
616 | 619 | ||
617 | <para> | 620 | <para> |
618 | To stop depending on common depends, use use the "-I" depend | 621 | To stop depending on common depends, use the "-I" depend |
619 | option and BitBake omits them from the graph. | 622 | option and BitBake omits them from the graph. |
620 | Leaving this information out can produce more readable graphs. | 623 | Leaving this information out can produce more readable graphs. |
621 | This way, you can remove from the graph | 624 | This way, you can remove from the graph |
@@ -629,7 +632,7 @@ Options: | |||
629 | <literallayout class='monospaced'> | 632 | <literallayout class='monospaced'> |
630 | $ bitbake -g foo | 633 | $ bitbake -g foo |
631 | 634 | ||
632 | $ bitbake -g -I virtual/whatever -I bloom foo | 635 | $ bitbake -g -I virtual/kernel -I eglibc foo |
633 | </literallayout> | 636 | </literallayout> |
634 | </para> | 637 | </para> |
635 | </section> | 638 | </section> |