From 304254e8eabfd32a4baf440cffeebcb6619254e8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 2 May 2018 09:17:22 -0700 Subject: overview-manual: Updated "Source Fetching" section. I scrubbed through this section and provided much better explanations of the inside workings of BitBake fetching source with building recipes. During that, I fixed an error where the PN variable was being used rather than the BPN variable. (From yocto-docs rev: 5765987259ac46f140e099d8e1da2ab33f006d36) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../overview-manual/overview-manual-concepts.xml | 105 ++++++++++++++------- 1 file changed, 73 insertions(+), 32 deletions(-) (limited to 'documentation/overview-manual') diff --git a/documentation/overview-manual/overview-manual-concepts.xml b/documentation/overview-manual/overview-manual-concepts.xml index d0b7d96f27..af9c36cc99 100644 --- a/documentation/overview-manual/overview-manual-concepts.xml +++ b/documentation/overview-manual/overview-manual-concepts.xml @@ -1083,18 +1083,17 @@ The OpenEmbedded build system uses BitBake - to produce images. + to produce images and Software Development Kits (SDKs). You can see from the general workflow figure, the BitBake area consists of several functional areas. This section takes a closer look at each of those areas. - - - - Separate documentation exists for the BitBake tool. - See the - BitBake User Manual - for reference material on BitBake. + + Separate documentation exists for the BitBake tool. + See the + BitBake User Manual + for reference material on BitBake. +
@@ -1111,8 +1110,8 @@ do_fetch and do_unpack - tasks fetch the source files and unpack them into the work - directory. + tasks fetch the source files and unpack them into the + Build Directory. For every local file (e.g. file://) that is part of a recipe's @@ -1120,14 +1119,13 @@ statement, the OpenEmbedded build system takes a checksum of the file for the recipe and inserts the checksum into the signature for the - do_fetch. + do_fetch task. If any local file has been modified, the do_fetch task and all tasks that depend on it are re-executed. - By default, everything is accomplished in the - Build Directory, - which has a defined structure. + By default, everything is accomplished in the Build + Directory, which has a defined structure. For additional general information on the Build Directory, see the "build/" @@ -1135,54 +1133,97 @@ - Unpacked source files are pointed to by the - S - variable. Each recipe has an area in the Build Directory where the unpacked source code resides. + The + S + variable points to this area for a recipe's unpacked source + code. The name of that directory for any given recipe is defined from several different variables. - You can see the variables that define these directories - by looking at the figure: + The preceding figure and the following list describe + the Build Directory's hierarchy: TMPDIR: The base directory where the OpenEmbedded build system performs all its work during the build. + The default base directory is the + tmp directory. PACKAGE_ARCH: The architecture of the built package or packages. + Depending on the eventual destination of the + package or packages (i.e. machine architecture, + build host, + SDK, or specific machine), + PACKAGE_ARCH varies. + See the variable's description for details. TARGET_OS: The operating system of the target device. + A typical value would be "linux" (e.g. + "qemux86-poky-linux"). PN: - The name of the built package. - - - PV: - The version of the recipe used to build the - package. - - - PR: - The revision of the recipe used to build the - package. + The name of the recipe used to build the package. + This variable can have multiple meanings. + However, when used in the context of input files, + PN represents the the name + of the recipe. WORKDIR: - The location within TMPDIR - where a specific package is built. + The location where the OpenEmbedded build system + builds a recipe (i.e. does the work to create the + package). + + + PV: + The version of the recipe used to build the + package. + + + PR: + The revision of the recipe used to build the + package. + + S: Contains the unpacked source files for a given recipe. + + + BPN: + The name of the recipe used to build the + package. + The BPN variable is + a version of the PN + variable but with common prefixes and + suffixes removed. + + + PV: + The version of the recipe used to build the + package. + + + In the previous figure, notice that two sample + hierarchies exist: one based on package architecture (i.e. + PACKAGE_ARCH) and one based on a + machine (i.e. MACHINE). + The underlying structures are identical. + The differentiator being what the OpenEmbedded build + system is using as a build target (e.g. general + architecture, a build host, an SDK, or a specific + machine).
-- cgit v1.2.3-54-g00ecf