summaryrefslogtreecommitdiffstats
path: root/bitbake/doc/user-manual/user-manual-metadata.xml
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-18 14:32:51 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-27 21:03:22 +0000
commit7b99bc04acd6a2e3805dd592daff18fb0ecba164 (patch)
treea282fa6b608ad65f25d8bcbdc2499931eed3b5d2 /bitbake/doc/user-manual/user-manual-metadata.xml
parentd6b8f746d46b22abb277520428e9e6fffafbb96b (diff)
downloadpoky-7b99bc04acd6a2e3805dd592daff18fb0ecba164.tar.gz
bitbake: user-manual-metadata: Expand parsing process docuemtnation
(Bitbake rev: 2596dd2b42c06ef258032356294cc345a6e25fed) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/doc/user-manual/user-manual-metadata.xml')
-rw-r--r--bitbake/doc/user-manual/user-manual-metadata.xml88
1 files changed, 87 insertions, 1 deletions
diff --git a/bitbake/doc/user-manual/user-manual-metadata.xml b/bitbake/doc/user-manual/user-manual-metadata.xml
index 73238fd9e5..239390ac8d 100644
--- a/bitbake/doc/user-manual/user-manual-metadata.xml
+++ b/bitbake/doc/user-manual/user-manual-metadata.xml
@@ -579,10 +579,96 @@
579 <para> For the 'deptask', 'rdeptask', 'depends', 'rdepends' and 'recrdeptask' flags please see the dependencies section.</para> 579 <para> For the 'deptask', 'rdeptask', 'depends', 'rdepends' and 'recrdeptask' flags please see the dependencies section.</para>
580 </section> 580 </section>
581 581
582
583 <section id='parsing-and-execution'>
584 <title>Parsing and Execution</title>
585
582 <section id='parsing-overview'> 586 <section id='parsing-overview'>
583 <title>Parsing</title> 587 <title>Parsing Overview</title>
588
589 <para>
590 BitBake parses configuration files, classes, and
591 <filename>.bb</filename> files.
592 </para>
593
594 <para>
595 The first thing BitBake does is look for the
596 <filename>bitbake.conf</filename> file.
597 This file resides in the within the <filename>conf/</filename>
598 directory.
599 BitBake finds it by examining its <filename>BBPATH</filename>
600 environment variable and looking for the
601 <filename>conf/</filename> directory.
602 </para>
603
604 <para>
605 The <filename>bitbake.conf</filename> file lists other configuration
606 files to include from a <filename>conf/</filename> directory below the
607 directories listed in <filename>BBPATH</filename>.
608 In general, the most important configuration file from a user's perspective
609 is <filename>local.conf</filename>, which contains a user's
610 customized settings for the build environment.
611 Other notable configuration files are the distribution configuration
612 file (set by the <filename>DISTRO</filename> variable) and the machine
613 configuration file (set by the <filename>MACHINE</filename> variable).
614 The <filename>DISTRO</filename> and <filename>MACHINE</filename> BitBake
615 environment variables are both usually set in the
616 <filename>local.conf file</filename>.
617 Valid distribution configuration files are available
618 in the <filename>conf/distro/</filename> directory and valid machine
619 configuration files in the <filename>meta/conf/machine/</filename>
620 directory.
621 Within the <filename>conf/machine/include/</filename> directory are
622 various <filename>tune-*.inc</filename> configuration files
623 that provide common "tuning" settings specific to and shared between
624 particular architectures and machines.
625 </para>
626
627 <para>
628 After parsing of the configuration files, some standard classes are
629 included.
630 The <filename>base.bbclass</filename> file
631 is always included.
632 Other classes that are specified in the configuration using the
633 <filename>INHERIT</filename> variable are also included.
634 Class files are searched for in a classes subdirectory under
635 the paths in <filename>BBPATH</filename> in the same way as
636 configuration files.
637 </para>
638
639 <para>
640 After classes are included, the variable
641 <filename>BBFILES</filename> is set, usually in
642 <filename>local.conf</filename>, and defines the list of
643 places to search for <filename>.bb</filename> files.
644 Adding extra content to <filename>BBFILES</filename> is best
645 achieved through the use of BitBake layers as described in the
646 Layers section below.
647 </para>
648
649 <para>
650 BitBake parses each <filename>.bb</filename> file in
651 <filename>BBFILES</filename> and stores the values of various
652 variables.
653 In summary, for each <filename>.bb</filename> file the configuration
654 plus the base class of variables are set, followed by the data in the
655 <filename>.bb</filename> file itself, followed by any inherit commands
656 that <filename>.bb</filename> file might contain.
657 </para>
658
659 <para>
660 Because parsing <filename>.bb</filename> files is a time consuming
661 process, a cache is kept to speed up subsequent parsing.
662 This cache is invalid if the timestamp of the
663 <filename>.bb</filename> file itself changes, or if the timestamps of
664 any of the include, configuration files or class files on which
665 the <filename>.bb</filename> file depends change.
666 </para>
667 </section>
668
584 <section id='configiguration-files'> 669 <section id='configiguration-files'>
585 <title>Configuration files</title> 670 <title>Configuration files</title>
671
586 <para> 672 <para>
587 The first kind of metadata in BitBake is configuration metadata. 673 The first kind of metadata in BitBake is configuration metadata.
588 This metadata is global, and therefore affects all packages and 674 This metadata is global, and therefore affects all packages and