summaryrefslogtreecommitdiff
path: root/poky/documentation/ref-manual/structure.rst
diff options
context:
space:
mode:
Diffstat (limited to 'poky/documentation/ref-manual/structure.rst')
-rw-r--r--poky/documentation/ref-manual/structure.rst81
1 files changed, 44 insertions, 37 deletions
diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst
index bdcffc1947..429f81e14c 100644
--- a/poky/documentation/ref-manual/structure.rst
+++ b/poky/documentation/ref-manual/structure.rst
@@ -68,6 +68,9 @@ information on separating output from your local Source Directory files
(commonly described as an "out of tree" build), see the
":ref:`structure-core-script`" section.
+See the ":ref:`The Build Directory --- build/ <structure-build>`" section for details
+about the contents of the :term:`Build Directory`.
+
.. _handbook:
``documentation/``
@@ -189,7 +192,7 @@ Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`::
$ source oe-init-build-env ~/mybuilds
The OpenEmbedded build system uses the template configuration files, which
-are found by default in the ``meta-poky/conf/`` directory in the Source
+are found by default in the ``meta-poky/conf/templates/default`` directory in the Source
Directory. See the
":ref:`dev-manual/common-tasks:creating a custom template configuration directory`"
section in the Yocto Project Development Tasks Manual for more
@@ -237,6 +240,18 @@ subdirectories. For information on the build history feature, see the
":ref:`dev-manual/common-tasks:maintaining build output quality`"
section in the Yocto Project Development Tasks Manual.
+.. _structure-build-cache:
+
+``build/cache/``
+----------------
+
+This directory contains several internal files used by the OpenEmbedded
+build system.
+
+It also contains ``sanity_info``, a text file keeping track of important
+build information such as the values of :term:`TMPDIR`, :term:`SSTATE_DIR`,
+as well as the name and version of the host distribution.
+
.. _structure-build-conf-local.conf:
``build/conf/local.conf``
@@ -261,15 +276,15 @@ OpenEmbedded build system creates it from ``local.conf.sample`` when you
:ref:`structure-core-script`.
The source ``local.conf.sample`` file used depends on the
-:term:`TEMPLATECONF` script variable, which defaults to ``meta-poky/conf/``
+:term:`TEMPLATECONF` script variable, which defaults to ``meta-poky/conf/templates/default``
when you are building from the Yocto Project development environment,
-and to ``meta/conf/`` when you are building from the OpenEmbedded-Core
+and to ``meta/conf/templates/default`` when you are building from the OpenEmbedded-Core
environment. Because the script variable points to the source of the
``local.conf.sample`` file, this implies that you can configure your
build environment from any layer by setting the variable in the
top-level build environment setup script as follows::
- TEMPLATECONF=your_layer/conf
+ TEMPLATECONF=your_layer/conf/templates/your_template_name
Once the build process gets the sample
file, it uses ``sed`` to substitute final
@@ -281,7 +296,7 @@ file, it uses ``sed`` to substitute final
You can see how the :term:`TEMPLATECONF` variable is used by looking at the
``scripts/oe-setup-builddir`` script in the :term:`Source Directory`.
You can find the Yocto Project version of the ``local.conf.sample`` file in
- the ``meta-poky/conf`` directory.
+ the ``meta-poky/conf/templates/default`` directory.
.. _structure-build-conf-bblayers.conf:
@@ -301,14 +316,14 @@ you ``source`` the top-level build environment setup script (i.e.
As with the ``local.conf`` file, the source ``bblayers.conf.sample``
file used depends on the :term:`TEMPLATECONF` script variable, which
-defaults to ``meta-poky/conf/`` when you are building from the Yocto
-Project development environment, and to ``meta/conf/`` when you are
+defaults to ``meta-poky/conf/templates/default`` when you are building from the Yocto
+Project development environment, and to ``meta/conf/templates/default`` when you are
building from the OpenEmbedded-Core environment. Because the script
variable points to the source of the ``bblayers.conf.sample`` file, this
implies that you can base your build from any layer by setting the
variable in the top-level build environment setup script as follows::
- TEMPLATECONF=your_layer/conf
+ TEMPLATECONF=your_layer/conf/templates/your_template_name
Once the build process gets the sample file, it uses ``sed`` to substitute final
``${``\ :term:`OEROOT`\ ``}`` values for all ``##OEROOT##`` values.
@@ -317,17 +332,9 @@ Once the build process gets the sample file, it uses ``sed`` to substitute final
You can see how the :term:`TEMPLATECONF` variable is defined by the ``scripts/oe-setup-builddir``
script in the :term:`Source Directory`. You can find the Yocto Project
- version of the ``bblayers.conf.sample`` file in the ``meta-poky/conf/``
+ version of the ``bblayers.conf.sample`` file in the ``meta-poky/conf/templates/default``
directory.
-.. _structure-build-conf-sanity_info:
-
-``build/cache/sanity_info``
----------------------------
-
-This file indicates the state of the sanity checks and is created during
-the build.
-
.. _structure-build-downloads:
``build/downloads/``
@@ -366,14 +373,14 @@ remove the ``build/sstate-cache`` directory.
.. _structure-build-tmp-buildstats:
``build/tmp/buildstats/``
--------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~
This directory stores the build statistics.
.. _structure-build-tmp-cache:
``build/tmp/cache/``
---------------------
+~~~~~~~~~~~~~~~~~~~~
When BitBake parses the metadata (recipes and configuration files), it
caches the results in ``build/tmp/cache/`` to speed up future builds.
@@ -389,7 +396,7 @@ cache is reused. If the file has changed, it is reparsed.
.. _structure-build-tmp-deploy:
``build/tmp/deploy/``
----------------------
+~~~~~~~~~~~~~~~~~~~~~
This directory contains any "end result" output from the OpenEmbedded
build process. The :term:`DEPLOY_DIR` variable points
@@ -402,7 +409,7 @@ Project Overview and Concepts Manual.
.. _structure-build-tmp-deploy-deb:
``build/tmp/deploy/deb/``
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
This directory receives any ``.deb`` packages produced by the build
process. The packages are sorted into feeds for different architecture
@@ -411,7 +418,7 @@ types.
.. _structure-build-tmp-deploy-rpm:
``build/tmp/deploy/rpm/``
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
This directory receives any ``.rpm`` packages produced by the build
process. The packages are sorted into feeds for different architecture
@@ -420,14 +427,14 @@ types.
.. _structure-build-tmp-deploy-ipk:
``build/tmp/deploy/ipk/``
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
This directory receives ``.ipk`` packages produced by the build process.
.. _structure-build-tmp-deploy-licenses:
``build/tmp/deploy/licenses/``
-------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This directory receives package licensing information. For example, the
directory contains sub-directories for ``bash``, ``busybox``, and
@@ -440,7 +447,7 @@ section in the Yocto Project Development Tasks Manual.
.. _structure-build-tmp-deploy-images:
``build/tmp/deploy/images/``
-----------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This directory is populated with the basic output objects of the build
(think of them as the "generated artifacts" of the build process),
@@ -467,7 +474,7 @@ the kernel files::
.. _structure-build-tmp-deploy-sdk:
``build/tmp/deploy/sdk/``
--------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^
The OpenEmbedded build system creates this directory to hold toolchain
installer scripts which, when executed, install the sysroot that matches
@@ -479,7 +486,7 @@ Software Development Kit (eSDK) manual.
.. _structure-build-tmp-sstate-control:
``build/tmp/sstate-control/``
------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The OpenEmbedded build system uses this directory for the shared state
manifest files. The shared state code uses these files to record the
@@ -492,7 +499,7 @@ another.
.. _structure-build-tmp-sysroots-components:
``build/tmp/sysroots-components/``
-----------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This directory is the location of the sysroot contents that the task
:ref:`ref-tasks-prepare_recipe_sysroot`
@@ -507,7 +514,7 @@ should be automatic, and recipes should not directly reference
.. _structure-build-tmp-sysroots:
``build/tmp/sysroots/``
------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
Previous versions of the OpenEmbedded build system used to create a
global shared sysroot per machine along with a native sysroot. Since
@@ -525,7 +532,7 @@ recipe-specific :term:`WORKDIR` directories. Thus, the
.. _structure-build-tmp-stamps:
``build/tmp/stamps/``
----------------------
+~~~~~~~~~~~~~~~~~~~~~
This directory holds information that BitBake uses for accounting
purposes to track what tasks have run and when they have run. The
@@ -545,7 +552,7 @@ section in the Yocto Project Overview and Concepts Manual.
.. _structure-build-tmp-log:
``build/tmp/log/``
-------------------
+~~~~~~~~~~~~~~~~~~
This directory contains general logs that are not otherwise placed using
the package's :term:`WORKDIR`. Examples of logs are the output from the
@@ -555,7 +562,7 @@ necessarily mean this directory is created.
.. _structure-build-tmp-work:
``build/tmp/work/``
--------------------
+~~~~~~~~~~~~~~~~~~~
This directory contains architecture-specific work sub-directories for
packages built by BitBake. All tasks execute from the appropriate work
@@ -587,7 +594,7 @@ install" places its output that is then split into sub-packages within
.. _structure-build-tmp-work-tunearch-recipename-version:
``build/tmp/work/tunearch/recipename/version/``
------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The recipe work directory --- ``${WORKDIR}``.
@@ -645,7 +652,7 @@ Here are key subdirectories within each recipe work directory:
.. _structure-build-work-shared:
``build/tmp/work-shared/``
---------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~
For efficiency, the OpenEmbedded build system creates and uses this
directory to hold recipes that share a work directory with other
@@ -695,7 +702,7 @@ distribution configuration file.
.. _structure-meta-conf-machine:
``meta/conf/machine/``
-----------------------
+~~~~~~~~~~~~~~~~~~~~~~
This directory contains all the machine configuration files. If you set
``MACHINE = "qemux86"``, the OpenEmbedded build system looks for a
@@ -706,7 +713,7 @@ support for a new machine to the Yocto Project, look in this directory.
.. _structure-meta-conf-distro:
``meta/conf/distro/``
----------------------
+~~~~~~~~~~~~~~~~~~~~~
The contents of this directory controls any distribution-specific
configurations. For the Yocto Project, the ``defaultsetup.conf`` is the
@@ -718,7 +725,7 @@ file mainly inherits its configuration from Poky.
.. _structure-meta-conf-machine-sdk:
``meta/conf/machine-sdk/``
---------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~
The OpenEmbedded build system searches this directory for configuration
files that correspond to the value of