From 9b4d8b0ea6b5862f279fab62e6ccee3bd51ddcc2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 19 Feb 2021 12:26:16 -0600 Subject: poky: subtree update:9294bc4bb4..488e39b623 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alejandro Hernandez Samaniego (1): sstate.bbclass: Split sstate summary into locally and network found artifacts Alexander Kanavin (1): selftest/reproducible: track unusued entries in the exclusion list Andrei Gherzan (1): oe/recipeutils: Fix copying patches when BBLAYERS entries are not normalised Anthony Bagwell (1): kernel-fitimage: fix dtbo support for fit images Anuj Mittal (38): git: upgrade 2.30.0 -> 2.30.1 glib-2.0: upgrade 2.66.4 -> 2.66.7 help2man: upgrade 1.47.16 -> 1.48.1 libevdev: upgrade 1.10.1 -> 1.11.0 stress-ng: upgrade 0.12.02 -> 0.12.03 vte: upgrade 0.62.1 -> 0.62.2 x264: upgrade to latest revision createrepo-c: upgrade 0.16.2 -> 0.17.0 libuv: upgrade 1.40.0 -> 1.41.0 piglit: upgrade to latest revision pigz: upgrade 2.4 -> 2.6 python3-git: upgrade 3.1.12 -> 3.1.13 sysstat: upgrade 12.4.2 -> 12.4.3 python3-hypothesis: upgrade 6.0.2 -> 6.2.0 python3-more-itertools: upgrade 8.6.0 -> 8.7.0 python3-numpy: upgrade 1.20.0 -> 1.20.1 python3-pygments: upgrade 2.7.4 -> 2.8.0 python3-pytest: upgrade 6.2.1 -> 6.2.2 python3-setuptools: upgrade 52.0.0 -> 53.0.0 psmisc: upgrade 23.3 -> 23.4 gtk+3: upgrade 3.24.24 -> 3.24.25 lighttpd: upgrade 1.4.58 -> 1.4.59 libwebp: upgrade 1.1.0 -> 1.2.0 libcap: upgrade 2.47 -> 2.48 libxt: upgrade 1.2.0 -> 1.2.1 sysklogd: upgrade 2.1.2 -> 2.2.1 cmake: upgrade 3.19.3 -> 3.19.5 curl: upgrade 7.74.0 -> 7.75.0 diffoscope: upgrade 164 -> 166 libfm-extra: upgrade 1.3.1 -> 1.3.2 pcmanfm: upgrade 1.3.1 -> 1.3.2 json-glib: upgrade 1.6.0 -> 1.6.2 mesa: upgrade 20.3.2 -> 20.3.4 kmscube: upgrade to latest revision btrfs-tools: upgrade 5.10 -> 5.10.1 man-db: upgrade 2.9.3 -> 2.9.4 asciidoc: fix upstream check linux-yocto: update genericx86* to v5.4.94 Bruce Ashfield (6): linux-yocto-rt/5.10: update to -rt25 linux-yocto/5.10: update to v5.10.14 linux-yocto/5.4: update to v5.4.96 linux-yocto/5.10: update to v5.10.16 linux-yocto/5.4: update to v5.4.98 linux-yocto-dev: bump version to v5.11+ Jan-Simon Möller (2): oe-selftests: add rpm to reproducible build selftest package_rpm: Enable use_source_date_epoch_as_buildtime in package_rpm class Jose Quaresma (5): spirv-tools: disable tests spirv-tools: build all libaries as shared glslang: generate glslang pkg-config glslang: add comment about unversioned libraries shaderc: remove the receipe configure hack and use a patch for that Joshua Watt (7): libomxil: Fix up commercial license flag weston: remoting backend requires GStreamer base plugins oeqa: reproducible: Fix SSTATE_MIRRORS variable oeqa: reproducible: Add more logging bitbake: contrib: Add Dockerfile for building hash server bison: Fix up file name mapping acpica: Fix reproducibility issues Khem Raj (8): tcf-agent: Fix build on riscv32 security_flags.inc: Add same O as in SELECTED_OPTIMIZATION autoconf: Add missing perl modules to rdeps gdb: Drop SIGRTMIN definition patch musl: Update to latest master go: Update to 1.15.8 ruby: Do not use ucontext implementation for coroutines on musl/riscv libunwind: Disable for riscv Konrad Weihmann (1): cmake: set CMAKE_EXPORT_NO_PACKAGE_REGISTRY Luca Boccassi (1): systemd: add hostname fallback when polkit is not available Marek Vasut (1): weston-init: Fix weston-keyboard path in weston.ini Michael Halstead (1): yocto-uninative.inc: version 3.0 incorporate seccomp filter workaround Oleksandr Kravchuk (2): cryptodev: upgrade to 1.12 tar: update to 1.34 Richard Purdie (31): pseudo: Update for rename and faccessat fixes nativesdk-buildtools-perl-dummy: Add new autoconf dependencies selftest/reproducible: Sort the unused exclusion list selftest/reproducible: Remove no longer needed exclusions pseudo: Update to include fixes for glibc 2.33 bitbake: bitbake-worker/runqueue: Add support for BB_DEFAULT_UMASK bitbake: bitbake: Bump version to 1.49.2 systemd: Simplify mount error patch bitbake.conf: Set as default task umask of 022 classes: Drop now unneeded umask flags cwautomacros: Ensure version is set deterministically vim: Improve determinism vim: Fix a race over creation of the desktop files package_manager/deb: Fix image generation with package removal quilt: Be determnistic about column presence buildtools-extended-tarball: Add glibc-gconvs needed for build watchdog: Fix determinism issue from sendmail host path watchdog: Avoid reproducibility failures after fixing build xorg-fonts-minimal: Fix reproducibility xmlto: Fix reproducibility selftest/reproducible: Update exclusions distutils3-base: Fix after native packaging changes subversion: upgrade 1.14.0 -> 1.14.1 python3-jinja2: upgrade 2.11.2 -> 2.11.3 systemd: Drop unneeded musl patches qemu: Refresh mmap fixes patch status/content Revert "oe-selftests: add rpm to reproducible build selftest" local.conf.sample.extended: Bring back into sync with OE-Core xorg-minimal-fonts: Really fix determinism git: Fix determinism issue groff: Fix determinism issue Ross Burton (2): glibc: add workaround for faccessat2 being blocked by seccomp filters rootfs_deb: handle aarch64 SDK_ARCH Suji Velupillai (1): ffmpeg: move ffmpeg config into packageconfig Teoh Jay Shen (1): oeqa/runlevel : add test for runlevels Thomas Viehweger (1): mtd-utils: Remove duplicate assignments to alternative link names Tomasz Dziendzielski (1): bitbake: event: Prevent bitbake from executing event handler for wrong multiconfig target Vivien Didelot (2): local.conf.sample.extended: fix double 'of' typo local.conf.sample.extended: prefer INIT_MANAGER Wes Lindauer (1): df.py: Add feature check for read-only-rootfs Yi Fan Yu (2): valgrind: Disable ptest nlcontrolc for x86-64 valgrind: Remove reference to non-existent ptests Yoann Congal (1): npm.bbclass: avoid building target nodejs for native npm recipes akuster (1): connman: update to 1.39 Revert "libpam: remove unused code" This reverts commit e5b5c38a76bbf3f56353954bdc65fa8736ed76bf. This is needed for the backported libpam support Signed-off-by: Andrew Geissler Change-Id: Ia802c1f09ccbd2967e01098edb059e72ee670ad8 --- poky/bitbake/bin/bitbake | 2 +- poky/bitbake/bin/bitbake-worker | 8 +++++-- poky/bitbake/contrib/hashserv/Dockerfile | 19 ++++++++++++++++ .../bitbake-user-manual-ref-variables.rst | 4 ++++ poky/bitbake/lib/bb/__init__.py | 2 +- poky/bitbake/lib/bb/cookerdata.py | 2 +- poky/bitbake/lib/bb/event.py | 26 ++++++++++++++++++++-- poky/bitbake/lib/bb/parse/ast.py | 2 +- poky/bitbake/lib/bb/runqueue.py | 5 +++-- 9 files changed, 60 insertions(+), 10 deletions(-) create mode 100644 poky/bitbake/contrib/hashserv/Dockerfile (limited to 'poky/bitbake') diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake index 953783c4a3..bc762bfc15 100755 --- a/poky/bitbake/bin/bitbake +++ b/poky/bitbake/bin/bitbake @@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException if sys.getfilesystemencoding() != "utf-8": sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") -__version__ = "1.49.1" +__version__ = "1.49.2" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker index 6c37967513..7765b9368b 100755 --- a/poky/bitbake/bin/bitbake-worker +++ b/poky/bitbake/bin/bitbake-worker @@ -150,11 +150,15 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha taskdep = workerdata["taskdeps"][fn] if 'umask' in taskdep and taskname in taskdep['umask']: + umask = taskdep['umask'][taskname] + elif workerdata["umask"]: + umask = workerdata["umask"] + if umask: # umask might come in as a number or text string.. try: - umask = int(taskdep['umask'][taskname],8) + umask = int(umask, 8) except TypeError: - umask = taskdep['umask'][taskname] + pass dry_run = cfg.dry_run or dry_run_exec diff --git a/poky/bitbake/contrib/hashserv/Dockerfile b/poky/bitbake/contrib/hashserv/Dockerfile new file mode 100644 index 0000000000..d6fc728f37 --- /dev/null +++ b/poky/bitbake/contrib/hashserv/Dockerfile @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2021 Joshua Watt +# +# Dockerfile to build a bitbake hash equivalence server container +# +# From the root of the bitbake repository, run: +# +# docker build -f contrib/hashserv/Dockerfile . +# + +FROM alpine:3.13.1 + +RUN apk add --no-cache python3 + +COPY bin/bitbake-hashserv /opt/bbhashserv/bin/ +COPY lib/hashserv /opt/bbhashserv/lib/hashserv/ + +ENTRYPOINT ["/opt/bbhashserv/bin/bitbake-hashserv"] diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 74a3eb8095..6469f9d1a4 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -108,6 +108,10 @@ overview of their function and contents. command line option). The task name specified should not include the ``do_`` prefix. + :term:`BB_DEFAULT_UMASK` + The default umask to apply to tasks if specified and no task specific + umask flag is set. + :term:`BB_DISKMON_DIRS` Monitors disk space and available inodes during the build and allows you to control the build based on these parameters. diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index e3f40a3298..84a9051c13 100644 --- a/poky/bitbake/lib/bb/__init__.py +++ b/poky/bitbake/lib/bb/__init__.py @@ -9,7 +9,7 @@ # SPDX-License-Identifier: GPL-2.0-only # -__version__ = "1.49.1" +__version__ = "1.49.2" import sys if sys.version_info < (3, 5, 0): diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index c39b568130..1c1e008c6b 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -429,7 +429,7 @@ class CookerDataBuilder(object): parselog.critical("Undefined event handler function '%s'" % var) raise bb.BBHandledException() handlerln = int(data.getVarFlag(var, "lineno", False)) - bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln) + bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln, data) data.setVar('BBINCLUDED',bb.parse.get_file_depends(data)) diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index 694b470520..ff89959460 100644 --- a/poky/bitbake/lib/bb/event.py +++ b/poky/bitbake/lib/bb/event.py @@ -118,6 +118,8 @@ def fire_class_handlers(event, d): if _eventfilter: if not _eventfilter(name, handler, event, d): continue + if d and not name in (d.getVar("__BBHANDLERS_MC") or []): + continue execute_handler(name, handler, event, d) ui_queue = [] @@ -227,9 +229,13 @@ def fire_from_worker(event, d): fire_ui_handlers(event, d) noop = lambda _: None -def register(name, handler, mask=None, filename=None, lineno=None): +def register(name, handler, mask=None, filename=None, lineno=None, data=None): """Register an Event handler""" + if data and data.getVar("BB_CURRENT_MC"): + mc = data.getVar("BB_CURRENT_MC") + name = '%s%s' % (mc, name) + # already registered if name in _handlers: return AlreadyRegistered @@ -268,10 +274,20 @@ def register(name, handler, mask=None, filename=None, lineno=None): _event_handler_map[m] = {} _event_handler_map[m][name] = True + if data: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) + bbhands_mc.append(name) + data.setVar("__BBHANDLERS_MC", bbhands_mc) + return Registered -def remove(name, handler): +def remove(name, handler, data=None): """Remove an Event handler""" + if data: + if data.getVar("BB_CURRENT_MC"): + mc = data.getVar("BB_CURRENT_MC") + name = '%s%s' % (mc, name) + _handlers.pop(name) if name in _catchall_handlers: _catchall_handlers.pop(name) @@ -279,6 +295,12 @@ def remove(name, handler): if name in _event_handler_map[event]: _event_handler_map[event].pop(name) + if data: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) + if name in bbhands_mc: + bbhands_mc.remove(name) + data.setVar("__BBHANDLERS_MC", bbhands_mc) + def get_handlers(): return _handlers diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py index 0596993d01..50a88f7da7 100644 --- a/poky/bitbake/lib/bb/parse/ast.py +++ b/poky/bitbake/lib/bb/parse/ast.py @@ -335,7 +335,7 @@ def finalize(fn, d, variant = None): if not handlerfn: bb.fatal("Undefined event handler function '%s'" % var) handlerln = int(d.getVarFlag(var, "lineno", False)) - bb.event.register(var, d.getVar(var, False), (d.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln) + bb.event.register(var, d.getVar(var, False), (d.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln, data=d) bb.event.fire(bb.event.RecipePreFinalise(fn), d) diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 2f521e5a14..54ef245a63 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -1271,6 +1271,7 @@ class RunQueue: "date" : self.cfgData.getVar("DATE"), "time" : self.cfgData.getVar("TIME"), "hashservaddr" : self.cooker.hashservaddr, + "umask" : self.cfgData.getVar("BB_DEFAULT_UMASK"), } worker.stdin.write(b"" + pickle.dumps(self.cooker.configuration) + b"") @@ -1466,7 +1467,7 @@ class RunQueue: if not self.dm_event_handler_registered: res = bb.event.register(self.dm_event_handler_name, lambda x: self.dm.check(self) if self.state in [runQueueRunning, runQueueCleanUp] else False, - ('bb.event.HeartbeatEvent',)) + ('bb.event.HeartbeatEvent',), data=self.cfgData) self.dm_event_handler_registered = True dump = self.cooker.configuration.dump_signatures @@ -1505,7 +1506,7 @@ class RunQueue: build_done = self.state is runQueueComplete or self.state is runQueueFailed if build_done and self.dm_event_handler_registered: - bb.event.remove(self.dm_event_handler_name, None) + bb.event.remove(self.dm_event_handler_name, None, data=self.cfgData) self.dm_event_handler_registered = False if build_done and self.rqexe: -- cgit v1.2.3