diff options
| -rw-r--r-- | bitbake/doc/user-manual/user-manual-intro.xml | 132 |
1 files changed, 70 insertions, 62 deletions
diff --git a/bitbake/doc/user-manual/user-manual-intro.xml b/bitbake/doc/user-manual/user-manual-intro.xml index 05a3fc8989..c1a9aed3a5 100644 --- a/bitbake/doc/user-manual/user-manual-intro.xml +++ b/bitbake/doc/user-manual/user-manual-intro.xml | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | <title>Introduction</title> | 19 | <title>Introduction</title> |
| 20 | 20 | ||
| 21 | <para> | 21 | <para> |
| 22 | fundamentally, BitBake is a generic task execution | 22 | Fundamentally, BitBake is a generic task execution |
| 23 | engine that allows shell and Python tasks to be run | 23 | engine that allows shell and Python tasks to be run |
| 24 | efficiently and in parallel while working within | 24 | efficiently and in parallel while working within |
| 25 | complex inter-task dependency constraints. | 25 | complex inter-task dependency constraints. |
| @@ -78,10 +78,9 @@ | |||
| 78 | </itemizedlist> | 78 | </itemizedlist> |
| 79 | Today, BitBake is the primary basis of the | 79 | Today, BitBake is the primary basis of the |
| 80 | <ulink url="http://www.openembedded.org/">OpenEmbedded</ulink> | 80 | <ulink url="http://www.openembedded.org/">OpenEmbedded</ulink> |
| 81 | project, which is being used to build and maintain a | 81 | project, which is being used to build and maintain Linux |
| 82 | number of projects and embedded Linux distributions | 82 | distributions such as the Angstrom Distribution and which is used |
| 83 | such as the Angstrom Distribution and the Yocto | 83 | as the build tool for Linux projects such as the Yocto Project. |
| 84 | Project. | ||
| 85 | </para> | 84 | </para> |
| 86 | 85 | ||
| 87 | <para> | 86 | <para> |
| @@ -202,11 +201,11 @@ | |||
| 202 | <para> | 201 | <para> |
| 203 | BitBake Recipes, which are denoted by the file extension | 202 | BitBake Recipes, which are denoted by the file extension |
| 204 | <filename>.bb</filename>, are the most basic metadata files. | 203 | <filename>.bb</filename>, are the most basic metadata files. |
| 205 | These recipe files provide BitBake the following: | 204 | These recipe files provide BitBake with the following: |
| 206 | <itemizedlist> | 205 | <itemizedlist> |
| 207 | <listitem><para>Descriptive information about the package</para></listitem> | 206 | <listitem><para>Descriptive information about the package</para></listitem> |
| 208 | <listitem><para>The version of the recipe</para></listitem> | 207 | <listitem><para>The version of the recipe</para></listitem> |
| 209 | <listitem><para>When dependencies exist</para></listitem> | 208 | <listitem><para>Existing Dependencies</para></listitem> |
| 210 | <listitem><para>Where the source code resides</para></listitem> | 209 | <listitem><para>Where the source code resides</para></listitem> |
| 211 | <listitem><para>Whether the source code requires any patches</para></listitem> | 210 | <listitem><para>Whether the source code requires any patches</para></listitem> |
| 212 | <listitem><para>How to compile the source code</para></listitem> | 211 | <listitem><para>How to compile the source code</para></listitem> |
| @@ -228,31 +227,6 @@ | |||
| 228 | </para> | 227 | </para> |
| 229 | </section> | 228 | </section> |
| 230 | 229 | ||
| 231 | <section id='append-bbappend-files'> | ||
| 232 | <title>Append Files</title> | ||
| 233 | |||
| 234 | <para> | ||
| 235 | Append files, which are files that have the | ||
| 236 | <filename>.bbappend</filename> file extension, add or | ||
| 237 | extend build information to an existing | ||
| 238 | recipe file. | ||
| 239 | </para> | ||
| 240 | |||
| 241 | <para> | ||
| 242 | BitBake expects every append file to have a corresponding recipe file. | ||
| 243 | Furthermore, the append file and corresponding recipe file | ||
| 244 | must use the same root filename. | ||
| 245 | The filenames can differ only in the file type suffix used | ||
| 246 | (e.g. <filename>formfactor_0.0.bb</filename> and | ||
| 247 | <filename>formfactor_0.0.bbappend</filename>). | ||
| 248 | </para> | ||
| 249 | |||
| 250 | <para> | ||
| 251 | Information in append files overrides the information in the | ||
| 252 | similarly-named recipe file. | ||
| 253 | </para> | ||
| 254 | </section> | ||
| 255 | |||
| 256 | <section id='configuration-files'> | 230 | <section id='configuration-files'> |
| 257 | <title>Configuration Files</title> | 231 | <title>Configuration Files</title> |
| 258 | 232 | ||
| @@ -283,9 +257,9 @@ | |||
| 283 | called <filename>base.bbclass</filename>. | 257 | called <filename>base.bbclass</filename>. |
| 284 | You can find this file in the | 258 | You can find this file in the |
| 285 | <filename>classes</filename> directory. | 259 | <filename>classes</filename> directory. |
| 286 | The <filename>base.bbclass</filename> is special in that any | 260 | The <filename>base.bbclass</filename> is special since it |
| 287 | new classes that a developer adds to a project are required to | 261 | is always included automatically for all recipes |
| 288 | inherit <filename>base.bbclass</filename> automatically. | 262 | and classes. |
| 289 | This class contains definitions for standard basic tasks such | 263 | This class contains definitions for standard basic tasks such |
| 290 | as fetching, unpacking, configuring (empty by default), | 264 | as fetching, unpacking, configuring (empty by default), |
| 291 | compiling (runs any Makefile present), installing (empty by | 265 | compiling (runs any Makefile present), installing (empty by |
| @@ -324,6 +298,31 @@ | |||
| 324 | (<filename>.bbappend</filename>) file. | 298 | (<filename>.bbappend</filename>) file. |
| 325 | </para> | 299 | </para> |
| 326 | </section> | 300 | </section> |
| 301 | |||
| 302 | <section id='append-bbappend-files'> | ||
| 303 | <title>Append Files</title> | ||
| 304 | |||
| 305 | <para> | ||
| 306 | Append files, which are files that have the | ||
| 307 | <filename>.bbappend</filename> file extension, add or | ||
| 308 | extend build information to an existing | ||
| 309 | recipe file. | ||
| 310 | </para> | ||
| 311 | |||
| 312 | <para> | ||
| 313 | BitBake expects every append file to have a corresponding recipe file. | ||
| 314 | Furthermore, the append file and corresponding recipe file | ||
| 315 | must use the same root filename. | ||
| 316 | The filenames can differ only in the file type suffix used | ||
| 317 | (e.g. <filename>formfactor_0.0.bb</filename> and | ||
| 318 | <filename>formfactor_0.0.bbappend</filename>). | ||
| 319 | </para> | ||
| 320 | |||
| 321 | <para> | ||
| 322 | Information in append files overrides the information in the | ||
| 323 | similarly-named recipe file. | ||
| 324 | </para> | ||
| 325 | </section> | ||
| 327 | </section> | 326 | </section> |
| 328 | 327 | ||
| 329 | <section id='obtaining-bitbake'> | 328 | <section id='obtaining-bitbake'> |
| @@ -332,35 +331,22 @@ | |||
| 332 | <para> | 331 | <para> |
| 333 | You can obtain BitBake several different ways: | 332 | You can obtain BitBake several different ways: |
| 334 | <itemizedlist> | 333 | <itemizedlist> |
| 335 | <listitem><para><emphasis>Installation using your Distribution | ||
| 336 | Package Management System:</emphasis> | ||
| 337 | This method is not | ||
| 338 | recommended because the BitBake version, in most | ||
| 339 | cases provided by your distribution, is several | ||
| 340 | releases behind a snapshot of the BitBake repository. | ||
| 341 | </para></listitem> | ||
| 342 | <listitem><para><emphasis>Taking a snapshot of BitBake:</emphasis> | ||
| 343 | Downloading a snapshot of BitBake from the | ||
| 344 | source code repository is the recommended method | ||
| 345 | as you are assured of having the most recent stable | ||
| 346 | BitBake release.</para> | ||
| 347 | <para>The following example downloads a snapshot of | ||
| 348 | BitBake version 1.17.0: | ||
| 349 | <literallayout class='monospaced'> | ||
| 350 | $ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz | ||
| 351 | $ tar zxpvf bitbake-1.17.0.tar.gz | ||
| 352 | </literallayout> | ||
| 353 | After extraction of the tarball using the tar utility, | ||
| 354 | you have a directory entitled | ||
| 355 | <filename>bitbake-1.17.0</filename>. | ||
| 356 | </para></listitem> | ||
| 357 | <listitem><para><emphasis>Cloning BitBake:</emphasis> | 334 | <listitem><para><emphasis>Cloning BitBake:</emphasis> |
| 358 | Using Git to clone the BitBake source code repository | 335 | Using Git to clone the BitBake source code repository |
| 359 | is also a recommended method when you need the absolute latest | 336 | is the recommended method for obtaining BitBake. |
| 360 | BitBake source. | 337 | Cloning the repository makes it easy to get bug fixes |
| 361 | Realize that using this method could expose you to areas of | 338 | and have access to stable branches and the master |
| 362 | BitBake that are under development.</para> | 339 | branch. |
| 363 | <para>Here is an example: | 340 | Once you have cloned BitBake, you should use |
| 341 | the latest stable | ||
| 342 | branch for development since the master branch is for | ||
| 343 | BitBake development and might contain less stable changes. | ||
| 344 | </para> | ||
| 345 | <para>You usually need a version of BitBake | ||
| 346 | that matches the metadata you are using. | ||
| 347 | The metadata is generally backwards compatible but | ||
| 348 | not forward compatible.</para> | ||
| 349 | <para>Here is an example that clones the BitBake repository: | ||
| 364 | <literallayout class='monospaced'> | 350 | <literallayout class='monospaced'> |
| 365 | $ git clone git://git.openembedded.org/bitbake | 351 | $ git clone git://git.openembedded.org/bitbake |
| 366 | </literallayout> | 352 | </literallayout> |
| @@ -376,6 +362,28 @@ | |||
| 376 | <literallayout class='monospaced'> | 362 | <literallayout class='monospaced'> |
| 377 | $ git clone git://git.openembedded.org/bitbake bbdev | 363 | $ git clone git://git.openembedded.org/bitbake bbdev |
| 378 | </literallayout></para></listitem> | 364 | </literallayout></para></listitem> |
| 365 | <listitem><para><emphasis>Installation using your Distribution | ||
| 366 | Package Management System:</emphasis> | ||
| 367 | This method is not | ||
| 368 | recommended because the BitBake version that is | ||
| 369 | provided by your distribution, in most cases, | ||
| 370 | is several | ||
| 371 | releases behind a snapshot of the BitBake repository. | ||
| 372 | </para></listitem> | ||
| 373 | <listitem><para><emphasis>Taking a snapshot of BitBake:</emphasis> | ||
| 374 | Downloading a snapshot of BitBake from the | ||
| 375 | source code repository gives you access to a known | ||
| 376 | branch or release of BitBake.</para> | ||
| 377 | <para>The following example downloads a snapshot of | ||
| 378 | BitBake version 1.17.0: | ||
| 379 | <literallayout class='monospaced'> | ||
| 380 | $ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz | ||
| 381 | $ tar zxpvf bitbake-1.17.0.tar.gz | ||
| 382 | </literallayout> | ||
| 383 | After extraction of the tarball using the tar utility, | ||
| 384 | you have a directory entitled | ||
| 385 | <filename>bitbake-1.17.0</filename>. | ||
| 386 | </para></listitem> | ||
| 379 | </itemizedlist> | 387 | </itemizedlist> |
| 380 | </para> | 388 | </para> |
| 381 | </section> | 389 | </section> |
