summaryrefslogtreecommitdiffstats
path: root/documentation/poky-ref-manual/ref-bitbake.xml
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2010-12-02 14:21:58 -0800
committerSaul Wold <Saul.Wold@intel.com>2010-12-10 22:01:26 -0800
commit111f0678eecb63f8f44a5128bc3bfc46942231a7 (patch)
tree299a14aae80ba113811a280b8c626cdc67c814c4 /documentation/poky-ref-manual/ref-bitbake.xml
parentfcbacff6837268e9ca94a9512029d826b44841b8 (diff)
downloadpoky-111f0678eecb63f8f44a5128bc3bfc46942231a7.tar.gz
documentation/poky-ref-manual: General edits up the Parsing section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Diffstat (limited to 'documentation/poky-ref-manual/ref-bitbake.xml')
-rw-r--r--documentation/poky-ref-manual/ref-bitbake.xml82
1 files changed, 41 insertions, 41 deletions
diff --git a/documentation/poky-ref-manual/ref-bitbake.xml b/documentation/poky-ref-manual/ref-bitbake.xml
index 6221a963d8..9554c11388 100644
--- a/documentation/poky-ref-manual/ref-bitbake.xml
+++ b/documentation/poky-ref-manual/ref-bitbake.xml
@@ -6,32 +6,34 @@
6 <title>Reference: BitBake</title> 6 <title>Reference: BitBake</title>
7 7
8 <para> 8 <para>
9 BitBake is a program written in Python that interprets the metadata 9 BitBake is a program written in Python that interprets the metadata that makes up Poky.
10 that makes up Poky. At some point, people wonder what actually happens 10 At some point, people wonder what actually happens when you enter:
11 when you type <command>bitbake poky-image-sato</command>. This section 11 <literallayout class='monospaced'>
12 aims to give an overview of what happens behind the scenes from a 12 $ bitbake poky-image-sato
13 BitBake perspective. 13 </literallayout>
14 </para> 14 </para>
15 15
16 <para> 16 <para>
17 It is worth noting that BitBake aims to be a generic "task" executor 17 This appendix provides an overview of what happens behind the scenes from BitBake's perspective.
18 capable of handling complex dependency relationships. As such it has no
19 real knowledge of what the tasks it is executing actually do. It just
20 considers a list of tasks with dependencies and handles metadata
21 consisting of variables in a certain format which get passed to the
22 tasks.
23 </para> 18 </para>
24 19
20 <note><para>
21 BitBake strives to be a generic "task" executor that is capable of handling complex dependency relationships.
22 As such, it has no real knowledge of what the tasks being executed actually do.
23 BitBake just considers a list of tasks with dependencies and handles metadata
24 that consists of variables in a certain format that get passed to the tasks.
25 </para></note>
26
25 <section id='ref-bitbake-parsing'> 27 <section id='ref-bitbake-parsing'>
26 <title>Parsing</title> 28 <title>Parsing</title>
27 29
28 <para> 30 <para>
29 The first thing BitBake does is work out its configuration by 31 The first thing BitBake does is work out its configuration by
30 looking for a file called <filename>bitbake.conf</filename>. 32 looking for a file called <filename>bitbake.conf</filename>.
31 BitBake searches through the <varname>BBPATH</varname> environment 33 BitBake examines the <varname>BBPATH</varname> environment
32 variable looking for a <filename class="directory">conf/</filename> 34 variable looking for a <filename class="directory">conf/</filename>
33 directory containing a <filename>bitbake.conf</filename> file and 35 directory that contains a <filename>bitbake.conf</filename> file.
34 adds the first <filename>bitbake.conf</filename> file found in 36 BitBake adds the first <filename>bitbake.conf</filename> file found in
35 <varname>BBPATH</varname> (similar to the PATH environment variable). 37 <varname>BBPATH</varname> (similar to the PATH environment variable).
36 For Poky, <filename>bitbake.conf</filename> is found in <filename 38 For Poky, <filename>bitbake.conf</filename> is found in <filename
37 class="directory">meta/conf/</filename>. 39 class="directory">meta/conf/</filename>.
@@ -42,32 +44,32 @@
42 files to include from a <filename class="directory">conf/</filename> 44 files to include from a <filename class="directory">conf/</filename>
43 directory below the directories listed in <varname>BBPATH</varname>. 45 directory below the directories listed in <varname>BBPATH</varname>.
44 In general the most important configuration file from a user's perspective 46 In general the most important configuration file from a user's perspective
45 is <filename>local.conf</filename>, which contains a users customized 47 is <filename>local.conf</filename>, which contains a user's customized
46 settings for Poky. Other notable configuration files are the distribution 48 settings for Poky.
49 Other notable configuration files are the distribution
47 configuration file (set by the <glossterm><link linkend='var-DISTRO'> 50 configuration file (set by the <glossterm><link linkend='var-DISTRO'>
48 DISTRO</link></glossterm> variable) and the machine configuration file 51 DISTRO</link></glossterm> variable) and the machine configuration file
49 (set by the <glossterm><link linkend='var-MACHINE'>MACHINE</link> 52 (set by the <glossterm><link linkend='var-MACHINE'>MACHINE</link>
50 </glossterm> variable). The <glossterm><link linkend='var-DISTRO'> 53 </glossterm> variable).
51 DISTRO</link></glossterm> and <glossterm><link linkend='var-MACHINE'> 54 The DISTRO and MACHINE environment variables are both usually set in
52 MACHINE</link></glossterm> environment variables are both usually set in 55 the <filename>local.conf</filename> file.
53 the <filename>local.conf</filename> file. Valid distribution 56 Valid distribution
54 configuration files are available in the <filename class="directory"> 57 configuration files are available in the <filename class="directory">
55 meta/conf/distro/</filename> directory and valid machine configuration 58 meta/conf/distro/</filename> directory and valid machine configuration
56 files in the <filename class="directory">meta/conf/machine/</filename> 59 files in the <filename class="directory">meta/conf/machine/</filename>
57 directory. Within the <filename class="directory"> 60 directory.
58 meta/conf/machine/include/</filename> directory are various <filename> 61 Within the <filename class="directory">meta/conf/machine/include/</filename>
59 tune-*.inc</filename> configuration files which provide common 62 directory are various <filename>tune-*.inc</filename> configuration files that provide common
60 "tuning" settings specific to and shared between particular 63 "tuning" settings specific to and shared between particular architectures and machines.
61 architectures and machines.
62 </para> 64 </para>
63 65
64 <para> 66 <para>
65 After the parsing of the configuration files some standard classes 67 After the parsing of the configuration files some standard classes are included.
66 are included. In particular, <filename>base.bbclass</filename> is 68 The <filename>base.bbclass</filename> file is always included.
67 always included, as will any other classes 69 Other classes that are specified in the configuration using the
68 specified in the configuration using the <glossterm><link 70 <glossterm><link linkend='var-INHERIT'>INHERIT</link></glossterm>
69 linkend='var-INHERIT'>INHERIT</link></glossterm> 71 variable are also inculded.
70 variable. Class files are searched for in a classes subdirectory 72 Class files are searched for in a classes subdirectory
71 under the paths in <varname>BBPATH</varname> in the same way as 73 under the paths in <varname>BBPATH</varname> in the same way as
72 configuration files. 74 configuration files.
73 </para> 75 </para>
@@ -77,21 +79,19 @@
77 variable <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm> 79 variable <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm>
78 is set, usually in 80 is set, usually in
79 <filename>local.conf</filename>, and defines the list of places to search for 81 <filename>local.conf</filename>, and defines the list of places to search for
80 <filename class="extension">.bb</filename> files. By 82 <filename class="extension">.bb</filename> files.
81 default this specifies the <filename class="directory">meta/packages/ 83 By default this specifies the <filename class="directory">meta/packages/
82 </filename> directory within Poky, but other directories such as 84 </filename> directory within Poky, but other directories such as
83 <filename class="directory">meta-extras/</filename> can be included 85 <filename class="directory">meta-extras/</filename> can be included
84 too. Adding extra content to 86 too.
85 <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm> is best 87 Adding extra content to BBFILES is best acheived through the use of BitBake
86 acheived through the use of BitBake
87 <link linkend='usingpoky-changes-layers'>"layers"</link>. 88 <link linkend='usingpoky-changes-layers'>"layers"</link>.
88 </para> 89 </para>
89 90
90 <para> 91 <para>
91 BitBake parses each <filename class="extension">.bb</filename> file in 92 BitBake parses each <filename class="extension">.bb</filename> file in BBFILES and
92 <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm> and 93 stores the values of various variables.
93 stores the values of various variables. In summary, for each 94 In summary, for each <filename class="extension">.bb</filename>
94 <filename class="extension">.bb</filename>
95 file the configuration + base class of variables are set, followed 95 file the configuration + base class of variables are set, followed
96 by the data in the <filename class="extension">.bb</filename> file 96 by the data in the <filename class="extension">.bb</filename> file
97 itself, followed by any inherit commands that 97 itself, followed by any inherit commands that