After source code is configured and compiled, the OpenEmbedded build system analyzes the results and splits the output into packages:
The
do_package
and
do_packagedata
tasks combine to analyze
the files found in the
D
directory
and split them into subsets based on available packages and
files.
The analyzing process 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
OpenEmbedded build system can generate the final packages.
Working, staged, and intermediate results of the analysis
and package splitting process use these 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.
PKGDESTWORK
-
A temporary work area used by the
do_package
task.
PKGDEST
-
The parent directory for packages after they have
been split.
The FILES
variable defines the files that go into each package in
PACKAGES
.
If you want details on how this is accomplished, you can
look at the
package
class.
Depending on the type of packages being created (RPM, DEB, or
IPK), the do_package_write_*
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.
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. the
Ångström distribution).
This functionality is highly distribution-specific
and thus is not provided out of the box.