summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-01-14 07:17:09 -0600
committerScott Rifenbark <scott.m.rifenbark@intel.com>2014-01-14 07:17:09 -0600
commit2c38fcf25cc414ad1844917a7be66f83f5bd7c8a (patch)
tree44e728ca491cc2fc12f04e696c9242db68f7e214
parentcec7cd31eac9facb4a3f5a51280fa7f1ee931064 (diff)
downloadbitbake-2c38fcf25cc414ad1844917a7be66f83f5bd7c8a.tar.gz
user-manual-intro.xml: Added "Concepts" section.
Provided initial text for recipes, configuration files, and classes. Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
-rw-r--r--doc/user-manual/user-manual-intro.xml82
1 files changed, 81 insertions, 1 deletions
diff --git a/doc/user-manual/user-manual-intro.xml b/doc/user-manual/user-manual-intro.xml
index f7e6a69d8..8bab61e80 100644
--- a/doc/user-manual/user-manual-intro.xml
+++ b/doc/user-manual/user-manual-intro.xml
@@ -128,7 +128,87 @@
<title>Concepts</title>
<para>
- Concepts Here.
+ BitBake is a program written in the Python language.
+ At the highest level, BitBake interprets metadata, decides
+ what tasks are required to run, and executes those tasks.
+ Similar to GNU Make, BitBake controls how software is
+ built.
+ GNU Make does this using "makefiles". BitBake uses
+ "recipes".
+ BitBake extends the capabilities of a simple
+ tool like GNU make by allowing for much more complex tasks
+ to be completed, such as assembling entire embedded Linux
+ distributions. Several concepts must be understood to be able
+ to leverage the power of the tool.
</para>
+
+ <section id='recipes'>
+ <title>Recipes</title>
+
+ <para>
+ A BitBake Recipe, denoted by the file extension
+ <filename>.bb</filename> is the most
+ basic metadata file.
+ It tells BitBake the following:
+ <itemizedlist>
+ <listitem><para>descriptive information about the package</para></listitem>
+ <listitem><para>the version of the recipe</para></listitem>
+ <listitem><para>when dependencies exist</para></listitem>
+ <listitem><para>where the source code resides</para></listitem>
+ <listitem><para>whether the source code requires any patches</para></listitem>
+ <listitem><para>how to compile the source code</para></listitem>
+ <listitem><para>where on the target machine to install the package being compiled</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Within the context of BitBake, or any project utilizing BitBake
+ as it's build system, files with the .bb extension are referred
+ to as recipes.
+ The term "package" is also commonly used to describe recipes.
+ However, since the same word is used to describe packaged
+ output from a project, it is best to maintain a single
+ descriptive term, "recipes".
+ </para>
+ </section>
+
+ <section id='configuration-files'>
+ <title>Configuration Files</title>
+
+ <para>
+ Configuration files, denoted by the
+ <filename>.conf</filename> extension define
+ various configuration variables that govern the project build
+ process.
+ These files fall into several areas that define
+ machine configuration options, distribution configuration
+ options, compiler tuning options, general common
+ configuration options and user configuration options.
+ The main configuration file is the sample bitbake.conf file,
+ located within the bitbake source tree /conf directory.
+ </para>
+ </section>
+
+ <section id='classes'>
+ <title>Classes</title>
+
+ <para>
+ Class files, denoted by the
+ <filename>.bbclass</filename> extension contain
+ information that is useful to share between metadata files.
+ The BitBake source tree comes with one class metadata file
+ currently, called base.bbclass and it is found in the /classes
+ directory.
+ The base.bbclass is special in that any new classes that a
+ developer adds to a project is required to inherit it
+ automatically.
+ This class contains definitions for standard basic tasks such
+ as fetching, unpacking, configuring (empty by default),
+ compiling (runs any Makefile present), installing (empty by
+ default) and packaging (empty by default).
+ These classes are often overridden or extended by other classes
+ added during the project development process.
+ </para>
+ </section>
</section>
</chapter>