summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-package.rst
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2020-06-26 19:10:51 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-17 10:09:33 +0100
commit9bd69b1f1d71a9692189beeac75af9dfbad816cc (patch)
tree305347fca899074aed5610e0e82eaec180bf630c /documentation/adt-manual/adt-package.rst
parentc40a8d5904c29046f1cbbeb998e6cd7c24f9b206 (diff)
downloadpoky-9bd69b1f1d71a9692189beeac75af9dfbad816cc.tar.gz
sphinx: initial sphinx support
This commit is autogenerated pandoc to generate an inital set of reST files based on DocBook XML files. A .rst file is generated for each .xml files in all manuals with this command: cd <manual> for i in *.xml; do \ pandoc -f docbook -t rst --shift-heading-level-by=-1 \ $i -o $(basename $i .xml).rst \ done The conversion was done with: pandoc 2.9.2.1-91 (Arch Linux). Also created an initial top level index file for each document, and added all 'books' to the top leve index.rst file. The YP manuals layout is organized as: Book Chapter Section Section Section Sphinx uses section headers to create the document structure. ReStructuredText defines sections headers like that: To break longer text up into sections, you use section headers. These are a single line of text (one or more words) with adornment: an underline alone, or an underline and an overline together, in dashes "-----", equals "======", tildes "~~~~~~" or any of the non-alphanumeric characters = - ` : ' " ~ ^ _ * + # < > that you feel comfortable with. An underline-only adornment is distinct from an overline-and-underline adornment using the same character. The underline/overline must be at least as long as the title text. Be consistent, since all sections marked with the same adornment style are deemed to be at the same level: Let's define the following convention when converting from Docbook: Book => overline === (Title) Chapter => overline *** (1.) Section => ==== (1.1) Section => ---- (1.1.1) Section => ~~~~ (1.1.1.1) Section => ^^^^ (1.1.1.1.1) During the conversion with pandoc, we used --shift-heading-level=-1 to convert most of DocBook headings automatically. However with this setting, the Chapter header was removed, so I added it back manually. Without this setting all headings were off by one, which was more difficult to manually fix. At least with this change, we now have the same TOC with Sphinx and DocBook. (From yocto-docs rev: 3c73d64a476d4423ee4c6808c685fa94d88d7df8) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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