summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/doc/user-manual/user-manual-intro.xml90
1 files changed, 89 insertions, 1 deletions
diff --git a/bitbake/doc/user-manual/user-manual-intro.xml b/bitbake/doc/user-manual/user-manual-intro.xml
index 347b17a156..88c415cc58 100644
--- a/bitbake/doc/user-manual/user-manual-intro.xml
+++ b/bitbake/doc/user-manual/user-manual-intro.xml
@@ -139,5 +139,93 @@
139 It is highly extensible, supporting embedded Python code and 139 It is highly extensible, supporting embedded Python code and
140 execution of any arbitrary tasks. 140 execution of any arbitrary tasks.
141 </para> 141 </para>
142 </section> 142 </section>
143
144 <section id="Concepts">
145 <title>Concepts</title>
146
147 <para>
148 BitBake is a program written in the Python language.
149 At the highest level, BitBake interprets metadata, decides
150 what tasks are required to run, and executes those tasks.
151 Similar to GNU Make, BitBake controls how software is
152 built.
153 GNU Make does this using "makefiles". BitBake uses
154 "recipes".
155 BitBake extends the capabilities of a simple
156 tool like GNU make by allowing for much more complex tasks
157 to be completed, such as assembling entire embedded Linux
158 distributions. Several concepts must be understood to be able
159 to leverage the power of the tool.
160 </para>
161
162 <section id='recipes'>
163 <title>Recipes</title>
164
165 <para>
166 A BitBake Recipe, denoted by the file extension
167 <filename>.bb</filename> is the most
168 basic metadata file.
169 It tells BitBake the following:
170 <itemizedlist>
171 <listitem><para>descriptive information about the package</para></listitem>
172 <listitem><para>the version of the recipe</para></listitem>
173 <listitem><para>when dependencies exist</para></listitem>
174 <listitem><para>where the source code resides</para></listitem>
175 <listitem><para>whether the source code requires any patches</para></listitem>
176 <listitem><para>how to compile the source code</para></listitem>
177 <listitem><para>where on the target machine to install the package being compiled</para></listitem>
178 </itemizedlist>
179 </para>
180
181 <para>
182 Within the context of BitBake, or any project utilizing BitBake
183 as it's build system, files with the .bb extension are referred
184 to as recipes.
185 The term "package" is also commonly used to describe recipes.
186 However, since the same word is used to describe packaged
187 output from a project, it is best to maintain a single
188 descriptive term, "recipes".
189 </para>
190 </section>
191
192 <section id='configuration-files'>
193 <title>Configuration Files</title>
194
195 <para>
196 Configuration files, denoted by the
197 <filename>.conf</filename> extension define
198 various configuration variables that govern the project build
199 process.
200 These files fall into several areas that define
201 machine configuration options, distribution configuration
202 options, compiler tuning options, general common
203 configuration options and user configuration options.
204 The main configuration file is the sample bitbake.conf file,
205 located within the bitbake source tree /conf directory.
206 </para>
207 </section>
208
209 <section id='classes'>
210 <title>Classes</title>
211
212 <para>
213 Class files, denoted by the
214 <filename>.bbclass</filename> extension contain
215 information that is useful to share between metadata files.
216 The BitBake source tree comes with one class metadata file
217 currently, called base.bbclass and it is found in the /classes
218 directory.
219 The base.bbclass is special in that any new classes that a
220 developer adds to a project is required to inherit it
221 automatically.
222 This class contains definitions for standard basic tasks such
223 as fetching, unpacking, configuring (empty by default),
224 compiling (runs any Makefile present), installing (empty by
225 default) and packaging (empty by default).
226 These classes are often overridden or extended by other classes
227 added during the project development process.
228 </para>
229 </section>
230 </section>
143</chapter> 231</chapter>