Commit Graph

59427 Commits

Author SHA1 Message Date
Nicolas Dechesne
721edcfd44 sphinx: insert blank below between title and toc
Whenever a TOC follows a title/heading, a blank line is missing. So
let's add it explicitely.

(From yocto-docs rev: 600b6fe7837dd817d32350e1a45431bdcfe8ebbd)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
18a484df63 sphinx: enable intersphinx extension
This extension can generate automatic links to the documentation of
objects in other projects. We will use it to use cross references with
the Bibtake manual, for example.

(From yocto-docs rev: 5add9854b112f93acba982f237fbfa83aee80d77)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
8f04fc5824 sphinx: manuals: Move boilerplate after toctree
The boilerplate looks better after the ToC, still not quite
right but the boilerplate can be improved from here.

(From yocto-docs rev: 5e81b9c90f6f45acf26ba146e280bc2659ac14e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
83ebbf63e9 sphinx: history: Move revision history to its own section
The revision history tables look better in their own section,
move them.

(From yocto-docs rev: 27bf0f69b6dc04cea97a023ef52bec2b213d074f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
fda08f30b1 sphinx: boilerplate.rst: Sphinx puts the copyright elsewhere
Its elsewhere so drop from boilerplate.

(From yocto-docs rev: b974d1193480e6b005e3e66ab809afdda6a89897)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
27e80a5e00 sphinx: boilerplate.rst: Drop versions notes as we have better navigation now
Now we have better navigation with sphinx, and alert text about old
versions, we can drop the top two bullts. The remaining bits can just
become text.

(From yocto-docs rev: bb963c8c906644148182a1fc441c676f13cdf6ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
998db0b058 sphinx: releases.rst: Add index/links to docs for previous releases
(From yocto-docs rev: 627f06d19909eff246b08e889068fd1ecddd569b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
4b3766b0db sphinx: setup extlink for docs.yoctoproject.org
(From yocto-docs rev: ec5c86368b90e4fb92295780fb10cf29c66c0fb4)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
f3e7db78ad sphinx: add links to section in the Bitbake manual
Use intersphinx extension to replace links to the Bitbake manual with
proper cross references.

(From yocto-docs rev: 458a6e540a2286ac838812d802306806f77b885c)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
18df4a8368 sphinx: add links to terms in the BitBake glossary
Using the intersphinx extension, we can refer to terms in the Bitbake
manual using :term:`bitbake:FOO`. This patch implements that, mostly
using the following regexp:

  line = re.sub("`+(\w+)`* <(\&YOCTO_DOCS_BB_URL;)?#var(-bb)?-\\1>`__",
                ":term:`bitbake:\\1`",
                line)

And a handful of manual fixup.

(From yocto-docs rev: d2ed9117fffceb756c4a8f3cb6d39363a271d6d9)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
28afbf81ec sphinx: fix links when the link text should be displayed
When an hyperlink should be display in the output, there is no need to
any specific syntax or marker, the parser finds links and mail
addresses in ordinary text. Somehow the conversion from pandoc
generated wrong output in the form: ` <link>`__. This patch is
generated using the following Python regexp:

    line = re.sub("` <(https?://.*)>`__",
                  "\\1",
                  line)

(From yocto-docs rev: a35d735a74425dff34c63c086947624467658c40)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
283ed72d48 sphinx: add links for Yocto project website
In DocBook, variables are used to create custom links (note that it is
not consistent everywhere, since some web addresses are still
hardcoded), such as YOCTO_HOME_URL, YOCTO_GIT_URL, YOCTO_WIKI_URL,
YOCTO_BUGS_URL and YOCTO_DL_URL..

In Sphinx they are replaced with extlinks.

(From yocto-docs rev: d25f3095a9d29a3355581d0743f27b2a423ad580)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Richard Purdie
26c5622bb5 sphinx: Organize top level docs
Clean up the top level docs index to refer to all the manuals
with decent titles/links/layout and match the current website docs
page links.

(From yocto-docs rev: 45138057bf9446dfca7bf1ddef97104df57abe76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
6a9fd9bd72 sphinx: toaster-manual: add figures
(From yocto-docs rev: 3b976f4b9a4fdcd8116b557a09fd18b69b684582)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
6dec8aab0e sphinx: test-manual: add figures
(From yocto-docs rev: 35f1f1e06f79fd28889f188095156890aa898e17)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
e6c9507240 sphinx: sdk-manual: add figures
(From yocto-docs rev: 33f46470d53790ae986294e1776c5ca23f764976)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
c7ff908b50 sphinx: ref-manual: add figures
(From yocto-docs rev: 22a371230ab38df0558400a85829fb1e508b6e1d)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
49493841b5 sphinx: fix up bold text for informalexample container
With DocBook the 'informalcontainer' include a 'title' which was
rendered as bold with CSS. However when using the Sphinx container
directive to create a custom container, it's just content without
title, so make the title bold.

(From yocto-docs rev: 8947e6b71baa6c9bf06751018bc2b98f8be1b6fd)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
6e4788bb67 sphinx: profile-manual: add figures
(From yocto-docs rev: bfa1c146265d165ddfa1a70488d0f043ec9df2ee)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:34 +01:00
Nicolas Dechesne
ffa58f2985 sphinx: kernel-dev: add figures
(From yocto-docs rev: cd859cca2e6861fbb5bac68c2f6e972285c47dcb)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
0640f19206 sphinx: dev-manual add figures
(From yocto-docs rev: 590ddc11263f00d912d874377199574c123c75b1)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
424567d629 sphinx: manual updates for some links
Some links were not found by the regexp, especially because of they
are spanning across multiple lines. This patch is a manual fixup for
these patterns.

(From yocto-docs rev: 7a5cf8b372903d959d4a1f0882e6198f31f3cba5)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
4bf6fc5281 sphinx: fix custom term links
Some term links have custom 'text', and require manual update, since
they were not caught by the generic Python regexp.

(From yocto-docs rev: 519355ba9daf7630e8d477b2f6f511be51fd8b2e)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
7b87ca796a sphinx: ref-manual: fix typo
The variable name is SSTATE_MIRROR, not STATE_MIRROR, and because of
the typo, it was not caught by the Python regexp.

(From yocto-docs rev: 7347f5343c4995c53da6b9a88a3912453def9669)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
c473fa2292 sphinx: fix internal links
Many of the internal links were not converted probably from DocBook
using pandoc. After looking at the various patterns, the follow series
of 'naive' Python regexp were used to perform some additional
automatic conversion.

Also, since we rely on built-in glossary, all links to terms need to
use the sphinx :term: syntax.

This commit is generated using the following Python series of regexp:

   line = re.sub("`+(\w+)`* <(\&YOCTO_DOCS_REF_URL;)?#var-\\1>`__",
                 ":term:`\\1`",
                 line)

   line = re.sub("`+do_([a-z_]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-tasks-\\1>`__",
                 ":ref:`ref-tasks-\\1`",
                 line)

   line = re.sub("`+([a-z_\-\*\.]+).bbclass`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__",
                 ":ref:`\\1.bbclass <ref-classes-\\1>`",
                 line)

   line = re.sub("`+([a-z_\-\*\.]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__",
                 ":ref:`\\1 <ref-classes-\\1>`",
                 line)

   line = re.sub("`Source Directory <(\&YOCTO_DOCS_REF_URL;)?#source-directory>`__",
                 ":term:`Source Directory`",
                 line)

   line = re.sub("`Build Directory <(\&YOCTO_DOCS_REF_URL;)?#build-directory>`__",
                 ":term:`Build Directory`",
                 line)

   line = re.sub("`Metadata <(\&YOCTO_DOCS_REF_URL;)?#metadata>`__",
                 ":term:`Metadata`",
                 line)

   line = re.sub("`BitBake <(\&YOCTO_DOCS_REF_URL;)?#bitbake-term>`__",
                 ":term:`BitBake`",
                 line)

   line = re.sub("`Images <(\&YOCTO_DOCS_REF_URL;)?#ref-images>`__",
                 ":ref:`ref-manual/ref-images:Images`",
                 line)

   line = re.sub("`Classes <(\&YOCTO_DOCS_REF_URL;)?#ref-classes>`__",
                 ":ref:`ref-manual/ref-classes:Classes`",
                 line)

   line = re.sub("`workspace <(\&YOCTO_DOCS_REF_URL;)?#devtool-the-workspace-layer-structure>`__",
                 ":ref:`devtool-the-workspace-layer-structure`",
                 line)

   line = re.sub("`Open-?Embedded b?B?uild s?S?ystem <(\&YOCTO_DOCS_REF_URL;)?#build-system-term>`__",
                 ":term:`OpenEmbedded Build System`",
                 line)

   line = re.sub("`(OpenEmbedded-Core )?(\(?OE-Core\)? )?<(\&YOCTO_DOCS_REF_URL;)?#oe-core>`__",
                 ":term:`OpenEmbedded-Core (OE-Core)`",
                 line)

It won't catch multiline strings, but it catches a very large number
of occurences!

(From yocto-docs rev: 3f537d17de5b1fb76ba3bee196481984a4826378)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
4cd953989d sphinx: ref-manual: use builtin glossary for the Terms section
Using the builting glossary is well suited for the Yocto Project
'terms' section. Conveniently, all terms will also be added in the
global index.

While converting this to a glossary, also fixed up some content which
was not properly converted by pandoc (such as codeblock sections, or
references in between terms).

(From yocto-docs rev: fce1d16eac1a92f3c6b7bfc74600197b5cb668a2)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
303f1a9ef7 sphinx: conf.py: enable sphinx.ext.autosectionlabel
This extension generates the labels for each section, so that we can
reference section by their title.

(From yocto-docs rev: 910bdad33819116f00fd4f849dcf7484fbebb465)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
a9577eadae sphinx: add a general index
This index is automatically generated by Sphinx, and all terms from
the glossary are listed. It seems very convenient for the Yocto
Project documentation.

The implementation with an 'almost' empty file is tricky. It was
borrowed from:
https://stackoverflow.com/questions/40556423/how-can-i-link-the-generated-index-page-in-readthedocs-navigation-bar

(From yocto-docs rev: 8af595c464b58cf46df7ef067832db5c841e9202)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
17f1c2ce04 sphinx: ref-manual: add revision history table
(From yocto-docs rev: 36d1073119081b9c364f48aedf4086881bef03d6)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
461e2e843d sphinx: add boilerplate to manuals
(From yocto-docs rev: d552acdc60c8a0467b649b95183b87b3345a4f8c)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
54d38a91e1 sphinx: add boilerplate file
A certain amount of boilerplate is added at the beginning of all
documents. In DocBook this is copy/pasted in each file. Let's create a
boilerplate ReST file, which we will include in each document,
wherever it's required.

(From yocto-docs rev: 37e0d5f246c614e62a7c0d4d72a5d6ce9ec5325e)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
44e8d439aa sphinx: conf: add substitutions/global variables
The Yocto Project documentation makes heavy use of 'global'
variables. In Docbook these 'variables' are stored in the file
poky.ent. This Docbook feature is not handled automatically with
Pandoc. Sphinx has builtin support for substitutions however they are
local to each reST file by default. They can be made global by using
rst_prolog:

 rst_prolog
    A string of reStructuredText that will be included at the
    beginning of every source file that is read.

However Sphinx substitution feature has several important limitations. For
example, substitution does not work in code-block section.

yocto-vars.py is an extension that processes .rst file to find and
replace 'variables'. This plugin will do variables substitutions
whenever a rst file is read, so it happens before sphinx parses the
content.

All variables are set in poky.yaml. It's a simple YAML file with pairs
of variable/value, and the file is parsed once during setup. It's
important to note that variables can reference other
variables. poky.yaml was generated by converting poky.ent into a YAML
format.

To use a variable in the Yocto Project .rst files, make sure it is
defined in poky.yaml, and then you can use : &DISTRO_NAME;

For external links, Sphinx has a specific extension called extlinks,
let's use it instead of variable substituions. Note that we
intentionnally did not put the trailing '/' in the URL, this is to
allow us to use :yocto_git:`/` trick to get the actual URL displayed
in the HTML.

(From yocto-docs rev: dc5f53fae8fdfdda04285869dd1419107b920bfe)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
18786fbffe sphinx: conf: update copyright
(From yocto-docs rev: 9a5c74f73f2f00d8dbd3bc4f72973f9e2913b316)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
fd71ce03e9 sphinx: add Yocto project logo
(From yocto-docs rev: 125c70b04a28bf095ed1cd8273ebdc7d1d0b5cfd)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
87f3435b39 sphinx: bsp-guide: add figures
(From yocto-docs rev: 5341150c11270633fdb1428a59a3b7bd72123e7f)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
2c3298d72e sphinx: add CSS theme override
It is possible to override CSS settings from the theme, by providing
custom snippets of CSS stylesheet. Support for that is added in
conf.py file.

The following changes are made:
* remove the overall text width which (set to 800px by default)
* improve the visual output, and colors of links and admonition

(From yocto-docs rev: 0c1e108bc6c452f7cc8c665bee984bd7da281666)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
7ea70a656b sphinx: Add SPDX license headers
SPDX headers have been added to each file, and match the headers used
in the DocBook files.

(From yocto-docs rev: 79dbb0007ae24da4a3689a23e921f2a2638757f7)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
6c445d85f0 sphinx: switch to readthedocs theme
To install this additional theme:
pip3 install sphinx_rtd_theme

(From yocto-docs rev: 9121dbd0a457451d7f7cdffe8fa2717d5e5959ec)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
afde290655 sphinx: overview-manual: add figures
The automatic conversion with pandoc skipped the figures. Add them
manually.

(From yocto-docs rev: 1c2d071b7963490e8126a0b81792bda7a7c0bc8c)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
0b84b3dd76 sphinx: ref-variables: use builtin sphinx glossary
Sphinx has a glossary directive. From the documentation:
This directive must contain a reST definition list with terms and
definitions. The definitions will then be referencable with the 'term'
role.

So anywhere in *any* manual, we can do :term:`VAR` to refer to an item
from the glossary, and create a link.

An HTML anchor is created for each term in the glossary, and can be
accessed as:
<link>/ref-variables.html#term-<NAME>

To convert to a glossary, we needed proper indentation (e.g. added 3
spaces to each line)

(From yocto-docs rev: af16cc4233ae9672698cf2fbb7bf0a78e461122e)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
9bd69b1f1d 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>
2020-09-17 10:09:33 +01:00
Nicolas Dechesne
c40a8d5904 sphinx: add initial build infrastructure
Used sphinx-quickstart to generate top level config and
Makefile.sphinx, to allow side by side DocBook and Sphinx
co-existence.

(From yocto-docs rev: 01dd5af7954e24552aca022917669b27bb0541ed)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 10:09:32 +01:00
Martin Jansa
a32ddf91bc bitbake.conf: use ${TCMODE}-${TCLIBC} directory for CACHE
* move TCMODE and TCLIBC from defaultsetup.conf to bitbake.conf
* set CACHE as it was in defaultsetup.conf and drop it from defaultsetup.conf
* most if not all DISTROs are now including defaultsetup.conf and
  TCLIBC is pretty much expected to be always set correctly, e.g.:
  meta/recipes-core/systemd/systemd_243.2.bb:    if d.getVar('TCLIBC') == "musl":
  meta/recipes-devtools/gcc/gcc-runtime.inc:        if [ "${TCLIBC}" != "glibc" ]; then
  meta/recipes-devtools/gcc/libgcc.inc:     if [ "${TCLIBC}" != "glibc" ]; then
  meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb:ENV_NAME="${DISTRO}-${TCLIBC}-${SDK_ARCH}-@TARGET_PREFIX@${DISTRO_VERSION}.tar.gz"
  meta/recipes-devtools/valgrind/valgrind_3.15.0.bb:RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
  meta/recipes-kernel/linux/kernel-devsrc.bb:RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils"

  meta/classes/buildhistory.bbclass:BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}"
  meta/classes/cross-canadian.bbclass:    if d.getVar("TCLIBC") in [ 'baremetal', 'newlib' ]:
  meta/classes/kernel.bbclass:    tclibc = d.getVar('TCLIBC')
  meta/classes/toaster.bbclass:    BUILDHISTORY_DIR_IMAGE_BASE = e.data.expand("%s/images/${MACHINE_ARCH}/${TCLIBC}/"% BUILDHISTORY_DIR)

(From OE-Core rev: 57aa60ef6422568b425b6ccc4451567efc578469)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Steve Sakoman
a288b331f2 xinput-calibrator: change SRC_URI to branch with libinput support
Since "conf: Use xf86-input-libinput by default" [1] there are
reports [2] of xinput-calibrator failing because it expects
xf86-input-evdev and with the above patch xf86-input-libinput
takes precedence.

Fix this issue by using a branch of xinput calibrator which supports
xf86-input-libinput.

[1] https://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc?id=2d005faff6341a81a2afae28860101ba9db51ae8
[2] https://www.yoctoproject.org/pipermail/yocto/2018-December/043487.html

(From OE-Core rev: d3b2302bcc1594e663183134793cf4aca8f4df41)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Stacy Gaikovaia
14ccd72b3f valgrind: fix memcheck vgtests remove fullpath-after flags
Previously in:
    f75792b28e valgrind: make a few more ptests pass
the vagrind test runner was adjusted to suppress part
of a path that only exists when run in the yocto ptest
environment. Unfortunately this change includes the
valgrind version and when valgrind was last updated,
the patch was not changed. Rather than continually updating
the patch or even generating the version dynamically,
we can simply change the expected output for two tests.

The reason the option: --fullpath-after=foo was
introduced into the effected valgrind ptests was to
deal with builds where ccache is used. Compiling with
ccache enabled sometimes causes the source file absolute
name to be found in a full path that is not the same as $PWD.

See commit c80f32e662dfa2a4f046960a25d5b8b7a8821bea in
valgrind for more information about changes to the
arguments that test badfree3 and varinfo5 run with.

There is also a minor fix to add the missing overloading.pm
perl package and put the dependencies in alphabetic order.

(From OE-Core rev: 9c82b9302c6ee84864e9a9cc870729395804e794)

Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Ross Burton
4064756e20 buildhistory-diff: use BUILDDIR to know where buildhistory is
Instead of assuming that the buildhistory is stored in ./buildhistory
unless told otherwise, use the environment variable BUILDDIR if present
(which is set by oe-init-build-env) to locate the buildhistory
directory.

(From OE-Core rev: 18ca377df98e53b84ae8ec9ba561392c776c10df)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Mingli Yu
d393196485 bison: remove the parallel build patch
Remove the parallel build patch and related fix for parallel
build as the issue have already been fixed in bison 3.7.2
(f7b642cf build: fix incorrect dependencies).

(From OE-Core rev: 00c7aacf84d094706ed3378a265189d2d6816cfd)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Peter Bergin
812c2dbabf systemd: avoid failing if no udev rules provided
In the case when no udev rules are provided by the recipe the do_install
step of systemd is failing with:

    install: cannot stat '<WORKDIR>/*.rules': No such file or directory

By default the systemd recipe provides touchscreen.rules but in the
case this is unwanted on target the install step fails. This solution
is dynamic and search for *.rules files in $WORKDIR. If found they are
installed.

(From OE-Core rev: c65eb4c38b61509ad38da19b986e0f06923f0cea)

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:45 +01:00
Martin Jansa
70aeecf62d *-initramfs: don't use .rootfs IMAGE_NAME_SUFFIX
* fixes the issue when image-live.bbclass expects the image
  ending with just INITRAMFS_FSTYPES:
  image-live.bbclass:INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.${INITRAMFS_FSTYPES}"
  while by default it now was with .rootfs suffix:
  -rw-r--r-- 2 bitbake bitbake 1.5K Oct 25 16:12 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs.env
  -rw-r--r-- 4 bitbake bitbake  11M Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.cpio.gz
  -rw-r--r-- 4 bitbake bitbake 1.2K Oct 25 16:11 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.manifest
  -rw-r--r-- 4 bitbake bitbake 1.3K Oct 25 16:12 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.qemuboot.conf
  -rw-r--r-- 4 bitbake bitbake 196K Oct 25 16:11 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.testdata.json
  -rw-r--r-- 4 bitbake bitbake 118M Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.wic
  -rw-r--r-- 4 bitbake bitbake 3.1K Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64-1.0-r0-20191025154349.wic.bmap
  -rw-r--r-- 4 bitbake bitbake 1.3K Oct 25 16:12 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.qemuboot.conf
  -rw-r--r-- 4 bitbake bitbake  11M Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.rootfs.cpio.gz
  -rw-r--r-- 4 bitbake bitbake 1.2K Oct 25 16:11 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.rootfs.manifest
  -rw-r--r-- 4 bitbake bitbake 118M Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.rootfs.wic
  -rw-r--r-- 4 bitbake bitbake 3.1K Oct 25 16:13 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.rootfs.wic.bmap
  -rw-r--r-- 4 bitbake bitbake 196K Oct 25 16:11 /OE/build/oe-core/tmp/deploy/images/genericx86-64/core-image-minimal-initramfs-genericx86-64.testdata.json

  initramfs images aren't normally used for rootfs, so just set
  the suffix to empty, people using different artifact names might
  still need to set INITRD_LIVE (e.g. when their images don't end
  with "-${MACHINE}" as well)

(From OE-Core rev: 431a7dfc6c1c86ead3e636d42e2bf1f1f906588c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:45 +01:00
Martin Jansa
a00ca02fbd kernel.bbclass: use camelCase notation for bash variables in do_deploy
* to match other variables there like deployDir imageType

[YOCTO #12937]

(From OE-Core rev: 13c5d1b686255d385d200cbd06b7000080809fc7)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:45 +01:00