diff --git a/documentation/adt-manual/adt-package.xml b/documentation/adt-manual/adt-package.xml
index f7b236f8d5..c035c2d011 100644
--- a/documentation/adt-manual/adt-package.xml
+++ b/documentation/adt-manual/adt-package.xml
@@ -52,6 +52,13 @@
See the configuration file for details.
+
+ For build performance information related to the PMS, see
+ Packaging - package*.bbclass
+ in
+ The Yocto Project Reference Manual.
+
+
As an example, consider a scenario where you are using OPKG and you want to add
the libglade package to the target sysroot.
diff --git a/documentation/poky-ref-manual/ref-classes.xml b/documentation/poky-ref-manual/ref-classes.xml
index cf396800df..93e9ea8d43 100644
--- a/documentation/poky-ref-manual/ref-classes.xml
+++ b/documentation/poky-ref-manual/ref-classes.xml
@@ -265,17 +265,59 @@
The packaging classes add support for generating packages from a build's
output.
The core generic functionality is in package.bbclass.
- The code specific
- to particular package types is contained in various sub-classes such as
+ The code specific to particular package types is contained in various sub-classes such as
package_deb.bbclass, package_ipk.bbclass,
and package_rpm.bbclass.
Most users will want one or more of these classes.
+
+
+
You can control the list of resulting package formats by using the
PACKAGE_CLASSES
- variable.
- The first class listed in this variable is be used for image generation.
+ variable defined in the local.conf configuration file
+ found in the Yocto Project file's conf directory.
+ 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.
+
+
+
+ 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 PACKAGE_CLASSES
+ to "package_ipk" if you are building smaller systems.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ You can find additional information on the effects of the package class at these
+ two Yocto Project mailing list links:
+
+
+ https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html
+
+ https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html
+
diff --git a/documentation/poky-ref-manual/ref-variables.xml b/documentation/poky-ref-manual/ref-variables.xml
index 7f51fc9885..0bde65915c 100644
--- a/documentation/poky-ref-manual/ref-variables.xml
+++ b/documentation/poky-ref-manual/ref-variables.xml
@@ -679,7 +679,19 @@
PACKAGE_CLASSES
- Specifies the list of resulting package formats.
+ This variable, which is set in the local.conf configuration
+ file found in the Yocto Project file's conf directory,
+ specifies the package manager to use when packaging data.
+ You can provide one or more arguments for the variable with the first
+ argument being the package manager used to create images:
+
+ PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+
+ For information on build performance effects as a result of the
+ package manager use, see
+ Packaging - package*.bbclass
+ in this manual.
+
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml
index 62280b619f..c95e1a02ab 100644
--- a/documentation/yocto-project-qs/yocto-project-qs.xml
+++ b/documentation/yocto-project-qs/yocto-project-qs.xml
@@ -330,7 +330,8 @@
conf/local.conf file.
- Take some time to examine your conf/local.conf file.
+ Take some time to examine your conf/local.conf file found in the
+ Yocto Project file's conf.
The defaults should work fine.
However, if you have a multi-core CPU you might want to set the variable
BB_NUMBER_THREADS equal to twice the number of processor cores your system has.
@@ -338,6 +339,19 @@
Setting these variables can significantly shorten your build time.
By default, these variables are commented out.
+
+
+ Another consideration before you build is the package manager used when creating
+ the image.
+ By default, the Yocto Project build system uses the RPM package manager.
+ You can control this configuration by using the
+ PACKAGE_CLASSES variable.
+ For additional package manager selection information, see
+ Packaging - package*.bbclass in
+
+ The Yocto Project Reference Manual.
+
+
Continue with the following command to build an OS image for the target, which is
core-image-sato in this example.