diff options
author | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2020-06-26 19:10:51 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-17 10:09:33 +0100 |
commit | 9bd69b1f1d71a9692189beeac75af9dfbad816cc (patch) | |
tree | 305347fca899074aed5610e0e82eaec180bf630c /documentation/adt-manual/adt-package.rst | |
parent | c40a8d5904c29046f1cbbeb998e6cd7c24f9b206 (diff) | |
download | poky-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.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 | ||