diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2010-12-02 14:21:58 -0800 |
---|---|---|
committer | Saul Wold <Saul.Wold@intel.com> | 2010-12-10 22:01:26 -0800 |
commit | 111f0678eecb63f8f44a5128bc3bfc46942231a7 (patch) | |
tree | 299a14aae80ba113811a280b8c626cdc67c814c4 /documentation/poky-ref-manual | |
parent | fcbacff6837268e9ca94a9512029d826b44841b8 (diff) | |
download | poky-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')
-rw-r--r-- | documentation/poky-ref-manual/ref-bitbake.xml | 82 |
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 |