summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/conf.py25
-rw-r--r--documentation/poky.yaml89
-rw-r--r--documentation/sphinx/yocto-vars.py38
3 files changed, 152 insertions, 0 deletions
diff --git a/documentation/conf.py b/documentation/conf.py
index dd20e44a1a..5519acb87a 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -26,10 +26,15 @@ author = 'The Linux Foundation'
26 26
27# -- General configuration --------------------------------------------------- 27# -- General configuration ---------------------------------------------------
28 28
29# to load local extension from the folder 'sphinx'
30sys.path.insert(0, os.path.abspath('sphinx'))
31
29# Add any Sphinx extension module names here, as strings. They can be 32# Add any Sphinx extension module names here, as strings. They can be
30# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 33# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
31# ones. 34# ones.
32extensions = [ 35extensions = [
36 'sphinx.ext.extlinks',
37 'yocto-vars'
33] 38]
34 39
35# Add any paths that contain templates here, relative to this directory. 40# Add any paths that contain templates here, relative to this directory.
@@ -44,6 +49,26 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
44# set it ourselves. 49# set it ourselves.
45master_doc = 'index' 50master_doc = 'index'
46 51
52# create substitution for project configuration variables
53rst_prolog = """
54.. |project_name| replace:: %s
55.. |copyright| replace:: %s
56.. |author| replace:: %s
57""" % (project, copyright, author)
58
59# external links and substitutions
60extlinks = {
61 'yocto_home': ('https://yoctoproject.org%s', None),
62 'yocto_wiki': ('https://wiki.yoctoproject.org%s', None),
63 'yocto_dl': ('https://downloads.yoctoproject.org%s', None),
64 'yocto_lists': ('https://lists.yoctoproject.org%s', None),
65 'yocto_bugs': ('https://bugzilla.yoctoproject.org%s', None),
66 'yocto_ab': ('https://autobuilder.yoctoproject.org%s', None),
67 'yocto_git': ('https://git.yoctoproject.org%s', None),
68 'oe_home': ('https://www.openembedded.org%s', None),
69 'oe_lists': ('https://lists.openembedded.org%s', None),
70}
71
47# -- Options for HTML output ------------------------------------------------- 72# -- Options for HTML output -------------------------------------------------
48 73
49# The theme to use for HTML and HTML Help pages. See the documentation for 74# The theme to use for HTML and HTML Help pages. See the documentation for
diff --git a/documentation/poky.yaml b/documentation/poky.yaml
new file mode 100644
index 0000000000..7d544b41aa
--- /dev/null
+++ b/documentation/poky.yaml
@@ -0,0 +1,89 @@
1DISTRO : "3.1"
2DISTRO_COMPRESSED : "31"
3DISTRO_NAME_NO_CAP : "dunfell"
4DISTRO_NAME : "Dunfell"
5DISTRO_NAME_NO_CAP_MINUS_ONE : "zeus"
6DISTRO_NAME_MINUS_ONE : "Zeus"
7YOCTO_DOC_VERSION : "3.1"
8YOCTO_DOC_VERSION_MINUS_ONE : "3.0.2"
9DISTRO_REL_TAG : "yocto-3.1"
10METAINTELVERSION : "12.0"
11REL_MONTH_YEAR : "April 2020"
12META_INTEL_REL_TAG : "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;"
13POKYVERSION : "23.0.0"
14POKYVERSION_COMPRESSED : "2300"
15YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
16COPYRIGHT_YEAR : "2010-2020"
17ORGNAME : "The Yocto Project"
18ORGEMAIL : "docs@lists.yoctoproject.org"
19YOCTO_DL_URL : "http://downloads.yoctoproject.org"
20YOCTO_HOME_URL : "http://www.yoctoproject.org"
21YOCTO_LISTS_URL : "http://lists.yoctoproject.org"
22YOCTO_BUGZILLA_URL : "http://bugzilla.yoctoproject.org"
23YOCTO_WIKI_URL : "https://wiki.yoctoproject.org"
24YOCTO_AB_URL : "http://autobuilder.yoctoproject.org"
25YOCTO_GIT_URL : "http://git.yoctoproject.org"
26YOCTO_ADTREPO_URL : "http://adtrepo.yoctoproject.org"
27OE_HOME_URL : "http://www.openembedded.org"
28OE_LISTS_URL : "http://lists.openembedded.org/mailman"
29OE_DOCS_URL : "http://docs.openembedded.org"
30OH_HOME_URL : "http://o-hand.com"
31BITBAKE_HOME_URL : "http://developer.berlios.de/projects/bitbake/"
32YOCTO_DOCS_URL : "&YOCTO_HOME_URL;/docs"
33YOCTO_SOURCES_URL : "&YOCTO_HOME_URL;/sources/"
34YOCTO_AB_PORT_URL : "https://autobuilder.yocto.io/"
35YOCTO_AB_NIGHTLY_URL : "&YOCTO_AB_PORT_URL;/pub/nightly/"
36YOCTO_POKY_URL : "&YOCTO_DL_URL;/releases/poky/"
37YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
38YOCTO_TOOLCHAIN_DL_URL : "&YOCTO_RELEASE_DL_URL;/toolchain/"
39YOCTO_ADTINSTALLER_DL_URL : "&YOCTO_RELEASE_DL_URL;/adt-installer"
40YOCTO_POKY_DL_URL : "&YOCTO_RELEASE_DL_URL;/&YOCTO_POKY;.tar.bz2"
41YOCTO_MACHINES_DL_URL : "&YOCTO_RELEASE_DL_URL;/machines"
42YOCTO_QEMU_DL_URL : "&YOCTO_MACHINES_DL_URL;/qemu"
43YOCTO_PYTHON-i686_DL_URL : "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-i686.tar.bz2"
44YOCTO_PYTHON-x86_64_DL_URL : "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-x86_64.tar.bz2"
45YOCTO_DOCS_QS_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/yocto-project-qs/yocto-project-qs.html"
46YOCTO_DOCS_ADT_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/adt-manual/adt-manual.html"
47YOCTO_DOCS_REF_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/ref-manual/ref-manual.html"
48YOCTO_DOCS_BSP_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/bsp-guide/bsp-guide.html"
49YOCTO_DOCS_DEV_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/dev-manual/dev-manual.html"
50YOCTO_DOCS_KERNEL_DEV_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-dev/kernel-dev.html"
51YOCTO_DOCS_PROF_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/profile-manual/profile-manual.html"
52YOCTO_DOCS_MM_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/mega-manual/mega-manual.html"
53YOCTO_DOCS_BB_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/bitbake-user-manual/bitbake-user-manual.html"
54YOCTO_DOCS_TOAST_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/toaster-manual/toaster-manual.html"
55YOCTO_DOCS_SDK_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/sdk-manual/sdk-manual.html"
56YOCTO_DOCS_OM_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/overview-manual/overview-manual.html"
57YOCTO_DOCS_BRIEF_URL : "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/brief-yoctoprojectqs/brief-yoctoprojectqs.html"
58YOCTO_ADTPATH_DIR : "/opt/poky/&DISTRO;"
59YOCTO_POKY_TARBALL : "&YOCTO_POKY;.tar.bz2"
60OE_INIT_PATH : "&YOCTO_POKY;/oe-init-build-env"
61OE_INIT_FILE : "oe-init-build-env"
62UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git-core diffstat unzip texinfo gcc-multilib \
63 build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
64 xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
65 pylint3 xterm python3-subunit mesa-common-dev"
66FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
67 diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
68 ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
69 python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
70 python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel"
71OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
72 diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
73 python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel xterm rpcgen Mesa-dri-devel
74 $ sudo pip3 install GitPython"
75CENTOS7_HOST_PACKAGES_ESSENTIAL : "-y epel-release
76 $ sudo yum makecache
77 $ sudo yum install gawk make wget tar bzip2 gzip python3 unzip perl patch \
78 diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
79 perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python36-pip xz \
80 which SDL-devel xterm mesa-libGL-devel
81 $ sudo pip3 install GitPython jinja2"
82CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release
83 $ sudo dnf config-manager --set-enabled PowerTools
84 $ sudo dnf makecache
85 $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
86 diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
87 socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
88 python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel xterm \
89 rpcgen mesa-libGL-devel"
diff --git a/documentation/sphinx/yocto-vars.py b/documentation/sphinx/yocto-vars.py
new file mode 100644
index 0000000000..5689472991
--- /dev/null
+++ b/documentation/sphinx/yocto-vars.py
@@ -0,0 +1,38 @@
1#!/usr/bin/env python
2import re
3import yaml
4
5import sphinx
6from sphinx.application import Sphinx
7
8__version__ = '1.0'
9
10# Variables substitutions. Uses {VAR} subst using variables defined in poky.yaml
11# Each .rst file is processed after source-read event (subst_vars_replace runs once per file)
12subst_vars = {}
13
14def subst_vars_replace(app: Sphinx, docname, source):
15 result = source[0]
16 for k in subst_vars:
17 result = result.replace("&"+k+";", subst_vars[k])
18 source[0] = result
19
20PATTERN = re.compile(r'&(.*?);')
21def expand(val, src):
22 return PATTERN.sub(lambda m: expand(src.get(m.group(1), ''), src), val)
23
24def setup(app: Sphinx):
25 #FIXME: if poky.yaml changes, files are not reprocessed.
26 with open("poky.yaml") as file:
27 subst_vars.update(yaml.load(file, Loader=yaml.FullLoader))
28
29 for k in subst_vars:
30 subst_vars[k] = expand(subst_vars[k], subst_vars)
31
32 app.connect('source-read', subst_vars_replace)
33
34 return dict(
35 version = __version__,
36 parallel_read_safe = True,
37 parallel_write_safe = True
38 )