ref-manual, mega-manual: Edits for expanded packaging description

Fixes [YOCTO #2808]

Applied review comments to the package splitting section in the
section that digs deeper into the build process.  This involved
updating the figure that resides in both "figures" directories
of the ref-manual and the mega-manual. Also updated supporting
text throughout the section per Paul's comments.

(From yocto-docs rev: 34e3610d0c6912530f678e9f1fa4587aaaf9fc70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-08-26 17:06:00 +03:00 committed by Richard Purdie
parent 2abfe0cc3d
commit 987f91e16c
3 changed files with 33 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -1130,38 +1130,49 @@
<title>Package Splitting</title> <title>Package Splitting</title>
<para> <para>
After source code configured and compiled, BitBake analyzes After source code is configured and compiled, the
the results and splits the output into package: OpenEmbedded build system analyzes
the results and splits the output into packages:
<imagedata fileref="figures/analysis-for-package-splitting.png" align="center" width="7in" depth="7in" /> <imagedata fileref="figures/analysis-for-package-splitting.png" align="center" width="7in" depth="7in" />
</para> </para>
<para> <para>
The <filename>do_package</filename> and The <filename>do_package</filename> and
<filename>do_packagedata</filename> tasks combine to analyze <filename>do_packagedata</filename> tasks combine to analyze
the data found in the the files found in the
<link linkend='var-D'><filename>D</filename></link> directory <link linkend='var-D'><filename>D</filename></link> directory
and split it into subsets based on available packages and and split them into subsets based on available packages and
files. files.
The analyzing process involves splitting out debugging symbols, The analyzing process involves the following as well as other
looking at shared library dependencies between packages, and items: splitting out debugging symbols,
looking at package relationships. looking at shared library dependencies between packages,
The <filename>do_packagedata</filename> task puts package and looking at package relationships.
metadata based on the analysis such that BitBake can generate The <filename>do_packagedata</filename> task creates package
the final packages. metadata based on the analysis such that the
Intermediate results of the package analysis and splitting OpenEmbedded build system can generate the final packages.
end up in the Working, staged, and intermediate results of the analysis
<link linkend='var-PKGDEST'><filename>PKGDEST</filename></link> and package splitting process use these areas:
directory with the <itemizedlist>
<link linkend='var-FILES'><filename>FILES</filename></link> <listitem><para><link linkend='var-PKGD'><filename>PKGD</filename></link>
variable defining the files that go into the packages. </para></listitem>
If you want some details on how this is accomplished, you can <listitem><para><link linkend='var-PKGDATA_DIR'><filename>PKGDATA_DIR</filename></link>
</para></listitem>
<listitem><para><link linkend='var-PKGDESTWORK'><filename>PKGDESTWORK</filename></link>
</para></listitem>
<listitem><para><link linkend='var-PKGDEST'><filename>PKGDEST</filename></link>
</para></listitem>
</itemizedlist>
The <link linkend='var-FILES'><filename>FILES</filename></link>
variable defines the files that go into each package in
<link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>.
If you want details on how this is accomplished, you can
look at look at
<link linkend='ref-classes-package'><filename>package.bbclass</filename></link>. <link linkend='ref-classes-package'><filename>package.bbclass</filename></link>.
</para> </para>
<para> <para>
Depending on the type of packages being created (RPM, DEB, or Depending on the type of packages being created (RPM, DEB, or
IPK), the <filename>do_packagewrite_*</filename> task IPK), the <filename>do_package_write_*</filename> task
creates the actual packages and places them in the creates the actual packages and places them in the
Package Feed area, which is Package Feed area, which is
<filename>${TMPDIR}/deploy</filename>. <filename>${TMPDIR}/deploy</filename>.
@ -1173,9 +1184,10 @@
<filename>deploy/*</filename> directories does not exist. <filename>deploy/*</filename> directories does not exist.
Creating such feeds usually requires some kind of feed Creating such feeds usually requires some kind of feed
maintenance mechanism that would upload the new packages maintenance mechanism that would upload the new packages
into an official package feed (e.g. angstrom). into an official package feed (e.g. the
Providing such a piece for the user is not feasible since Ångström distribution).
it is very distribution-specific. This functionality is highly distribution-specific
and thus is not provided out of the box.
</note> </note>
</para> </para>
</section> </section>