diff options
Diffstat (limited to 'documentation/adt-manual/adt-package.rst')
-rw-r--r-- | documentation/adt-manual/adt-package.rst | 68 |
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 | ************************************************************ | ||
2 | Optionally Customizing the Development Packages Installation | ||
3 | ************************************************************ | ||
4 | |||
5 | Because the Yocto Project is suited for embedded Linux development, it | ||
6 | is likely that you will need to customize your development packages | ||
7 | installation. For example, if you are developing a minimal image, then | ||
8 | you might not need certain packages (e.g. graphics support packages). | ||
9 | Thus, you would like to be able to remove those packages from your | ||
10 | target sysroot. | ||
11 | |||
12 | Package Management Systems | ||
13 | ========================== | ||
14 | |||
15 | The OpenEmbedded build system supports the generation of sysroot files | ||
16 | using 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 | |||
35 | Configuring the PMS | ||
36 | =================== | ||
37 | |||
38 | Whichever PMS you are using, you need to be sure that the | ||
39 | ```PACKAGE_CLASSES`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES>`__ | ||
40 | variable in the ``conf/local.conf`` file is set to reflect that system. | ||
41 | The first value you choose for the variable specifies the package file | ||
42 | format for the root filesystem at sysroot. Additional values specify | ||
43 | additional 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 | |||
52 | As an example, consider a scenario where you are using OPKG and you want | ||
53 | to add the ``libglade`` package to the target sysroot. | ||
54 | |||
55 | First, you should generate the IPK file for the ``libglade`` package and | ||
56 | add it into a working ``opkg`` repository. Use these commands: $ bitbake | ||
57 | libglade $ bitbake package-index | ||
58 | |||
59 | Next, source the cross-toolchain environment setup script found in the | ||
60 | `Source Directory <&YOCTO_DOCS_DEV_URL;#source-directory>`__. Follow | ||
61 | that by setting up the installation destination to point to your sysroot | ||
62 | as sysroot_dir. Finally, have an OPKG configuration file conf_file that | ||
63 | corresponds to the ``opkg`` repository you have just created. The | ||
64 | following command forms should now work: $ opkg-cl –f conf_file -o | ||
65 | sysroot_dir update $ opkg-cl –f cconf_file -o sysroot_dir \\ | ||
66 | --force-overwrite install libglade $ opkg-cl –f cconf_file -o | ||
67 | sysroot_dir \\ --force-overwrite install libglade-dbg $ opkg-cl –f | ||
68 | conf_file> -osysroot_dir> \\ --force-overwrite install libglade-dev | ||