ref-manual; mega-manual: Edits to further define packaging process
In response to community input where developers were attempting to locate information on how to write packages out to a directory other than ${DEPLOY_DIR}/<package_type>, I updated the "Package Feeds" section, added several new DEPLOY_DIR_* variables, updated four classes, and updated four tasks. Here are some details: * Made changes to the "Package Feeds" section to provide more accurate information in the package feeds directory structure used by the build system in build/tmp. These changes included updating the figure itself and some explanatory text. * Updated the DEPLOY_DIR variable description. * Added new variable descriptions for DEPLOY_DIR_DEB, DEPLOY_DIR_IPK, DEPLOY_DIR_RPM, and DEPLOY_DIR_TAR. * Updated the related classes: package_deb, package_ipk, package_rpm, and package_tar. * Updated the related tasks: do_package_write_deb, do_package_write_ipk, do_package_write_rpm, and do_package_write_tar. Reported-by: Trieu Nguyen <trieu.t.nguyen@intel.com> (From yocto-docs rev: e8742267506bf9359346cfcd3965f762ed2c7d6f) 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
a2d770b58a
commit
6192753e9d
Binary file not shown.
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 29 KiB |
|
@ -640,7 +640,9 @@
|
|||
|
||||
<para>
|
||||
Package feeds are an intermediary step in the build process.
|
||||
BitBake generates packages whose types are defined by the
|
||||
The OpenEmbedded build system provides classes to generate
|
||||
different package types, and you specify which classes to enable
|
||||
through the
|
||||
<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
|
||||
variable.
|
||||
Before placing the packages into package feeds,
|
||||
|
@ -651,22 +653,41 @@
|
|||
</para>
|
||||
|
||||
<para>
|
||||
The package feed area resides in
|
||||
<filename>tmp/deploy</filename> of the Build Directory.
|
||||
Folders are created that correspond to the package type
|
||||
(IPK, DEB, or RPM) created.
|
||||
Further organization is derived through the value of the
|
||||
<link linkend='var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></link>
|
||||
variable for each package.
|
||||
For example, packages can exist for the i586 or qemux86
|
||||
architectures.
|
||||
The package files themselves reside within the appropriate
|
||||
architecture folder.
|
||||
The package feed area resides in the Build Directory.
|
||||
The directory the build system uses to temporarily store packages
|
||||
is determined by a combination of variables and the particular
|
||||
package manager in use.
|
||||
See the "Package Feeds" box in the illustration and note the
|
||||
information to the right of that area.
|
||||
In particular, the following defines where package files are
|
||||
kept:
|
||||
<itemizedlist>
|
||||
<listitem><para><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
|
||||
Defined as <filename>tmp/deploy</filename> in the Build
|
||||
Directory.
|
||||
</para></listitem>
|
||||
<listitem><para><filename>DEPLOY_DIR_*</filename>:
|
||||
Depending on the package manager used, the package type
|
||||
sub-folder.
|
||||
Given RPM, IPK, or DEB packaging and tarball creation, the
|
||||
<link linkend='var-DEPLOY_DIR_RPM'><filename>DEPLOY_DIR_RPM</filename></link>,
|
||||
<link linkend='var-DEPLOY_DIR_IPK'><filename>DEPLOY_DIR_IPK</filename></link>,
|
||||
<link linkend='var-DEPLOY_DIR_DEB'><filename>DEPLOY_DIR_DEB</filename></link>,
|
||||
or
|
||||
<link linkend='var-DEPLOY_DIR_TAR'><filename>DEPLOY_DIR_TAR</filename></link>,
|
||||
variables are used, respectively.
|
||||
</para></listitem>
|
||||
<listitem><para><link linkend='var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></link>:
|
||||
Defines architecture-specific sub-folders.
|
||||
For example, packages could exist for the i586 or qemux86
|
||||
architectures.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BitBake uses the <filename>do_package_write_*</filename> tasks to
|
||||
place generated packages into the package holding area (e.g.
|
||||
generate packages and place them into the package holding area (e.g.
|
||||
<filename>do_package_write_ipk</filename> for IPK packages).
|
||||
See the
|
||||
"<link linkend='ref-tasks-package_write_deb'><filename>do_package_write_deb</filename></link>",
|
||||
|
@ -675,6 +696,13 @@
|
|||
and
|
||||
"<link linkend='ref-tasks-package_write_tar'><filename>do_package_write_tar</filename></link>"
|
||||
sections for additional information.
|
||||
As an example, consider a scenario where an IPK packaging manager
|
||||
is being used and package architecture support for both i586
|
||||
and qemux86 exist.
|
||||
Packages for the i586 architecture are placed in
|
||||
<filename>build/tmp/deploy/ipk/i586</filename>, while packages for
|
||||
the qemux86 architecture are placed in
|
||||
<filename>build/tmp/deploy/ipk/qemux86</filename>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 29 KiB |
|
@ -2263,11 +2263,12 @@
|
|||
|
||||
<para>
|
||||
The <filename>package_deb</filename> class
|
||||
provides support for creating packages that use the
|
||||
<filename>.deb</filename> file format.
|
||||
The class ensures the packages are written out to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link><filename>}/deb</filename>
|
||||
directory in a <filename>.deb</filename> file format.
|
||||
provides support for creating packages that use the Debian
|
||||
(i.e. <filename>.deb</filename>) file format.
|
||||
The class ensures the packages are written out in a
|
||||
<filename>.deb</filename> file format to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_DEB'><filename>DEPLOY_DIR_DEB</filename></link><filename>}</filename>
|
||||
directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -2284,11 +2285,12 @@
|
|||
|
||||
<para>
|
||||
The <filename>package_ipk</filename> class
|
||||
provides support for creating packages that use the
|
||||
<filename>.ipk</filename> file format.
|
||||
The class ensures the packages are written out to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link><filename>}/ipk</filename>
|
||||
directory in a <filename>.ipk</filename> file format.
|
||||
provides support for creating packages that use the IPK
|
||||
(i.e. <filename>.ipk</filename>) file format.
|
||||
The class ensures the packages are written out in a
|
||||
<filename>.ipk</filename> file format to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_IPK'><filename>DEPLOY_DIR_IPK</filename></link><filename>}</filename>
|
||||
directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -2305,11 +2307,12 @@
|
|||
|
||||
<para>
|
||||
The <filename>package_rpm</filename> class
|
||||
provides support for creating packages that use the
|
||||
<filename>.rpm</filename> file format.
|
||||
The class ensures the packages are written out to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link><filename>}/rpm</filename>
|
||||
directory in a <filename>.rpm</filename> file format.
|
||||
provides support for creating packages that use the RPM
|
||||
(i.e. <filename>.rpm</filename>) file format.
|
||||
The class ensures the packages are written out in a
|
||||
<filename>.rpm</filename> file format to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_RPM'><filename>DEPLOY_DIR_RPM</filename></link><filename>}</filename>
|
||||
directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -2324,19 +2327,13 @@
|
|||
<section id='ref-classes-package_tar'>
|
||||
<title><filename>package_tar.bbclass</filename></title>
|
||||
|
||||
<note><title>Warning</title>
|
||||
The <filename>package_tar</filename> class is broken and is not
|
||||
supported.
|
||||
It is recommended that you do not use it.
|
||||
</note>
|
||||
|
||||
<para>
|
||||
The <filename>package_tar</filename>
|
||||
class provides support for creating packages that use the
|
||||
<filename>.tar</filename> file format.
|
||||
The class ensures the packages are written out to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link><filename>}/tar</filename>
|
||||
directory in a <filename>.tar</filename> file format.
|
||||
The <filename>package_tar</filename> class
|
||||
provides support for creating tarballs.
|
||||
The class ensures the packages are written out in a
|
||||
tarball format to the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_TAR'><filename>DEPLOY_DIR_TAR</filename></link><filename>}</filename>
|
||||
directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -144,9 +144,13 @@
|
|||
<title><filename>do_package_write_deb</filename></title>
|
||||
|
||||
<para>
|
||||
Creates the actual DEB packages and places them in the
|
||||
<link linkend='package-feeds-dev-environment'>Package Feeds</link>
|
||||
area.
|
||||
Creates Debian packages (i.e. <filename>*.deb</filename> files) and
|
||||
places them in the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_DEB'><filename>DEPLOY_DIR_DEB</filename></link><filename>}</filename>
|
||||
directory in the package feeds area.
|
||||
For more information, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
@ -154,9 +158,13 @@
|
|||
<title><filename>do_package_write_ipk</filename></title>
|
||||
|
||||
<para>
|
||||
Creates the actual IPK packages and places them in the
|
||||
<link linkend='package-feeds-dev-environment'>Package Feeds</link>
|
||||
area.
|
||||
Creates IPK packages (i.e. <filename>*.ipk</filename> files) and
|
||||
places them in the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_IPK'><filename>DEPLOY_DIR_IPK</filename></link><filename>}</filename>
|
||||
directory in the package feeds area.
|
||||
For more information, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
@ -164,9 +172,13 @@
|
|||
<title><filename>do_package_write_rpm</filename></title>
|
||||
|
||||
<para>
|
||||
Creates the actual RPM packages and places them in the
|
||||
<link linkend='package-feeds-dev-environment'>Package Feeds</link>
|
||||
area.
|
||||
Creates RPM packages (i.e. <filename>*.rpm</filename> files) and
|
||||
places them in the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_RPM'><filename>DEPLOY_DIR_RPM</filename></link><filename>}</filename>
|
||||
directory in the package feeds area.
|
||||
For more information, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
@ -174,9 +186,12 @@
|
|||
<title><filename>do_package_write_tar</filename></title>
|
||||
|
||||
<para>
|
||||
Creates tar archives for packages and places them in the
|
||||
<link linkend='package-feeds-dev-environment'>Package Feeds</link>
|
||||
area.
|
||||
Creates tarballs and places them in the
|
||||
<filename>${</filename><link linkend='var-DEPLOY_DIR_TAR'><filename>DEPLOY_DIR_TAR</filename></link><filename>}</filename>
|
||||
directory in the package feeds area.
|
||||
For more information, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -2686,13 +2686,55 @@
|
|||
section.
|
||||
For more detail on the contents of the
|
||||
<filename>deploy</filename> directory, see the
|
||||
"<link linkend='images-dev-environment'>Images</link>" and
|
||||
"<link linkend='images-dev-environment'>Images</link>",
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>",
|
||||
and
|
||||
"<link linkend='sdk-dev-environment'>Application Development SDK</link>"
|
||||
sections.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOY_DIR_DEB'><glossterm>DEPLOY_DIR_DEB</glossterm>
|
||||
<info>
|
||||
DEPLOY_DIR_DEB[doc] = "Points to a Debian-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
|
||||
</info>
|
||||
<glossdef>
|
||||
<para role="glossdeffirst">
|
||||
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
|
||||
Points to the area that the OpenEmbedded build system uses
|
||||
to place Debian packages that are ready to be used outside
|
||||
of the build system.
|
||||
This variable applies only when
|
||||
<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
|
||||
contains "package_deb".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The BitBake configuration file initially defines the
|
||||
<filename>DEPLOY_DIR_DEB</filename> variable as a
|
||||
sub-folder of
|
||||
<link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
|
||||
<literallayout class='monospaced'>
|
||||
DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The
|
||||
<link linkend='ref-classes-package_deb'><filename>package_deb</filename></link>
|
||||
class uses the
|
||||
<filename>DEPLOY_DIR_DEB</filename> variable to make sure
|
||||
the
|
||||
<link linkend='ref-tasks-package_write_deb'><filename>do_package_write_deb</filename></link>
|
||||
task writes Debian packages into the appropriate folder.
|
||||
For more information on how packaging works, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOY_DIR_IMAGE'><glossterm>DEPLOY_DIR_IMAGE</glossterm>
|
||||
<info>
|
||||
DEPLOY_DIR_IMAGE[doc] = "Points to the area that the OpenEmbedded build system uses to place images and other associated output files that are ready to be deployed onto the target machine."
|
||||
|
@ -2724,6 +2766,123 @@
|
|||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOY_DIR_IPK'><glossterm>DEPLOY_DIR_IPK</glossterm>
|
||||
<info>
|
||||
DEPLOY_DIR_IPK[doc] = "Points to a IPK-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
|
||||
</info>
|
||||
<glossdef>
|
||||
<para role="glossdeffirst">
|
||||
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
|
||||
Points to the area that the OpenEmbedded build system uses
|
||||
to place IPK packages that are ready to be used outside of
|
||||
the build system.
|
||||
This variable applies only when
|
||||
<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
|
||||
contains "package_ipk".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The BitBake configuration file initially defines this
|
||||
variable as a sub-folder of
|
||||
<link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
|
||||
<literallayout class='monospaced'>
|
||||
DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The
|
||||
<link linkend='ref-classes-package_ipk'><filename>package_ipk</filename></link>
|
||||
class uses the
|
||||
<filename>DEPLOY_DIR_IPK</filename> variable to make sure
|
||||
the
|
||||
<link linkend='ref-tasks-package_write_ipk'><filename>do_package_write_ipk</filename></link>
|
||||
task writes IPK packages into the appropriate folder.
|
||||
For more information on how packaging works, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOY_DIR_RPM'><glossterm>DEPLOY_DIR_RPM</glossterm>
|
||||
<info>
|
||||
DEPLOY_DIR_RPM[doc] = "Points to a RPM-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
|
||||
</info>
|
||||
<glossdef>
|
||||
<para role="glossdeffirst">
|
||||
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
|
||||
Points to the area that the OpenEmbedded build system uses
|
||||
to place RPM packages that are ready to be used outside
|
||||
of the build system.
|
||||
This variable applies only when
|
||||
<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
|
||||
contains "package_rpm".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The BitBake configuration file initially defines this
|
||||
variable as a sub-folder of
|
||||
<link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
|
||||
<literallayout class='monospaced'>
|
||||
DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The
|
||||
<link linkend='ref-classes-package_rpm'><filename>package_rpm</filename></link>
|
||||
class uses the
|
||||
<filename>DEPLOY_DIR_RPM</filename> variable to make sure
|
||||
the
|
||||
<link linkend='ref-tasks-package_write_rpm'><filename>do_package_write_rpm</filename></link>
|
||||
task writes RPM packages into the appropriate folder.
|
||||
For more information on how packaging works, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOY_DIR_TAR'><glossterm>DEPLOY_DIR_TAR</glossterm>
|
||||
<info>
|
||||
DEPLOY_DIR_TAR[doc] = "Points to a tarball area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
|
||||
</info>
|
||||
<glossdef>
|
||||
<para role="glossdeffirst">
|
||||
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
|
||||
Points to the area that the OpenEmbedded build system uses
|
||||
to place tarballs that are ready to be used outside of
|
||||
the build system.
|
||||
This variable applies only when
|
||||
<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>
|
||||
contains "package_tar".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The BitBake configuration file initially defines this
|
||||
variable as a sub-folder of
|
||||
<link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
|
||||
<literallayout class='monospaced'>
|
||||
DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The
|
||||
<link linkend='ref-classes-package_tar'><filename>package_tar</filename></link>
|
||||
class uses the
|
||||
<filename>DEPLOY_DIR_TAR</filename> variable to make sure
|
||||
the
|
||||
<link linkend='ref-tasks-package_write_tar'><filename>do_package_write_tar</filename></link>
|
||||
task writes TAR packages into the appropriate folder.
|
||||
For more information on how packaging works, see the
|
||||
"<link linkend='package-feeds-dev-environment'>Package Feeds</link>"
|
||||
section.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-DEPLOYDIR'><glossterm>DEPLOYDIR</glossterm>
|
||||
<info>
|
||||
DEPLOYDIR[doc] = "For recipes that inherit the deploy class, the DEPLOYDIR points to a temporary work area for deployed files."
|
||||
|
|
Loading…
Reference in New Issue