From 173f158121fd3a983e4b2d8609fa778de50b353a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 9 May 2018 10:07:30 -0700 Subject: [PATCH] overview-manual: Updated the "Package Splitting" section. Rewrite included the "do_populate_sysroot" task and a bunch of STAGING_DIR_* variables. (From yocto-docs rev: 53484d4982a41f83ac9355aada46526b5d05f64a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../overview-manual-concepts.xml | 68 +++++++++++++++---- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/documentation/overview-manual/overview-manual-concepts.xml b/documentation/overview-manual/overview-manual-concepts.xml index a9cff85066..4797878312 100644 --- a/documentation/overview-manual/overview-manual-concepts.xml +++ b/documentation/overview-manual/overview-manual-concepts.xml @@ -1312,7 +1312,8 @@ ${WORKDIR} (i.e. recipe-sysroot and recipe-sysroot-native) so that - the sysroots contain the contents of the + during the packaging phase the sysroots can contain + the contents of the do_populate_sysroot tasks of the recipes on which the recipe containing the tasks depends. @@ -1398,37 +1399,74 @@ do_packagedata tasks combine to analyze the files found in the D - directory (i.e. the staging area) and split them into - subsets based on available packages and files. + directory and split them into subsets based on available + packages and files. Analysis involves the following as well as other items: splitting out debugging symbols, looking at shared library dependencies between packages, and looking at package relationships. + + + The do_packagedata task creates package metadata based on the analysis such that the build system can generate the final packages. + The + do_populate_sysroot + task stages (copies) a subset of the files installed by + the + do_install + task into the appropriate sysroot. Working, staged, and intermediate results of the analysis - and package splitting process use these areas: + and package splitting process use several areas: PKGD: - The destination directory for packages before they - are split. - - - PKGDATA_DIR: - A shared, global-state directory that holds data - generated during the packaging process. + The destination directory + (i.e. package) for packages + before they are split into individual packages. PKGDESTWORK: - A temporary work area used by the - do_package task. + A temporary work area (i.e. + pkgdata) used by the + do_package task to save + package metadata. PKGDEST: - The parent directory for packages after they have - been split. + The parent directory (i.e. + packages-split) for packages + after they have been split. + + + PKGDATA_DIR: + A shared, global-state directory that holds + packaging metadata generated during the packaging + process. + The packaging process copies metadata from + PKGDESTWORK to the + PKGDATA_DIR area where it + becomes globally available. + + + STAGING_DIR_HOST: + The path for the sysroot for the system on which + a component is built to run (i.e. + recipe-sysroot). + + + STAGING_DIR_NATIVE: + The path for the sysroot used when building + components for the build host (i.e. + recipe-sysroot-native). + + + STAGING_DIR_TARGET: + The path for the sysroot used when a component that + is built to execute on a system and it generates + code for yet another machine (e.g. cross-canadian + recipes). The