summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-package.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual/adt-package.rst')
-rw-r--r--documentation/adt-manual/adt-package.rst68
1 files changed, 68 insertions, 0 deletions
diff --git a/documentation/adt-manual/adt-package.rst b/documentation/adt-manual/adt-package.rst
new file mode 100644
index 0000000000..6a6da1dd8f
--- /dev/null
+++ b/documentation/adt-manual/adt-package.rst
@@ -0,0 +1,68 @@
1************************************************************
2Optionally Customizing the Development Packages Installation
3************************************************************
4
5Because the Yocto Project is suited for embedded Linux development, it
6is likely that you will need to customize your development packages
7installation. For example, if you are developing a minimal image, then
8you might not need certain packages (e.g. graphics support packages).
9Thus, you would like to be able to remove those packages from your
10target sysroot.
11
12Package Management Systems
13==========================
14
15The OpenEmbedded build system supports the generation of sysroot files
16using three different Package Management Systems (PMS):
17
18- *OPKG:* A less well known PMS whose use originated in the
19 OpenEmbedded and OpenWrt embedded Linux projects. This PMS works with
20 files packaged in an ``.ipk`` format. See
21 ` <http://en.wikipedia.org/wiki/Opkg>`__ for more information about
22 OPKG.
23
24- *RPM:* A more widely known PMS intended for GNU/Linux distributions.
25 This PMS works with files packaged in an ``.rpm`` format. The build
26 system currently installs through this PMS by default. See
27 ` <http://en.wikipedia.org/wiki/RPM_Package_Manager>`__ for more
28 information about RPM.
29
30- *Debian:* The PMS for Debian-based systems is built on many PMS
31 tools. The lower-level PMS tool ``dpkg`` forms the base of the Debian
32 PMS. For information on dpkg see
33 ` <http://en.wikipedia.org/wiki/Dpkg>`__.
34
35Configuring the PMS
36===================
37
38Whichever PMS you are using, you need to be sure that the
39```PACKAGE_CLASSES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES>`__
40variable in the ``conf/local.conf`` file is set to reflect that system.
41The first value you choose for the variable specifies the package file
42format for the root filesystem at sysroot. Additional values specify
43additional formats for convenience or testing. See the
44``conf/local.conf`` configuration file for details.
45
46.. note::
47
48 For build performance information related to the PMS, see the "
49 package.bbclass
50 " section in the Yocto Project Reference Manual.
51
52As an example, consider a scenario where you are using OPKG and you want
53to add the ``libglade`` package to the target sysroot.
54
55First, you should generate the IPK file for the ``libglade`` package and
56add it into a working ``opkg`` repository. Use these commands: $ bitbake
57libglade $ bitbake package-index
58
59Next, source the cross-toolchain environment setup script found in the
60`Source Directory <&YOCTO_DOCS_DEV_URL;#source-directory>`__. Follow
61that by setting up the installation destination to point to your sysroot
62as sysroot_dir. Finally, have an OPKG configuration file conf_file that
63corresponds to the ``opkg`` repository you have just created. The
64following command forms should now work: $ opkg-cl –f conf_file -o
65sysroot_dir update $ opkg-cl –f cconf_file -o sysroot_dir \\
66--force-overwrite install libglade $ opkg-cl –f cconf_file -o
67sysroot_dir \\ --force-overwrite install libglade-dbg $ opkg-cl –f
68conf_file> -osysroot_dir> \\ --force-overwrite install libglade-dev