ref-manual, mega-manual: New section on package creation
Fixes [YOCTO #2808] Added a new section to the expanded discussion on how builds are done. This section is on package creation. A new figure was added to both the ref-manual and mega-manual figures directories. (From yocto-docs rev: e31e5aeb7d93f3cfa4fc9c12e324f03a27b5f8ed) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
fff996f0d4
commit
6457ad3f28
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
|
@ -1125,6 +1125,60 @@
|
|||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='package-splitting-dev-environment'>
|
||||
<title>Package Splitting</title>
|
||||
|
||||
<para>
|
||||
After source code configured and compiled, BitBake analyzes
|
||||
the results and splits the output into package:
|
||||
<imagedata fileref="figures/analysis-for-package-splitting.png" align="center" width="7in" depth="7in" />
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <filename>do_package</filename> and
|
||||
<filename>do_packagedata</filename> tasks combine to analyze
|
||||
the data found in the
|
||||
<link linkend='var-D'><filename>D</filename></link> 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 <filename>do_packagedata</filename> 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
|
||||
<link linkend='var-PKGDEST'><filename>PKGDEST</filename></link>
|
||||
directory with the
|
||||
<link linkend='var-FILES'><filename>FILES</filename></link>
|
||||
variable defining the files that go into the packages.
|
||||
If you want some details on how this is accomplished, you can
|
||||
look at
|
||||
<link linkend='ref-classes-package'><filename>package.bbclass</filename></link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Depending on the type of packages being created (RPM, DEB, or
|
||||
IPK), the <filename>do_packagewrite_*</filename> task
|
||||
creates the actual packages and places them in the
|
||||
Package Feed area, which is
|
||||
<filename>${TMPDIR}/deploy</filename>.
|
||||
You can see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section for more detail on that part of the build process.
|
||||
<note>
|
||||
Support for creating feeds directly from the
|
||||
<filename>deploy/*</filename> 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.
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
|
Loading…
Reference in New Issue