generic-poky/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-package.html

74 lines
4.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>7.13. Packaging - package*.bbclass</title>
<link rel="stylesheet" type="text/css" href="../book.css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="The Yocto Project Reference Manual">
<link rel="up" href="ref-classes.html" title="Chapter 7. Classes">
<link rel="prev" href="ref-classes-packagegroup.html" title="7.12. Package Groups - packagegroup.bbclass">
<link rel="next" href="ref-classes-kernel.html" title="7.14. Building kernels - kernel.bbclass">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" title="7.13. Packaging - package*.bbclass">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="ref-classes-package"></a>7.13. Packaging - <code class="filename">package*.bbclass</code>
</h2></div></div></div>
<p>
The packaging classes add support for generating packages from a build's
output.
The core generic functionality is in <code class="filename">package.bbclass</code>.
The code specific to particular package types is contained in various sub-classes such as
<code class="filename">package_deb.bbclass</code>, <code class="filename">package_ipk.bbclass</code>,
and <code class="filename">package_rpm.bbclass</code>.
Most users will want one or more of these classes.
</p>
<p>
You can control the list of resulting package formats by using the
<code class="filename"><a class="link" href="ref-variables-glos.html#var-PACKAGE_CLASSES" title="PACKAGE_CLASSES">PACKAGE_CLASSES</a></code>
variable defined in the <code class="filename">local.conf</code> configuration file,
which is located in the <code class="filename">conf</code> folder of the
<a class="link" href="../dev-manual/source-directory.html" target="_self">Source Directory</a>.
When defining the variable, you can specify one or more package types.
Since images are generated from packages, a packaging class is
needed to enable image generation.
The first class listed in this variable is used for image generation.
</p>
<p>
The package class you choose can affect build-time performance and has space
ramifications.
In general, building a package with RPM takes about thirty percent more time as
compared to using IPK to build the same or similar package.
This comparison takes into account a complete build of the package with all
dependencies previously built.
The reason for this discrepancy is because the RPM package manager creates and
processes more metadata than the IPK package manager.
Consequently, you might consider setting <code class="filename">PACKAGE_CLASSES</code>
to "package_ipk" if you are building smaller systems.
</p>
<p>
Keep in mind, however, that RPM starts to provide more abilities than IPK due to
the fact that it processes more metadata.
For example, this information includes individual file types, file checksum generation
and evaluation on install, sparse file support, conflict detection and resolution
for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks.
</p>
<p>
Another consideration for packages built using the RPM package manager is space.
For smaller systems, the extra space used for the Berkley Database and the amount
of metadata can affect your ability to do on-device upgrades.
</p>
<p>
You can find additional information on the effects of the package class at these
two Yocto Project mailing list links:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p><a class="ulink" href="http://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html" target="_self">
https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html</a></p></li>
<li class="listitem"><p><a class="ulink" href="http://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html" target="_self">
https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html</a></p></li>
</ul></div>
<p>
</p>
</div></body>
</html>