From e925730cd8b68e11ac1b50f6cad0dfc05d83769a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 13 Jan 2014 17:35:00 -0600 Subject: bitbake: user-manual-intro.xml: Added "Concepts" section. Provided initial text for recipes, configuration files, and classes. (Bitbake rev: 55875bcf682979ce538845a8118452425ff96cfc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- bitbake/doc/user-manual/user-manual-intro.xml | 90 ++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) (limited to 'bitbake') 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 @@ It is highly extensible, supporting embedded Python code and execution of any arbitrary tasks. - + + +
+ Concepts + + + 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. + + +
+ Recipes + + + A BitBake Recipe, denoted by the file extension + .bb is the most + basic metadata file. + It tells BitBake the following: + + descriptive information about the package + the version of the recipe + when dependencies exist + where the source code resides + whether the source code requires any patches + how to compile the source code + where on the target machine to install the package being compiled + + + + + 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". + +
+ +
+ Configuration Files + + + Configuration files, denoted by the + .conf 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. + +
+ +
+ Classes + + + Class files, denoted by the + .bbclass 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. + +
+
-- cgit v1.2.3-54-g00ecf