summaryrefslogtreecommitdiff
path: root/poky/documentation/sphinx
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-10-27 21:52:24 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-11-23 23:00:33 +0300
commit4c19ea120a3e7a73dc8470c86744bc95997f1c90 (patch)
treedd2f114bc0a3614b653d1afde08bec22ab646e7e /poky/documentation/sphinx
parent5f4b874fc7d6f8941582b97eb688c67dc21efffb (diff)
downloadopenbmc-4c19ea120a3e7a73dc8470c86744bc95997f1c90.tar.xz
poky: subtree update:ad30a6d470..7231c10430
Akira Shibakawa (3): License-Update: attr: Add a missing file to LIC_FILES_CHKSUM. License-Update: kmod: Add a missing file to LIC_FILES_CHKSUM. License-Update: gdk-pixbuf: Fix LICENSE. Alejandro Hernandez Samaniego (1): baremetal-helloworld: Fix install path since S doesnt have a trailing slash Alexander Kanavin (4): ncurses: only include upstream releases in version check python3: fix upstream version check boost-build-native: fix upstream version check selftest/virgl: drop the custom 30 sec timeout Alistair (1): weston-init: Allow setting idle time to 0 Changqing Li (1): toolchain-shar-extract.sh: don't print useless info Charlie Davies (1): bitbake: bitbake: fetch/git: use shlex.quote() to support spaces in SRC_URI url Chen Qi (2): watchdog: use /run instead of /var/run in systemd service file cups: use /run instead /var/run in systemd's unit file David Reyna (1): bitbake: toaster: Enable Gatesgarth branch in place of Zeus Douglas Royds (1): externalsrc: No single-task lock if S != B Joshua Watt (2): ref-variables: Given example for naming sources ref-manual: Document wic --offset option Khairul Rohaizzat Jamaluddin (1): imagefeatures: New test case, test_empty_image, added Khem Raj (5): autotools.bbclass: Order CONFIG_SHELL before CACHED_CONFIGUREVARS boost: Fix build on 32-bit arches with 64bit time_t only mesa: Fix build on 32bit arches supporting 64bit time_t only packagegroup-core-tools-debug: Disable for rv32/glibc as well packagegroup-core-tools-profile: Remove lttng-tools and perf for rv32/glibc Konrad Weihmann (1): lib/oe/rootfs: introduce IMAGE_LOG_CHECK_EXCLUDES Lee Chee Yang (2): libproxy: fix CVE-2020-25219 grub2: fix CVE-2020-10713 Martin Jansa (11): tune-cortexa76ae.inc: Correct TUNE_FEATURES arch-armv7a.inc: fix typo arch-mips.inc: remove duplicated mips64el-o32 from PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 arch-arm64.inc: don't append _be to ARMPKGARCH for tune-aarch64_be tune-mips64r6.inc: fix typo in mipsisa64r6-nf tune-ep9312.inc: add t suffix for thumb to PACKAGE_EXTRA_ARCHS_tune-ep9312 tune-riscv.inc: use nf suffix also for TUNE_PKGARCH tune-supersparc.inc: remove tune-thunderx.inc: don't append _be to ARMPKGARCH for tune-thunderx_be siteinfo: Recognize 32bit PPC LE siteinfo: Recognize bigendian sh3be and sh4be Max Krummenacher (2): linux-firmware: package marvel sdio 8997 firmware linux-firmware: package nvidia firmware Mingli Yu (1): tcl: adapt to potential pseudo changes Naoki Hayama (1): dev/test/ref-manual: Fix typos Neil Armstrong (1): linux-firmware: add Amlogic VDEC firmware package Nicolas Dechesne (4): sdk-manual: use built-in footnotes dev-manual/dev-manual-common-tasks: fix warning sphinx: add 3.1.3 and 3.0.4 release in the switcher dev-manual/dev-manual-common-tasks: fix typos and use extlinks Paul Eggleton (2): classes/buildhistory: record SRC_URI classes/buildhistory: also save recipe info for native recipes Quentin Schulz (17): docs: poky.yaml: use HTTPS for links docs: ref-manual: indentation, links and highlights fixes docs: remove OE_INIT_FILE variable docs: ref-manual: fix typos docs: ref-manual: migration-2.3: specify 2.3 version instead of DISTRO docs: ref-manual: ref-classes: remove dropped tinderclient class docs: ref-manual: ref-system-requirements: update requirements to build Sphinx docs docs: sphinx: yocto-vars: rebuild files when poky.yaml has changed docs: poky.yaml: fix identation in host packages variables docs: dev-manual-common-tasks: remove paragraph about race when missing DEPENDS docs: dev-manual-common-tasks: update python webserver example to python3 docs: dev-manual: fix typos, highlights, indentation and links docs: ref-manual: ref-terms: add links to terms in glossary docs: bsp-guide: bsp: fix typos, highlights and links docs: kernel-dev: fix typos, highlights and links docs: kernel-dev-common: add .patch file extension to SRC_URI files docs: kernel-dev-faq: update outdated RDEPENDS_kernel-base Reyna, David (1): bitbake: toaster: Update documentation links to new URLs Richard Purdie (10): layer.conf: Switch to gatesgarth only in preparation for release bitbake: ui/toasterui: Fix startup faults from incorrect event sequencing bitbake: bitbake: Bump version to 1.48.0 ready for the new release oeqa: Add sync call to command execution poky.conf: Bump version for 3.2 gatesgarth release build-appliance-image: Update to master head revision bitbake: tests/fetch: Update upstream master->main branchname transition Revert "classes/buildhistory: also save recipe info for native recipes" valgrind: Fix build on musl after drd fixes build-appliance-image: Update to master head revision Robert Yang (1): weston: Fix PACKAGECONFIG for remoting Roland Hieber (1): devtool: make sure .git/info exists before writing to .git/info/excludes Ross Burton (4): waf: don't assume the waf intepretter is good waf: add ${B} to do_configure[cleandirs] scripts/install-buildtools: Update to 3.2 M3 buildtools glib-2.0: fix parsing of slim encoded tzdata Sourabh Banerjee (1): layer.conf: fix sanity error for PATH variable in extensible SDK workflow Stacy Gaikovaia (2): valgrind: drd: fix pthread intercept test failures bitbake: main: Handle cooker daemon startup error Tim Orling (1): bitbake: lib/bb/ui/knotty: fix typo in parseprogress Victor Kamensky (3): Revert "qemumips: use 34Kf-64tlb CPU emulation" Revert "qemu: add 34Kf-64tlb fictitious cpu type" qemu: change TLBs number to 64 in 34Kf mips cpu model Yi Zhao (1): dhcpcd: add PACKAGECONFIG for ntp/chrony/ypbind hooks Zang Ruochen (1): harfbuzz: Refresh patch akuster (2): busybox: add rev and pgrep kea: add init scripts leimaohui (1): docs: Updated the status of spdx module. zangrc (1): classes: Fixed the problem of undefined variables when compiling meta-toolchain. Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ic45bc219b94960751896a0ae3d4923a9f5849e70
Diffstat (limited to 'poky/documentation/sphinx')
-rw-r--r--poky/documentation/sphinx/yocto-vars.py43
1 files changed, 41 insertions, 2 deletions
diff --git a/poky/documentation/sphinx/yocto-vars.py b/poky/documentation/sphinx/yocto-vars.py
index 8083d7da1..8795eee0a 100644
--- a/poky/documentation/sphinx/yocto-vars.py
+++ b/poky/documentation/sphinx/yocto-vars.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python
+from hashlib import md5
+from pathlib import Path
import re
import sys
@@ -20,25 +22,62 @@ __version__ = '1.0'
# Each .rst file is processed after source-read event (subst_vars_replace runs once per file)
subst_vars = {}
+poky_hash = ""
+
def subst_vars_replace(app: Sphinx, docname, source):
result = source[0]
for k in subst_vars:
result = result.replace("&"+k+";", subst_vars[k])
source[0] = result
+def yocto_vars_env_get_outdated(app: Sphinx, env, added, changed, removed):
+ '''
+ If poky.yaml changed (BUILDDIR/.poky.yaml.cache does not exist or contains
+ an md5sum different from poky.yaml's current md5sum), force rebuild of all
+ *.rst files in SOURCEDIR whose content has at least one occurence of `&.*;`
+ (see PATTERN global variable).
+ '''
+ try:
+ poky_cache = Path(app.outdir) / ".poky.yaml.cache"
+ cache_hash = poky_cache.read_text()
+ except FileNotFoundError:
+ cache_hash = None
+
+ if poky_hash == cache_hash:
+ return []
+
+ docs = []
+ for p in Path(app.srcdir).rglob("*.rst"):
+ if PATTERN.search(p.read_text()):
+ p_rel_no_ext = p.relative_to(app.srcdir).parent / p.stem
+ docs.append(str(p_rel_no_ext))
+ return docs
+
+def yocto_vars_build_finished(app: Sphinx, exception):
+ poky_cache = Path(app.outdir) / ".poky.yaml.cache"
+ poky_cache.write_text(poky_hash)
+ return []
+
PATTERN = re.compile(r'&(.*?);')
def expand(val, src):
return PATTERN.sub(lambda m: expand(src.get(m.group(1), ''), src), val)
def setup(app: Sphinx):
- #FIXME: if poky.yaml changes, files are not reprocessed.
+ global poky_hash
+
with open("poky.yaml") as file:
- subst_vars.update(yaml.load(file, Loader=yaml.FullLoader))
+ hasher = md5()
+ buff = file.read()
+ hasher.update(buff.encode('utf-8'))
+ poky_hash = hasher.hexdigest()
+ subst_vars.update(yaml.safe_load(buff))
for k in subst_vars:
subst_vars[k] = expand(subst_vars[k], subst_vars)
app.connect('source-read', subst_vars_replace)
+ app.connect('env-get-outdated', yocto_vars_env_get_outdated)
+ app.connect('build-finished', yocto_vars_build_finished)
return dict(
version = __version__,