summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2011-09-02 11:54:20 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-02 23:38:52 +0100
commit99cb233e0c8058c9a406e18fedae70b0f60e3864 (patch)
tree46d8754ec8d2d0c96a963c314d68819ec1387d3b /documentation
parentce0456d95d9859477429a1208433245ae8724fd7 (diff)
downloadpoky-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')
-rw-r--r--documentation/adt-manual/adt-package.xml7
-rw-r--r--documentation/poky-ref-manual/ref-classes.xml50
-rw-r--r--documentation/poky-ref-manual/ref-variables.xml14
-rw-r--r--documentation/yocto-project-qs/yocto-project-qs.xml16
4 files changed, 81 insertions, 6 deletions
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 @@
52 See the configuration file for details. 52 See the configuration file for details.
53 </para> 53 </para>
54 54
55 <note>
56 For build performance information related to the PMS, see
57 <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>
58 in <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
59 The Yocto Project Reference Manual</ulink>.
60 </note>
61
55 <para> 62 <para>
56 As an example, consider a scenario where you are using OPKG and you want to add 63 As an example, consider a scenario where you are using OPKG and you want to add
57 the <filename>libglade</filename> package to the target sysroot. 64 the <filename>libglade</filename> 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 @@
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
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 @@
330 <filename>conf/local.conf</filename> file.</para></listitem> 330 <filename>conf/local.conf</filename> file.</para></listitem>
331 </itemizedlist> 331 </itemizedlist>
332 <para> 332 <para>
333 Take some time to examine your <filename>conf/local.conf</filename> file. 333 Take some time to examine your <filename>conf/local.conf</filename> file found in the
334 Yocto Project file's <filename>conf</filename>.
334 The defaults should work fine. 335 The defaults should work fine.
335 However, if you have a multi-core CPU you might want to set the variable 336 However, if you have a multi-core CPU you might want to set the variable
336 BB_NUMBER_THREADS equal to twice the number of processor cores your system has. 337 BB_NUMBER_THREADS equal to twice the number of processor cores your system has.
@@ -338,6 +339,19 @@
338 Setting these variables can significantly shorten your build time. 339 Setting these variables can significantly shorten your build time.
339 By default, these variables are commented out. 340 By default, these variables are commented out.
340 </para> 341 </para>
342
343 <para>
344 Another consideration before you build is the package manager used when creating
345 the image.
346 By default, the Yocto Project build system uses the RPM package manager.
347 You can control this configuration by using the
348 <filename><ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#var-PACKAGE_CLASSES'>PACKAGE_CLASSES</ulink></filename> variable.
349 For additional package manager selection information, see
350 <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink> in
351 <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
352 The Yocto Project Reference Manual</ulink>.
353 </para>
354
341 <para> 355 <para>
342 Continue with the following command to build an OS image for the target, which is 356 Continue with the following command to build an OS image for the target, which is
343 <filename>core-image-sato</filename> in this example. 357 <filename>core-image-sato</filename> in this example.