diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-09-02 11:54:20 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-09-02 23:38:52 +0100 |
commit | 99cb233e0c8058c9a406e18fedae70b0f60e3864 (patch) | |
tree | 46d8754ec8d2d0c96a963c314d68819ec1387d3b /documentation/poky-ref-manual | |
parent | ce0456d95d9859477429a1208433245ae8724fd7 (diff) | |
download | poky-99cb233e0c8058c9a406e18fedae70b0f60e3864.tar.gz |
YOCTO #1088: documentation - Added text to partially address package bug
This bug was filed by Gary Thomas and was requesting more information
on the "hows" and "whys" of setting up your own package repositories.
At this point, I have added information to help the user understand
build performance issues when choosing between the RPM and IPKG packaging
systems. Likely, there is more that needs to be added to fully address
this bug.
For now, I added explanations in the packaging class and glossary areas
of the YP reference manual, a new paragraph in the YP QS just prior to
firing off a build, and a new bit of information in the configuring
PMS in the ADT Manual.
(From yocto-docs rev: d0025f862cb85ca741787b4737dca286e3ebfb45)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/poky-ref-manual')
-rw-r--r-- | documentation/poky-ref-manual/ref-classes.xml | 50 | ||||
-rw-r--r-- | documentation/poky-ref-manual/ref-variables.xml | 14 |
2 files changed, 59 insertions, 5 deletions
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 @@ | |||
265 | The packaging classes add support for generating packages from a build's | 265 | The packaging classes add support for generating packages from a build's |
266 | output. | 266 | output. |
267 | The core generic functionality is in <filename>package.bbclass</filename>. | 267 | The core generic functionality is in <filename>package.bbclass</filename>. |
268 | The code specific | 268 | The code specific to particular package types is contained in various sub-classes such as |
269 | to particular package types is contained in various sub-classes such as | ||
270 | <filename>package_deb.bbclass</filename>, <filename>package_ipk.bbclass</filename>, | 269 | <filename>package_deb.bbclass</filename>, <filename>package_ipk.bbclass</filename>, |
271 | and <filename>package_rpm.bbclass</filename>. | 270 | and <filename>package_rpm.bbclass</filename>. |
272 | Most users will want one or more of these classes. | 271 | Most users will want one or more of these classes. |
272 | </para> | ||
273 | |||
274 | <para> | ||
273 | You can control the list of resulting package formats by using the | 275 | You can control the list of resulting package formats by using the |
274 | <filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></filename> | 276 | <filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></filename> |
275 | variable. | 277 | variable defined in the <filename>local.conf</filename> configuration file |
276 | The first class listed in this variable is be used for image generation. | 278 | found in the Yocto Project file's <filename>conf</filename> directory. |
279 | When defining the variable, you can specify one or more package types. | ||
277 | Since images are generated from packages, a packaging class is | 280 | Since images are generated from packages, a packaging class is |
278 | needed to enable image generation. | 281 | needed to enable image generation. |
282 | The first class listed in this variable is used for image generation. | ||
283 | </para> | ||
284 | |||
285 | <para> | ||
286 | The package class you choose can affect build-time performance and has space | ||
287 | ramifications. | ||
288 | In general, building a package with RPM takes about thirty percent more time as | ||
289 | compared to using IPK to build the same or similar package. | ||
290 | This comparison takes into account a complete build of the package with all | ||
291 | dependencies previously built. | ||
292 | The reason for this discrepancy is because the RPM package manager creates and | ||
293 | processes more metadata than the IPK package manager. | ||
294 | Consequently, you might consider setting <filename>PACKAGE_CLASSES</filename> | ||
295 | to "package_ipk" if you are building smaller systems. | ||
296 | </para> | ||
297 | |||
298 | <para> | ||
299 | Keep in mind, however, that RPM starts to provide more abilities than IPK due to | ||
300 | the fact that it processes more metadata. | ||
301 | For example, this information includes individual file types, file checksum generation | ||
302 | and evaluation on install, sparse file support, conflict detection and resolution | ||
303 | for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks. | ||
304 | </para> | ||
305 | |||
306 | <para> | ||
307 | Another consideration for packages built using the RPM package manager is space. | ||
308 | For smaller systems, the extra space used for the Berkley Database and the amount | ||
309 | of metadata can affect your ability to do on-device upgrades. | ||
310 | </para> | ||
311 | |||
312 | <para> | ||
313 | You can find additional information on the effects of the package class at these | ||
314 | two Yocto Project mailing list links: | ||
315 | <itemizedlist> | ||
316 | <listitem><para><ulink url='https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html'> | ||
317 | https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html</ulink></para></listitem> | ||
318 | <listitem><para><ulink url='https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html'> | ||
319 | https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html</ulink></para></listitem> | ||
320 | </itemizedlist> | ||
279 | </para> | 321 | </para> |
280 | </section> | 322 | </section> |
281 | 323 | ||
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 @@ | |||
679 | 679 | ||
680 | <glossentry id='var-PACKAGE_CLASSES'><glossterm>PACKAGE_CLASSES</glossterm> | 680 | <glossentry id='var-PACKAGE_CLASSES'><glossterm>PACKAGE_CLASSES</glossterm> |
681 | <glossdef> | 681 | <glossdef> |
682 | <para>Specifies the list of resulting package formats.</para> | 682 | <para>This variable, which is set in the <filename>local.conf</filename> configuration |
683 | file found in the Yocto Project file's <filename>conf</filename> directory, | ||
684 | specifies the package manager to use when packaging data. | ||
685 | You can provide one or more arguments for the variable with the first | ||
686 | argument being the package manager used to create images: | ||
687 | <literallayout class='monospaced'> | ||
688 | PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" | ||
689 | </literallayout> | ||
690 | For information on build performance effects as a result of the | ||
691 | package manager use, see | ||
692 | <link linkend='ref-classes-package'>Packaging - <filename>package*.bbclass</filename></link> | ||
693 | in this manual. | ||
694 | </para> | ||
683 | </glossdef> | 695 | </glossdef> |
684 | </glossentry> | 696 | </glossentry> |
685 | 697 | ||