]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
user-manual-intro.xml: Re-write of BitBake introduction.
authorBill Traynor <wmat@alphatroop.com>
Tue, 14 Jan 2014 00:34:16 +0000 (18:34 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 Jan 2014 21:00:12 +0000 (21:00 +0000)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
doc/user-manual/user-manual-intro.xml

index 4050e432dce4b621527e95eaf65f0d341413132e..f013ee6f453e9b37e0ac49c5256769b68d118ae5 100644 (file)
@@ -8,21 +8,46 @@
         <title>Introduction</title>
 
         <para>
-            BitBake is a tool for executing tasks commonly performed by software
-            developers when building systems on a daily basis.
-            BitBake can build Systems consisting of numerous individual pieces
-            of software, or can be used to build a single application.
-            Example tasks that BitBake can execute are fetching source code,
-            applying patches to source code, configuring, compiling, and
-            packaging applications into a complete system, and managing metadata.
-            BitBake abstracts the information for completing individual tasks
-            into files known as recipes.
-            Recipes contain all of the relevant information required by BitBake
-            to complete a given task including dependencies, source file
-            locations, etc.
-            BitBake is similar to
-            <ulink url='http://www.gnu.org/software/make/'>GNU Make</ulink>
-            and other build tools.
+            fundamentally, BitBake is a generic task execution
+            engine that allows shell and Python tasks to be run
+            efficiently and in parallel while working within
+            complex inter-task dependency constraints.
+            One of BitBake's main users, OpenEmbedded, takes this core
+            and builds embedded Linux software stacks using
+            a task-oriented approach.
+        </para>
+
+        <para>
+            Conceptually, BitBake is similar to GNU Make in
+            some regards but has significant differences:
+            <itemizedlist>
+                <listitem><para>
+                    BitBake executes tasks according to provided
+                    metadata that builds up the tasks.
+                    Metadata is stored in recipe (<filename>.bb</filename>),
+                    configuration (<filename>.conf</filename>), and class
+                    (<filename>.bbclass</filename>) files and provides
+                    BitBake with instructions on what tasks to run and
+                    the dependencies between those tasks.
+                    </para></listitem>
+                <listitem><para>
+                    BitBake includes a fetcher library for obtaining source
+                    code from various places such as source control
+                    systems or websites.
+                    </para></listitem>
+                <listitem><para>
+                    The instructions for each unit to be built (e.g. a piece
+                    of software) are known as recipe files and
+                    contain all the information about the unit
+                    (dependencies, source file locations, checksums, description
+                    and so on).
+                    </para></listitem>
+                <listitem><para>
+                    BitBake includes a client/server abstraction and can
+                    be used from a command line or used as a service over XMLRPC and
+                    has several different user interfaces.
+                    </para></listitem>
+            </itemizedlist>
         </para>
     </section>