ref-manual: Improved on package* class.

Previously, we were documenting the "package*" class and lumping
the "package_deb", "package_rpm", and "package_ipk" classes in
that entry.  Really, we need to break out the "package" class on
its own and create entries for the sub-classes that were being
bundled in there.  Additionally, we needed to document the
"package_tar" class.

(From yocto-docs rev: 0c263568c1c6c1700b0b87ed1a22fdc8e51f28c1)

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-12-03 12:39:44 -06:00 committed by Richard Purdie
parent 10146f0738
commit e8d94a6abf
1 changed files with 94 additions and 17 deletions

View File

@ -1406,24 +1406,28 @@
<section id='ref-classes-package'> <section id='ref-classes-package'>
<title>Packaging - <filename>package*.bbclass</filename></title> <title><filename>package.bbclass</filename></title>
<para> <para>
The packaging classes add support for generating packages from a build's The packaging class (<filename>package</filename>) supports generating
output. packages from a build's output.
The core generic functionality is in <filename>package.bbclass</filename>. The core generic functionality is in the
The code specific to particular package types is contained in various sub-classes such as <filename>package.bbclass</filename>.
<filename>package_deb.bbclass</filename>, <filename>package_ipk.bbclass</filename>, The code specific to particular package types resides in these
and <filename>package_rpm.bbclass</filename>. package-specific classes:
Most users will want one or more of these classes. <link linkend='ref-classes-package_deb'><filename>package_deb</filename></link>,
<link linkend='ref-classes-package_rpm'><filename>package_rpm</filename></link>,
<link linkend='ref-classes-package_ipk'><filename>package_ipk</filename></link>,
and
<link linkend='ref-classes-package_tar'><filename>package_tar</filename></link>.
</para> </para>
<para> <para>
You can control the list of resulting package formats by using the You can control the list of resulting package formats by using the
<filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></filename> <filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></filename>
variable defined in the <filename>local.conf</filename> configuration file, variable defined in your <filename>conf/local.conf</filename>
which is located in the <filename>conf</filename> folder of the configuration file, which is located in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
When defining the variable, you can specify one or more package types. When defining the variable, you can specify one or more package types.
Since images are generated from packages, a packaging class is Since images are generated from packages, a packaging class is
needed to enable image generation. needed to enable image generation.
@ -1441,8 +1445,8 @@
</para> </para>
<para> <para>
The package class you choose can affect build-time performance and has space The package-specific class you choose can affect build-time performance
ramifications. and has space ramifications.
In general, building a package with IPK takes about thirty percent less In general, building a package with IPK takes about thirty percent less
time as compared to using RPM to build the same or similar package. time as compared to using RPM to build the same or similar package.
This comparison takes into account a complete build of the package with This comparison takes into account a complete build of the package with
@ -1451,17 +1455,18 @@
creates and processes more creates and processes more
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> than the <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> than the
IPK package manager. IPK package manager.
Consequently, you might consider setting <filename>PACKAGE_CLASSES</filename> Consequently, you might consider setting
to "package_ipk" if you are building smaller systems. <filename>PACKAGE_CLASSES</filename> to "package_ipk" if you are
building smaller systems.
</para> </para>
<para> <para>
Before making your decision on package manager, however, you should Before making your package manager decision, however, you should
consider some further things about using RPM: consider some further things about using RPM:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
RPM starts to provide more abilities than IPK due to RPM starts to provide more abilities than IPK due to
the fact that it processes more metadata. the fact that it processes more Metadata.
For example, this information includes individual file types, For example, this information includes individual file types,
file checksum generation and evaluation on install, sparse file file checksum generation and evaluation on install, sparse file
support, conflict detection and resolution for Multilib systems, support, conflict detection and resolution for Multilib systems,
@ -1487,6 +1492,78 @@
</para> </para>
</section> </section>
<section id='ref-classes-package_deb'>
<title><filename>package_deb.bbclass</filename></title>
<para>
The Debian package manager (<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.
<note>
This package inherits the
<link linkend='ref-classes-package'><filename>package</filename></link>
class.
</note>
</para>
</section>
<section id='ref-classes-package_rpm'>
<title><filename>package_rpm.bbclass</filename></title>
<para>
The RPM package manager (<filename>package_deb</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.
<note>
This package inherits the
<link linkend='ref-classes-package'><filename>package</filename></link>
class.
</note>
</para>
</section>
<section id='ref-classes-package_ipk'>
<title><filename>package_ipk.bbclass</filename></title>
<para>
The Itsy package manager (<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.
<note>
This package inherits the
<link linkend='ref-classes-package'><filename>package</filename></link>
class.
</note>
</para>
</section>
<section id='ref-classes-package_tar'>
<title><filename>package_tar.bbclass</filename></title>
<para>
The consolidated Unix archive file (<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.
<note>
This package inherits the
<link linkend='ref-classes-package'><filename>package</filename></link>
class.
</note>
</para>
</section>
<section id='ref-classes-kernel'> <section id='ref-classes-kernel'>
<title>Building Kernels - <filename>kernel.bbclass</filename></title> <title>Building Kernels - <filename>kernel.bbclass</filename></title>