diff --git a/documentation/mega-manual/figures/analysis-for-package-splitting.png b/documentation/mega-manual/figures/analysis-for-package-splitting.png new file mode 100644 index 0000000000..5edf62c706 Binary files /dev/null and b/documentation/mega-manual/figures/analysis-for-package-splitting.png differ diff --git a/documentation/ref-manual/figures/analysis-for-package-splitting.png b/documentation/ref-manual/figures/analysis-for-package-splitting.png new file mode 100644 index 0000000000..5edf62c706 Binary files /dev/null and b/documentation/ref-manual/figures/analysis-for-package-splitting.png differ diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 260766191a..1b67ca7424 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -1125,6 +1125,60 @@ + +
+ Package Splitting + + + After source code configured and compiled, BitBake analyzes + the results and splits the output into package: + + + + + The do_package and + do_packagedata tasks combine to analyze + the data found in the + D directory + and split it into subsets based on available packages and + files. + The analyzing process involves splitting out debugging symbols, + looking at shared library dependencies between packages, and + looking at package relationships. + The do_packagedata task puts package + metadata based on the analysis such that BitBake can generate + the final packages. + Intermediate results of the package analysis and splitting + end up in the + PKGDEST + directory with the + FILES + variable defining the files that go into the packages. + If you want some details on how this is accomplished, you can + look at + package.bbclass. + + + + Depending on the type of packages being created (RPM, DEB, or + IPK), the do_packagewrite_* task + creates the actual packages and places them in the + Package Feed area, which is + ${TMPDIR}/deploy. + You can see the + "Package Feeds" + section for more detail on that part of the build process. + + Support for creating feeds directly from the + deploy/* directories does not exist. + Creating such feeds usually requires some kind of feed + maintenance mechanism that would upload the new packages + into an official package feed (e.g. angstrom). + Providing such a piece for the user is not feasible since + it is very distribution-specific. + + +