summaryrefslogtreecommitdiff
path: root/poky/meta/classes/insane.bbclass
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-10-29 23:35:00 +0300
committerAndrew Geissler <geissonator@yahoo.com>2022-01-24 20:02:44 +0300
commiteff27476badc5d48b544a07f9f4748a96506c8d7 (patch)
treebafd5e712e1ad4e4dc78056f73dbeb6a9ed6a618 /poky/meta/classes/insane.bbclass
parent2a947d6075e017a8b50989a0498455752acb0e5d (diff)
downloadopenbmc-eff27476badc5d48b544a07f9f4748a96506c8d7.tar.xz
subtree updates
poky: 80f2b56ad8..d78650b980: Ahmed Hossam (1): go.bbclass: Allow adding parameters to go ldflags Alejandro Hernandez Samaniego (1): baremetal-image: Fix do_image dependencies Alexander Kanavin (153): meson: update 0.58.1 -> 0.59.1 libcap: update 2.51 -> 2.54 lua: add a recipe from meta-oe lua: update 5.3.6 -> 5.4.3 rpm: update 4.16.1.3 -> 4.17.0 libdnf: fix the rpm sqlite-only target setup libsolv: disable rpm bdb format support perl: do not build berkeley db module by default package_rpm: use zstd instead of xz qemu: update 6.0.0 -> 6.1.0 runqemu: correct vga-virtio option to keep virgl enabled gnupg: update 2.3.1 -> 2.3.2 pinentry: update 1.1.1 -> 1.2.0 spirv-tools: update 2021.2 -> 2021.3 glslang: update 11.5.0 -> 11.6.0 shaderc: update 2021.1 -> 2021.2 inetutils: update 2.1 -> 2.2 systemd: update 249.3 -> 249.4 lsof: update 4.91 -> 4.94.0 libpam: update 1.5.1 -> 1.5.2 rt-tests: update 2.1 -> 2.2 libgit2: update 1.1.1 -> 1.2.0 libssh2: update 1.9.0 -> 1.10.0 libhandy: update 1.2.3 -> 1.4.0 qemu: install qmp module without hardcoding the python version in oeqa scripts lttng-tools: replace ad hoc ptest fixup with upstream fixes rust: drop PV from include file names rust: update 1.54.0 -> 1.55.0 librsvg: update 2.40.21 -> 2.52.0 (transition to rust!) librsvg: do not enable nativesdk librsvg: add backports to fix big endian targets (e.g. mips) librsvg: use only the target architecture to determine availability of atomic primitives librsvg: restore reproducibility adwaita-icon-theme: update 3.34/38 -> 41.0 gstreamer1.0-plugins-bad: disable rsvg on x32 rust/cargo: exclude UNINATIVE_LOADER from task signature rust-common.bbclass: rewrite toolchain wrappers in (native) python rust: do not write ar into target json definitions rust: generate target definitions from (arch, abi), not just arch openssl: update 1.1.1l -> 3.0.0 cryptodev-tests: do not use -Werror with openssl 3 serf: add a openssl 3 compatibility fix ruby: disable openssl extension glib-2.0: update 2.68.4 -> 2.70.0 glib-networking: update 2.68.2 -> 2.70.0 bison: update 3.7.6 -> 3.8.1 libdnf: update 0.63.1 -> 0.64.0 libexif: update 0.6.22 -> 0.6.23 sudo: update 1.9.7p2 -> 1.9.8p1 wget: update 1.21.1 -> 1.21.2 coreutils: update 8.32 -> 9.0 itstool: update 2.0.6 -> 2.0.7 nghttp2: add recipe from meta-oe libsoup: add a 3.x recipe webkitgtk: trim down DEPENDS epiphany: trim down DEPENDS webkitgtk: update 2.32.3 -> 2.34.0 epiphany: update 40.3 -> 41.0 python3: update 3.9.7 -> 3.10.0 libjitterentropy: update 3.1.0 -> 3.3.0 kea: update 1.8.2 -> 2.0.0 ghostscript: update 9.54.0 -> 9.55.0 lighttpd: update 1.4.59 -> 1.4.60 bluez5: update 5.61 -> 5.62 ovmf: update 202105 -> 202108 systemd: update 249.4 -> 249.5 meson: update 0.59.1 -> 0.59.2 python3-pip: update 21.2.4 -> 21.3 valgrind: update 3.17.0 -> 3.18.1 librsvg: update 2.52.0 -> 2.52.2 libva: update 2.12.0 -> 2.13.0 liberation-fonts: update 2.1.4 -> 2.1.5 ca-certificates: update 20210119 -> 20211016 curl: update 7.78.0 -> 7.79.1 libgit2: update 1.2.0 -> 1.3.0 libxcrypt: upgrade 4.4.25 -> 4.4.26 bison: upgrade 3.8.1 -> 3.8.2 cmake: update 3.21.2 -> 3.21.3 git: upgrade 2.33.0 -> 2.33.1 tzdata: upgrade 2021a -> 2021d ofono: upgrade 1.32 -> 1.33 openssh: upgrade 8.7p1 -> 8.8p1 sysvinit: upgrade 2.99 -> 3.00 btrfs-tools: upgrade 5.13.1 -> 5.14.2 ccache: upgrade 4.4 -> 4.4.2 createrepo-c: upgrade 0.17.5 -> 0.17.6 libcomps: upgrade 0.1.17 -> 0.1.18 libedit: upgrade 20210714-3.1 -> 20210910-3.1 librepo: upgrade 1.14.1 -> 1.14.2 python3-jinja2: upgrade 3.0.1 -> 3.0.2 python3-pygobject: upgrade 3.40.1 -> 3.42.0 python3-setuptools: upgrade 58.0.4 -> 58.2.0 vala: upgrade 0.52.5 -> 0.54.2 acpica: upgrade 20210730 -> 20210930 asciidoc: upgrade 9.1.0 -> 9.1.1 libarchive: upgrade 3.5.1 -> 3.5.2 msmtp: upgrade 1.8.15 -> 1.8.17 sudo: upgrade 1.9.8p1 -> 1.9.8p2 gobject-introspection: upgrade 1.68.0 -> 1.70.0 gsettings-desktop-schemas: upgrade 40.0 -> 41.0 json-glib: upgrade 1.6.4 -> 1.6.6 libdazzle: upgrade 3.40.0 -> 3.42.0 harfbuzz: upgrade 2.9.1 -> 3.0.0 pango: upgrade 1.48.9 -> 1.48.10 libinput: upgrade 1.19.0 -> 1.19.1 linux-firmware: upgrade 20210818 -> 20210919 wireless-regdb: upgrade 2021.07.14 -> 2021.08.28 mpg123: upgrade 1.28.2 -> 1.29.0 puzzles: upgrade to latest revision libwpe: upgrade 1.10.1 -> 1.12.0 diffoscope: upgrade 182 -> 187 fribidi: upgrade 1.0.10 -> 1.0.11 iso-codes: upgrade 4.6.0 -> 4.7.0 libatomic-ops: upgrade 7.6.10 -> 7.6.12 libcap: upgrade 2.54 -> 2.59 libmd: upgrade 1.0.3 -> 1.0.4 libsoup-2.4: upgrade 2.72.0 -> 2.74.0 gnupg: update 2.3.2 -> 2.3.3 libssh2: skip one of the ptests until openssh 8.8 compatibility is fixed systemd: disable seccomp on mips32 waffle: convert to git, website is down u-boot: upgrade 2021.07 -> 2021.10 psplash: upgrade to latest revision stress-ng: convert to git, website is down json-c: correct upstream version check createrepo-c: upgrade 0.17.6 -> 0.17.7 python3-numpy: upgrade 1.21.2 -> 1.21.3 python3-pip: upgrade 21.3 -> 21.3.1 python3-setuptools: upgrade 58.2.0 -> 58.3.0 msmtp: upgrade 1.8.17 -> 1.8.18 gi-docgen: upgrade 2021.7 -> 2021.8 piglit: upgrade to latest revision libinput: upgrade 1.19.1 -> 1.19.2 mpg123: upgrade 1.29.0 -> 1.29.2 puzzles: upgrade to latest revision webkitgtk: upgrade 2.34.0 -> 2.34.1 wpebackend-fdo: upgrade 1.10.0 -> 1.12.0 diffoscope: upgrade 187 -> 188 libcap: upgrade 2.59 -> 2.60 vte: upgrade 0.64.2 -> 0.66.0 ncurses: update 6.2 -> 6.3 tzdata: update 2021d -> 2021e asciidoc: update 9.1.1 -> 10.0.0 waffle: update 1.6.1 -> 1.7.0 virgl: skip headless test on specific older distros and fail otherwise gptfdisk: address ncurses 6.3 compatibility powertop: address ncurses 6.3 compatibility systemtap: address ncurses 6.3 compatibility igt-gpu-tools: address meson 0.60 compatibility python3-pygobject: do not supply unknown g-i options gstreamer1.0-python: do not supply unknown g-i options webkitgtk: drop unnecessary SSE disabling patch cups: exclude beta/rc versions from version check Alexandre Belloni (5): inetutils: drop CVE-2021-40491 patch oeqa/selftest/sstatetests: fix typo ware -> were maintainers.inc: fix up rust-cross entry libevent,btrfs-tools: fix Upstream-Status tag ruby: fix Upstream-Status Andreas Müller (1): webkitgtk: add gperf-native to DEPENDS to fix build Andrei Gherzan (1): qemu: Define libnfs PACKAGECONFIG Andrej Valek (3): busybox: 1.34.0 -> 1.34.1 featimage: refactor style kernel-fitimage: use correct kernel image Andres Beltran (1): buildhistory: Fix package output files for SDKs Bruce Ashfield (15): linux-yocto/5.14: scripts/gcc-plugins: consistently use HOSTCC linux-yocto/5.14: update to v5.14.8 linux-yocto/5.14: bsp/qemuarm*-gfx: use virtio graphics linux-yocto/5.10: update to v5.10.69 linux-yocto/5.10: update to v5.10.70 linux-yocto/5.14: update to v5.14.9 kernel-yocto: don't apply config metadata patches twice linux-yocto/5.14: revert: scripts/gcc-plugins: consistently use HOSTCC linux-yocto/5.10: update to v5.10.73 linux-yocto/5.14: update to v5.14.12 linux-yocto/5.14: update to v5.14.13 linux-yocto/5.10: update to v5.10.74 linux-yocto/5.14: common-pc: enable CONFIG_ATA_PIIX as built-in linux-yocto/5.14: update to v5.14.14 linux-yocto/5.10: update to v5.10.75 Caner Altinbasak (2): bitbake: npmsw: Avoid race condition with multiple npm fetchers bitbake: fetch2: Do not attempt to verify donestamp if download is not complete Changhyeok Bae (2): iproute2: update to 5.14.0 ethtool: update to 5.14 Changqing Li (1): lttng-ust: fix do_compile failure for arm32 with DEBUG_BUILD enabled Daiane Angolini (2): machine/qemuarm*: Fix UBOOT_MACHINE value ref-manual: Update how to set a useradd password Daniel McGregor (3): bison: prevent checking for textstyle. bitbake.conf: Add gpg-agent as a host tool sstate: Allow validation of sstate singatures against list of keys David Joyner (1): rust: add support for big endian 64-bit PowerPC Denys Dmytriyenko (2): wayland-protocols: upgrade 1.21 -> 1.22 wayland-protocols: upgrade 1.22 -> 1.23 Fred Liu (1): glibc: Drop libcidn package Henry Kleynhans (1): sstate: Switch to ZStandard compressor support Hsia-Jun(Randy) Li (1): meson: install native file in sdk Ian Ray (1): archiver: Configurable tarball compression Jon Mason (10): oeqa/manual: Fix no longer valid URLs bitbake: bitbake:toaster:test: Update SSTATE URL yocto-bsp/poky: replace http with https for URLs bitbake: bitbake: replace http with https for URLs documentation: update sources mirror URL documentation: replace http with https for URLs documentation: use YOCTO_DL_URL dev-manual: remove errant / runqemu: add DEPLOY_DIR_IMAGE replacement in QB_OPT_APPEND bitbake: bitbake-user-manual: update sources mirror URL Jose Quaresma (15): gstreamer1.0: 1.18.4 -> 1.18.5 gstreamer1.0-plugins-base: 1.18.4 -> 1.18.5 gstreamer1.0-plugins-good: 1.18.4 -> 1.18.5 gstreamer1.0-plugins-bad: 1.18.4 -> 1.18.5 gstreamer1.0-plugins-ugly: 1.18.4 -> 1.18.5 gstreamer1.0-rtsp-server: 1.18.4 -> 1.18.5 gstreamer1.0-libav: 1.18.4 -> 1.18.5 gstreamer1.0-vaapi: 1.18.4 -> 1.18.5 gstreamer1.0-omx: 1.18.4 -> 1.18.5 gstreamer1.0-python: 1.18.4 -> 1.18.5 gst-devtools: 1.18.4 -> 1.18.5 gst-examples: 1.18.4 -> 1.18.5 patch.bbclass: when the patch fails show more info on the fatal error sstate.bbclass: count the files on mirrors using the pre local files sstate: fix touching files inside pseudo Joshua Watt (4): bitbake: async: Close sync client event loop bitbake: hashserv: Add tests for diverging reports bitbake: hashserv: Fix diverging report race condition classes/populate_sdk_base: Add setscene tasks Kai Kang (1): sudo: update multilib patch for sudo.conf Khem Raj (11): pkgconfig: Update to latest libseccomp: Upgrade to 2.5.2 and beyond openssl: Drop riscv32 upstreamed patches opensbi-payloads.inc: Use strings for fallback mesa: Enable svga for x86 only qemu: Add knob for enabling PMDK pmem support opensbi-payloads: Add dependency on kernel if fdt is set librsvg: Fix vendored libc to work on riscv and musl librsvg: Bump to 2.52.0 -> 2.52.2 rust: Upgrade to 1.56.0 librsvg: Disable 64bit atomics in crossbeam for rv32 Kiran Surendran (1): ffmpeg: fix CVE-2021-38114 Konrad Weihmann (1): libical: fix append in DEPENDS Lukasz Majewski (1): glibc: Extract common code to build tests to glibc-tests.inc Marek Vasut (1): piglit: upgrade to latest revision Martin Jansa (2): webkitgtk: add PACKAGECONFIG for opengl-or-es boost: allow searching for python310 Maximilian Blenk (1): mount-copybind: add rootcontext mountoption for overlayfs Michael Halstead (2): scripts/autobuilder-worker-prereq-tests: jinja2 check releases: update to include 3.4 honister Michael Opdenacker (18): manuals: font fixes ref-manual: document DEBUG_PREFIX_MAP manuals: replace "apt-get" by "apt" Makefile: allow epub and latexpdf outputs to use diagrams from SVG sources conf.py: use PNG first in EPUB output overview-manual: SVG diagram for the git workflow docs: add "make all" to build old types of docs (html, epub, pdf) at once manuals: introduce 'yocto_sstate' extlink overview-manual: simplify expression dev-manual: correct NO_GENERIC_LICENSE section title dev-manual: warn about license compliance issues when static libraries are used devpyshell: rename to pydevshell ref-manual: document TOOLCHAIN_HOST_TASK_ESDK manuals: rename "devpyshell" to "pydevshell" ref-manual: document SOURCE_DATE_EPOCH ref-manual: fix description of SOURCE_DATE_EPOCH releases.rst: fix release number for 3.3.3 docs: poky.yaml: updates for 3.4 Mike Crowe (2): lib/oe/qa,insane: Move extra error handling functions to library insane,license,license_image: Allow treating license problems as errors Mingli Yu (1): packagedata.py: silence a DeprecationWarning Oleh Matiusha (1): findutils: add ptest Oleksandr Kravchuk (15): python3: update to 3.9.7 python3-git: update to 3.1.24 python3-dbusmock: update to 0.24.0 python3-setuptools: update to 58.0.4 python3-setuptools: minor cleanup xf86-input-libinput: update to 1.2.0 libinput: update to 1.19.0 libxi: update to 1.8 xorgproto: update to 2021.5 xkeyboard-config: update to 2.34 libxkbcommon: update to 1.3.1 mirrors.bbclass: remove dead infozip mirrors man-pages: update to 5.13 python3-smmap: update to 5.0.0 python3-pyparsing: update to 3.0.0 Pablo Saavedra Rodi?o (1): mesa: upgrade 21.2.1 -> 21.2.4 Paul Barker (1): bitbake: doc: bitbake-user-manual: Document BB_GIT_SHALLOW and friends Paul Eggleton (7): migration-3.4: tweak overrides change section ref-manual: remove meta class poky.yaml: add lz4 and zstd to essential host packages migration-3.4: add additional migration info migration: tweak introduction section poky.yaml: fix lz4 package name for older Ubuntu versions migration-3.4: add some extra packaging notes Pavel Zhukov (1): weston: wrapper for weston modules argument Peter Hoyes (2): u-boot: Convert ${UBOOT_ENV}.cmd into ${UBOOT_ENV}.scr u-boot: Fix syntax error in ${UBOOT_ENV}.scr compilation Peter Kjellerstedt (2): meson.bblcass: Remove empty egg-info directories before running meson qemu.inc: Remove empty egg-info directories before running meson Petr Vorel (1): ltp: Update to 20210927 Pgowda (2): Fix rust-native build issue when debug is enabled rust-cross: Fix directory not deleted for race glibc vs. musl Ralph Siemsen (1): tar: filter CVEs using vendor name Randy Li (1): meson: move lang args to the right section Richard Purdie (54): sstatesig: Only apply group/other permissions to pseudo files rpm: Deterministically set vendor macro entry abi_version/sstate: Bump to fix rpm corruption issues multilib: Avoid sysroot race issues when multilib enabled bitbake: knotty/uihelper: Show setscene task progress in summary output bitbake: bitbake-worker: Handle pseudo shutdown in Ctrl+C case poky.conf: Update tested distros list with recent changes bitbake: hashserv: Improve behaviour for better determinism/sstate reuse poky.conf: Bump version for 3.4 honister release build-appliance-image: Update to honister head revision bitbake: bitbake: Bump to version 1.52.0 build-appliance-image: Update to honister head revision layer.conf: Extend recipes not to install without explict dependencies libxml2: Use python3targetconfig to fix reproducibility issue libnewt: Use python3targetconfig to fix reproducibility issue bootchart2: Don't compile python modules linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes base/insane: Import oe.qa by default base: Clean up unneeded len() calls base: Use repr() for printing exceptions bitbake.conf: Add BB_CURRENTTASK to BB_HASHEXCLUDE reproducible_build: Drop obsolete sstate workaround python: Update now reproducibile builds are the default bitbake: bitbake-worker: Set BB_CURRENTTASK earlier bitbake: compress: Allow to operate on file descriptor bitbake: siggen: Change file format of siginfo files to use zstd compressed json sstate: Fixes for eSDK generation after zstd switch patch: Use repr() with exceptions instead of str() reproducible_build: Drop now unneeded compiler warning reproducible: Move class function code into library reproducible: Move variable definitions to bitbake.conf reproducible: Merge code into base.bbclass kernel: Add KERNEL_DEBUG_TIMESTAMPS variable reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable kernel: Rework kernel make flag to variable mappings oeqa: Update cleanup code to wait for hashserv exit poky: Reproducible builds are now the default bitbake: tests/runqueue: Ensure hashserv exits before deleting files bitbake: bitbake-worker: Add debug when unpickle fails bitbake: siggen: Fix type conversion issues bitbake: test/fetch: Update urls to match upstream branch name changes libtool: Update patchset to match those submitted upstream staging: Fix autoconf-native rebuild failure patch: Fix exception reporting with repr() bitbake: fetch2/perforce: Fix typo bitbake: bitbake: Bump to post release verion 1.53.0 poky.conf: Post release version bump gcc: Merge three related patches together gcc: Drop sdt (dtrace) header patch gcc: Drop broken/unneeded patch bitbake: tests/runqueue: Drop python version test decorators gcc: Update patches submitted/merged upstream gcc: Drop testsuite failure fix patch gcc: Add missing patch Upstream-Status Ross Burton (21): bitbake: tests/utils: mark a regex as a raw string bitbake: tests/fetch: prefix the FetcherTest temporary directory bitbake: fetch2: clarify the command-no-found error message bitbake: fetch2/gitsm: remove the 'nugget' SRCREV caching linux-yocto: add libmpc-native to DEPENDS bitbake: fetch2: document checkstatus API curl: fix CVE-2021-22945 through -22947 oe/license: implement ast.NodeVisitor.visit_Constant license.bbclass: implement ast.NodeVisitor.visit_Constant bitbake: codegen: implement ast.NodeVisitor.visit_Constant testimage: fix unclosed testdata file oe/utils: log exceptions in ThreadedWorker functions sstate: don't silently handle all exceptions in sstate_checkhashes gawk: replace AR patch with upstreamed patch gawk: reduce strictness of the time test strace: remove obsolete patch strace: remove TOOLCHAIN assignment oeqa/runtime: load modules using importlib oeqa/runtime: search sys.path explicitly for modules testimage: remove target_modules_path strace: show test suite log on failure Sakib Sajal (1): go: upgrade 1.16.7 -> 1.16.8 Saul Wold (3): spdx.py: Add annotation to relationship create-spdx: add create_annotation function create-spdx: cross recipes are native also Stefan Herbrechtsmeier (17): bitbake: fetch2: npm: Support npm archives with missing search directory mode bitbake: fetch2: npm: Create config npmrc in environment instantiation bitbake: fetch2: npmsw: Add support for local tarball and link sources npm: Add support for EXTRA_OENPM arguments recipetool: Move license md5sums into CSV files recipetool: Skip common source files in guess_license recipetool: Change default paramter fallback_licenses of function split_pkg_licenses from None to [] recipetool: ignore empty license files recipetool: Add logger info for missing license entries recipetool: Add support for linenumbers to licenses.csv recipetool: npm: Do not add package.json files to LIC_FILES_CHKSUM recipetool: npm: Use README as license fallback npm: Add variable NPM_NODEDIR with default value npm: Use configs for npm environment and args for npm run command recipetool: Rework crunch_license to recognize more variants recipetool: Simplify common source files skip in guess_license npm: Remove unnecessary configs argument from npm run command Teoh Jay Shen (1): oeqa/runtime/parselogs: modified drm error in common errors list Thomas Perrot (1): image_types: allow the creation of block devices on top of UBI volumes Tim Orling (17): ptest-runner: install -collect-system-data script python3-hypothesis: upgrade 6.15.0 -> 6.23.2 python3-importlib-metadata: upgrade 4.6.4 -> 4.8.1 python3-more-itertools: upgrade 8.9.0 -> 8.10.0 python3-zipp: upgrade 3.5.0 -> 3.6.0 libconvert-asn1-perl: upgrade 0.31 -> 0.33 python3-pytest: upgrade 6.2.4 -> 6.2.5 at-spi2-core: upgrade 2.40.3 -> 2.42.0 python3-packaging: DEPENDS on python3-setuptools-native python3-packaging: BBCLASSEXTEND nativesdk python3-tomli: add recipe for 1.2.1 python3-setuptools-scm: upgrade 6.0.1 -> 6.3.2 python3-setuptools: _distutils/sysconfig fix python3-pyyaml: upgrade 5.4.1 -> 6.0 python3-manifest: -pprint RDEPENDS on -profile python3-hypothesis: upgrade 6.23.2 -> 6.24.0 python3-tomli: upgrade 1.2.1 -> 1.2.2 Tobias Kaufmann (1): mount-copybind: add SELinux support Yureka (1): systemd: add missing include for musl Zoltán Böszörményi (1): libpam: Fix build with DISTRO_FEATURES usrmerge hongxu (1): libcap: fix nativesdk-libcap relocate failure wangmy (20): diffoscope: upgrade 181 -> 182 cmake: upgrade 3.21.1 -> 3.21.2 gzip: upgrade 1.10 -> 1.11 harfbuzz: upgrade 2.9.0 -> 2.9.1 vulkan-headers: upgrade 1.2.182 -> 1.2.191 vulkan-loader: upgrade 1.2.182 -> 1.2.191 vulkan-tools: upgrade 1.2.182 -> 1.2.191 help2man: upgrade 1.48.4 -> 1.48.5 python3-more-itertools: upgrade 8.8.0 -> 8.9.0 acpid: upgrade 2.0.32 -> 2.0.33 bind: upgrade 9.16.20 -> 9.16.21 createrepo-c: upgrade 0.17.4 -> 0.17.5 dnf: upgrade 4.8.0 -> 4.9.0 ell: upgrade 0.43 -> 0.44 libical: upgrade 3.0.10 -> 3.0.11 dhcpcd: upgrade 9.4.0 -> 9.4.1 dnf: upgrade 4.9.0 -> 4.10.0 file: upgrade 5.40 -> 5.41 libdnf: upgrade 0.64.0 -> 0.65.0 lttng-tools: upgrade 2.13.0 -> 2.13.1 zhengruoqin (2): libsolv: upgrade 0.7.19 -> 0.7.20 python3-pycryptodome: upgrade 3.10.1 -> 3.11.0 meta-security: a85fbe980e..e81c15f851: Armin Kuster (1): python3-fail2ban: fix build failure and cleanup Kai Kang (1): sssd: re-package to fix QA issues Kristian Klausen (1): swtpm: update to 0.6.1 Liwei Song (1): recipes-security/chipsec: platform security assessment framework meta-openembedded: 23dc4f060f..2f6797d8d6: Alexander Kanavin (23): python3-yappi: add python 3.10 fix python3-gmpy2: update 2.0.8 -> 2.1.0rc1 python3-m2crypto: address build failure with openssl 3.x lua: remove recipe as it is now in oe-core nghttp2: remove recipe as it is now in oe-core kronosnet: update 1.20 -> 1.22 polkit: update 0.116 -> 0.119 openflow: disable openssl PACKAGECONFIG openipmi: add a python 3.10 compatibility patch strongswan: disable openssl PACKAGECONFIG pkcs11-helper: backport a openssl 3.x patch nodejs: use -fpermissive nodejs: add a python 3.10 compatibility patch php: disable openssl PACKAGECONFIG libsigrokdecode: add a python 3.10 compatibility patch freerdp: backport openssl 3.x patches opensc: do not use -Werror cfengine: blacklist due to openssl 3.x incompatibility netplan: do not use -Werror boinc-client: blacklist due to openssl 3.x incompatibility ldns: blacklist due to openssl 3.x incompatibility surf: add a webkit 2.34 compatibility patch mozjs: update 60.9.0 -> 91.1.0 Alexander Thoma (1): keyutils: fix install path Armin Kuster (1): Apache: Several CVE fixes Chen Qi (1): ntfs-3g-ntfsprogs: upgrade to 2021.8.22 Gianfranco (2): vboxguestdrivers: upgrade 6.1.26 -> 6.1.28 vboxguestdrivers: Fix build failure due to the last update. Ivan Maidanski (1): bdwgc: upgrade 8.0.4 -> 8.0.6 Jeremy Kerr (1): mctp: Add MCTP control utilities Joshua Watt (2): colord-native: Inherit pkgconfig mutter: Move gsettings to a separate package Justin Bronder (2): python3-mccabe: fix LICENSE and RDEPENDS python3-pyflakes: fix LICENSE, HOMEPAGE and RDEPENDS Khem Raj (44): packagegroup-meta-oe: Add lv-drivers and lvgl python3-pystache: Remove need for python2x python3-behave: Switch to using github src_uri python3-simpleeval: Remove use_2to3 python3-parse-type: Do not ask for 2to3 python3-anyjson: Do not enable 2to3 python3-pybluez: Do not set 2to3 packagegroup-meta-networking: Remove nghttp2 packagegroup-meta-oe: Remove lua gjs: Inherit pkgconfig luaposix: Use lua 5.4 devilspie2: Switch to using github repo devilspie2: Add missing dependency on libxinerama kronosnet: Correct path to poll.h luaposix: Upgrade to 35.1 xfce.bbclass: Mark string as raw in a regexp nodejs: add -fpermissive BUILD_CXXFLAGS pcimem: Add riscv64 into COMPATIBLE_HOST luaposix: Depend on libxcrypt-native libcrypt-openssl-rsa-perl: Upgrade to 0.32 xrdp: Upgrade to 0.9.17 yelp,yelp-xsl,yelp-tools: Upgrade to 41 release mozjs: Disable JIT on mips libcrypt-openssl-rsa-perl: Fix build with openssl3+ nodejs: Upgrade to 14.18.1 librest: Use master with libsoup3 support gnome-online-accounts: Upgrade to 3.43.1 iwd: Fix build with musl xrdp: Exclude from builds xorgxrdp: Add to exclusion list for now bluepy: Set PV and correct syntax for RDEPENDS python3-kivy: Use new override syntax in RDEPENDS bluepy: Fix permissions on tarball nodejs: Upgrade to 16.11.1 mozjs: Fix build on mips/musl mozjs: Fix musl miscompiles with HAVE_THREAD_TLS_KEYWORD luaposix: Use virtual/crypt instread of hardcoding libxcrypt packagegroup-meta-oe: Add libjs-jquery-globalize and libjs-jquery-cookie mozjs: Add riscv32 support driverctl: Rename to have PV in recipe name tbb: Link with libatomic when using clang compiler on rv32 gimp: Disable vector icons on mips/rv32 using clang mozjs: Update to 91.2.0 mozjs: Fix build for 32bit systems disabling JIT Kurt Kiefer (2): mozjs: move large static library into staticdev package gyp: fix for compatibility with Python 3.10 Leon Anavi (6): python3-aiohue: Upgrade 2.6.1 -> 2.6.3 python3-paho-mqtt: Upgrade 1.5.1 -> 1.6.1 python3-thrift: Upgrade 0.13.0 -> 0.15.0 python3-prompt-toolkit: Upgrade 3.0.19 -> 3.0.21 python3-traitlets: Upgrade 5.1.0 -> 5.1.1 python3-prettytable: Upgrade 2.1.0 -> 2.2.1 LiweiSong (1): Revert "chipsec: platform security assessment framework" Marco Cavallini (1): bluepy_git.bb: Added recipe for BluePy Python interface to Bluetooth LE on Linux (v2) Marek Vasut (3): apitrace: Upgrade to latest version apitrace: Conditionally enable X11 support yavta: Upgrade to latest version and drop downstream patch Martin Jansa (4): protobuf: import a patch from meta-webosose to fix building protobuf-c with gold linker grpc: revert GRPCPP_ABSEIL_SYNC change from 1.40.0 to fix undefined references to absl::lts_20210324::Mutex::~Mutex() luaposix: depend on target libxcrypt instead of native lv-lib-png: add wayland to REQUIRED_DISTRO_FEATURES Matthias Klein (1): gpsd: Install also the generated parts of the Python library Matthias Schiffer (1): byacc: switch to official HTTPS mirror Mingli Yu (1): opencv: remove setup_vars_opencv4.sh Oleksandr Kravchuk (72): iwd: update to 1.18 nano: update to 5.9 ostree: update to 2021.5 pegtl: update to 3.2.1 pmdk: update to 1.11.1 protobuf-c: update to 1.4.0 thingsboard-gateway: update to 2.8 libbpf: fix PV libcdio-paranoia: update to 10.2+2.0.1 ttf-abyssinica: update to 2.100 ttf-dejavu: add UPSTREAM_CHECK_URI ttf-vlgothic: update to 20200720 networkmanager: update to 1.32.12 nng: update to 1.4.0 opensaf: update to 5.21.09 python3-absl: update 0.14.1 python3-alembic: update to 1.7.4 python3-astroid: update to 2.8.2 python3-cantools: update to 36.4.0 python3-certifi: update to 2021.10.8 python3-cffi: update to 1.15.0 python3-colorlog: update to 6.5.0 python3-coverage: update to 6.0.2 python3-cryptography-vectors: update to 35.0.0 python3-dateparser: update to 1.1.0 python3-elementpath: update to 2.3.2 python3-eventlet: update to 0.32.0 python3-google-api-core: update to 2.1.1 python3-google-api-python-client: update to 2.26.1 python3-google-auth: update to 2.3.0 python3-grpcio-tools: update to 1.41.0 python3-grpcio: update to 1.41.0 python3-h2: update to 4.1.0 python3-haversine: update to 2.5.1 python3-httplib2: update to 0.20.1 python3-idna: update to 3.3 python3-iso3166: update to 2.0.2 python3-joblib: update to 1.1.0 python3-jsonrpcserver: update to 5.0.3 python3-paramiko: update to 2.8.0 python3-portion: update to 2.2.0 python3-protobuf: update to 3.18.1 python3-pulsectl: update to 21.10.4 python3-pycodestyle: update to 2.8.0 python3-pyephem: update to 4.1 python3-pyflakes: update to 2.4.0 python3-pyjwt: update to 2.2.0 python3-pykickstart: update to 3.34 python3-pyopenssl: update to 21.0.0 python3-pyperf: update to 2.3.0 python3-pytest-timeout: update 2.0.1 python3-pytz: update to 2021.3 python3-regex: update to 2021.10.8 python3-sentry-sdk: update to 1.4.3 python3-sympy: udpate to 1.9 python3-twitter: update to 4.1.0 python3-uritemplate: update to 4.1.1 python3-websockets: update to 10.0 python3-wrapt: update to 1.13.2 python3-xlsxwriter: update to 3.0.1 python3-xmlschema: update to 1.8.0 python3-yarl: update to 1.7.0 python3-typeguard: update to 2.13.0 python3-pyatspi: update to 2.38.1 python3-h5py: update to 3.5.0 python3-pybind11-json: update to 0.2.11 python3-pychromecast: update to 9.3.1 python3-tzlocal: update to 4.0.1 python3-zeroconf: update to 0.36.9 leptonica: update to 1.82.0 redis-plus-plus: update to 1.3.2 hiredis: update to 1.0.2 Peter Bergin (3): pipewire: remove manpages class pipewire: also handle pipewire-media-session in systemd class pipewire: rework PACKAGECONFIG for systemd service files Philippe Coval (5): lvgl: Add recipe for Lightweight Graphics Library lv-drivers: Add recipe for lvgl lib lv-lib-png: Add recipe for LVGL for handling PNG format lvgl: Add lv_lib_png to packagegroup lvgl: Lint recipe Roland Hieber (1): rapidjson: override hard-coded lib install dir Shiping Ji (1): Add recipe for driverctl Tim Orling (6): unicode-ucd: upgrade 12.1.0 -> 14.0.0 gnome-screenshot: add recipe for 40.0 libgweather: upgrade 3.36.2 -> 40.0 colord: inherit pkgconfig gfbgraph: patch to build with latest rest gnome-calendar: upgrade 3.38.1 -> 41.0 Trevor Gamblin (3): python3-posix-ipc: Add recipe for version 1.0.5 python3-pyinotify: Add fcntl, logging to RDEPENDS python3-cvxopt: upgrade 1.2.6 -> 1.2.7 Vyacheslav Yurkov (3): grpc: fix cross-compilation of grpc applications grpc: fix cross-compilation of grpc applications grpc: upgrade 1.38.1 -> 1.41.0 Wang Mingyu (1): poppler: upgrade 21.09.0 -> 21.10.0 Yi Zhao (3): samba: upgrade 4.14.7 -> 4.14.8 audit: upgrade 3.0.5 -> 3.0.6 strongswan: upgrade 5.9.3 -> 5.9.4 Zoltán Böszörményi (1): python3-jsmin: Upgrade to version 3.0.0 wangmy (11): openvpn: upgrade 2.5.3 -> 2.5.4 redis: upgrade 6.2.5 -> 6.2.6 span-lite: upgrade 0.10.1 -> 0.10.3 bdwgc: upgrade 8.0.6 -> 8.2.0 icewm: upgrade 2.7.0 -> 2.8.0 ifenslave: upgrade 2.12 -> 2.13 asio: upgrade 1.18.1.bb -> 1.20.0 libgusb: upgrade 0.3.7 -> 0.3.8 libxmlb: upgrade 0.3.2 -> 0.3.3 xdebug: upgrade 2.9.5 -> 3.1.1 cryptsetup: upgrade 2.3.6 -> 2.4.1 zangrc (25): python3-ipython: upgrade 7.27.0 -> 7.28.0 python3-jdatetime: upgrade 3.6.2 -> 3.6.4 python3-multidict: upgrade 5.1.0 -> 5.2.0 python3-openpyxl: upgrade 3.0.8 -> 3.0.9 python3-pyscaffold: upgrade 4.0.2 -> 4.1 python3-transitions: upgrade 0.8.9 -> 0.8.10 networkmanager-openvpn: upgrade 1.8.14 -> 1.8.16 ser2net: upgrade 4.3.3 -> 4.3.4 python3-humanize: upgrade 3.11.0 -> 3.12.0 python3-nmap: upgrade 1.5.0 -> 1.5.1 libjs-jquery-cookie: Add recipe libjs-jquery-globalize: Add recipe python3-cachetools: upgrade 4.2.2 -> 4.2.4 python3-cbor2: upgrade 5.4.1 -> 5.4.2 python3-click: upgrade 8.0.1 -> 8.0.3 python3-configargparse : upgrade 1.5.2 -> 1.5.3 python3-flask: upgrade 2.0.1 -> 2.0.2 python3-pyscaffold: upgrade 4.1 -> 4.1.1 python3-werkzeug: upgrade 2.0.1 -> 2.0.2 python3-absl: upgrade 0.14.1 -> 0.15.0 python3-pandas: upgrade 1.3.3 -> 1.3.4 python3-pulsectl: upgrade 21.10.4 -> 21.10.5 python3-pyjwt: upgrade 2.2.0 -> 2.3.0 python3-pytest-asyncio: upgrade 0.15.1 -> 0.16.0 python3-robotframework: upgrade 4.1.1 -> 4.1.2 zhengruoqin (15): python3-ujson: upgrade 4.1.0 -> 4.2.0 python3-urllib3: upgrade 1.26.6 -> 1.26.7 python3-watchdog: upgrade 2.1.5 -> 2.1.6 gensio: upgrade 2.2.9 -> 2.3.1 nlohmann-json: upgrade 3.10.2 -> 3.10.4 libencode-perl: upgrade 3.12 -> 3.16 python3-socketio: upgrade 5.4.0 -> 5.4.1 python3-sqlalchemy: upgrade 1.4.23 -> 1.4.26 python3-stevedore: upgrade 3.4.0 -> 3.5.0 autofs: upgrade 5.1.7 -> 5.1.8 links: upgrade 2.22 -> 2.25 atftp: upgrade 0.7.4 -> 0.7.5 python3-gmqtt: upgrade 0.6.10 -> 0.6.11 python3-google-api-python-client: upgrade 2.26.1 -> 2.27.0 python3-greenlet: upgrade 1.1.1 -> 1.1.2 meta-raspberrypi: 9eb4879cf4..90b3ac6fb3: Zygmunt Krynicki (1): rpi-config: warn on config.txt lines exceeding 80 bytes Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I9e75d5bd606a913fbe69e6735c9ecafc436441ba
Diffstat (limited to 'poky/meta/classes/insane.bbclass')
-rw-r--r--poky/meta/classes/insane.bbclass184
1 files changed, 72 insertions, 112 deletions
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index f2d2ca3689..1e2f1b768a 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -18,8 +18,6 @@
# files under exec_prefix
# -Check if the package name is upper case
-QA_SANE = "True"
-
# Elect whether a given type of error is a warning or error, they may
# have been set by other files.
WARN_QA ?= " libdir xorg-driver-abi \
@@ -28,6 +26,8 @@ WARN_QA ?= " libdir xorg-driver-abi \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
missing-update-alternatives native-last missing-ptest \
+ license-exists license-no-generic license-syntax license-format \
+ license-incompatible license-file-missing \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -59,32 +59,6 @@ def package_qa_clean_path(path, d, pkg=None):
path = path.replace(os.path.join(d.getVar("PKGDEST"), pkg), "/")
return path.replace(d.getVar("TMPDIR"), "/").replace("//", "/")
-def package_qa_write_error(type, error, d):
- logfile = d.getVar('QA_LOGFILE')
- if logfile:
- p = d.getVar('P')
- with open(logfile, "a+") as f:
- f.write("%s: %s [%s]\n" % (p, error, type))
-
-def package_qa_handle_error(error_class, error_msg, d):
- if error_class in (d.getVar("ERROR_QA") or "").split():
- package_qa_write_error(error_class, error_msg, d)
- bb.error("QA Issue: %s [%s]" % (error_msg, error_class))
- d.setVar("QA_SANE", False)
- return False
- elif error_class in (d.getVar("WARN_QA") or "").split():
- package_qa_write_error(error_class, error_msg, d)
- bb.warn("QA Issue: %s [%s]" % (error_msg, error_class))
- else:
- bb.note("QA Issue: %s [%s]" % (error_msg, error_class))
- return True
-
-def package_qa_add_message(messages, section, new_msg):
- if section not in messages:
- messages[section] = new_msg
- else:
- messages[section] = messages[section] + "\n" + new_msg
-
QAPATHTEST[shebang-size] = "package_qa_check_shebang_size"
def package_qa_check_shebang_size(path, name, d, elf, messages):
import stat
@@ -106,7 +80,7 @@ def package_qa_check_shebang_size(path, name, d, elf, messages):
return
if len(stanza) > 129:
- package_qa_add_message(messages, "shebang-size", "%s: %s maximum shebang size exceeded, the maximum size is 128." % (name, package_qa_clean_path(path, d)))
+ oe.qa.add_message(messages, "shebang-size", "%s: %s maximum shebang size exceeded, the maximum size is 128." % (name, package_qa_clean_path(path, d)))
return
QAPATHTEST[libexec] = "package_qa_check_libexec"
@@ -118,7 +92,7 @@ def package_qa_check_libexec(path,name, d, elf, messages):
return True
if 'libexec' in path.split(os.path.sep):
- package_qa_add_message(messages, "libexec", "%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
+ oe.qa.add_message(messages, "libexec", "%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
return False
return True
@@ -146,7 +120,7 @@ def package_qa_check_rpath(file,name, d, elf, messages):
rpath = m.group(1)
for dir in bad_dirs:
if dir in rpath:
- package_qa_add_message(messages, "rpaths", "package %s contains bad RPATH %s in file %s" % (name, rpath, file))
+ oe.qa.add_message(messages, "rpaths", "package %s contains bad RPATH %s in file %s" % (name, rpath, file))
QAPATHTEST[useless-rpaths] = "package_qa_check_useless_rpaths"
def package_qa_check_useless_rpaths(file, name, d, elf, messages):
@@ -176,7 +150,7 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages):
if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir):
# The dynamic linker searches both these places anyway. There is no point in
# looking there again.
- package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d, name), rpath))
+ oe.qa.add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d, name), rpath))
QAPATHTEST[dev-so] = "package_qa_check_dev"
def package_qa_check_dev(path, name, d, elf, messages):
@@ -185,7 +159,7 @@ def package_qa_check_dev(path, name, d, elf, messages):
"""
if not name.endswith("-dev") and not name.endswith("-dbg") and not name.endswith("-ptest") and not name.startswith("nativesdk-") and path.endswith(".so") and os.path.islink(path):
- package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package %s contains symlink .so '%s'" % \
+ oe.qa.add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package %s contains symlink .so '%s'" % \
(name, package_qa_clean_path(path, d, name)))
QAPATHTEST[dev-elf] = "package_qa_check_dev_elf"
@@ -196,7 +170,7 @@ def package_qa_check_dev_elf(path, name, d, elf, messages):
install link-time .so files that are linker scripts.
"""
if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf:
- package_qa_add_message(messages, "dev-elf", "-dev package %s contains non-symlink .so '%s'" % \
+ oe.qa.add_message(messages, "dev-elf", "-dev package %s contains non-symlink .so '%s'" % \
(name, package_qa_clean_path(path, d, name)))
QAPATHTEST[staticdev] = "package_qa_check_staticdev"
@@ -209,7 +183,7 @@ def package_qa_check_staticdev(path, name, d, elf, messages):
"""
if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a") and not '/usr/lib/debug-static/' in path and not '/.debug-static/' in path:
- package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \
+ oe.qa.add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \
(name, package_qa_clean_path(path,d, name)))
QAPATHTEST[mime] = "package_qa_check_mime"
@@ -220,7 +194,7 @@ def package_qa_check_mime(path, name, d, elf, messages):
"""
if d.getVar("datadir") + "/mime/packages" in path and path.endswith('.xml') and not bb.data.inherits_class("mime", d):
- package_qa_add_message(messages, "mime", "package contains mime types but does not inherit mime: %s path '%s'" % \
+ oe.qa.add_message(messages, "mime", "package contains mime types but does not inherit mime: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
QAPATHTEST[mime-xdg] = "package_qa_check_mime_xdg"
@@ -247,9 +221,9 @@ def package_qa_check_mime_xdg(path, name, d, elf, messages):
if name == d.getVar('PN'):
pkgname = '${PN}'
wstr += "If yes: add \'inhert mime-xdg\' and \'MIME_XDG_PACKAGES += \"%s\"\' / if no add \'INSANE_SKIP:%s += \"mime-xdg\"\' to recipe." % (pkgname, pkgname)
- package_qa_add_message(messages, "mime-xdg", wstr)
+ oe.qa.add_message(messages, "mime-xdg", wstr)
if mime_type_found:
- package_qa_add_message(messages, "mime-xdg", "package contains desktop file with key 'MimeType' but does not inhert mime-xdg: %s path '%s'" % \
+ oe.qa.add_message(messages, "mime-xdg", "package contains desktop file with key 'MimeType' but does not inhert mime-xdg: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
def package_qa_check_libdir(d):
@@ -313,7 +287,7 @@ def package_qa_check_libdir(d):
pass
if messages:
- package_qa_handle_error("libdir", "\n".join(messages), d)
+ oe.qa.handle_error("libdir", "\n".join(messages), d)
QAPATHTEST[debug-files] = "package_qa_check_dbg"
def package_qa_check_dbg(path, name, d, elf, messages):
@@ -323,7 +297,7 @@ def package_qa_check_dbg(path, name, d, elf, messages):
if not "-dbg" in name and not "-ptest" in name:
if '.debug' in path.split(os.path.sep):
- package_qa_add_message(messages, "debug-files", "non debug package contains .debug directory: %s path %s" % \
+ oe.qa.add_message(messages, "debug-files", "non debug package contains .debug directory: %s path %s" % \
(name, package_qa_clean_path(path,d)))
QAPATHTEST[arch] = "package_qa_check_arch"
@@ -343,7 +317,7 @@ def package_qa_check_arch(path,name,d, elf, messages):
if target_arch == "allarch":
pn = d.getVar('PN')
- package_qa_add_message(messages, "arch", pn + ": Recipe inherits the allarch class, but has packaged architecture-specific binaries")
+ oe.qa.add_message(messages, "arch", pn + ": Recipe inherits the allarch class, but has packaged architecture-specific binaries")
return
# FIXME: Cross package confuse this check, so just skip them
@@ -366,13 +340,13 @@ def package_qa_check_arch(path,name,d, elf, messages):
target_os == "linux-gnu_ilp32" or re.match(r'mips64.*32', d.getVar('DEFAULTTUNE')))
is_bpf = (oe.qa.elf_machine_to_string(elf.machine()) == "BPF")
if not ((machine == elf.machine()) or is_32 or is_bpf):
- package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) in %s" % \
+ oe.qa.add_message(messages, "arch", "Architecture did not match (%s, expected %s) in %s" % \
(oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path, d, name)))
elif not ((bits == elf.abiSize()) or is_32 or is_bpf):
- package_qa_add_message(messages, "arch", "Bit size did not match (%d, expected %d) in %s" % \
+ oe.qa.add_message(messages, "arch", "Bit size did not match (%d, expected %d) in %s" % \
(elf.abiSize(), bits, package_qa_clean_path(path, d, name)))
elif not ((littleendian == elf.isLittleEndian()) or is_bpf):
- package_qa_add_message(messages, "arch", "Endiannes did not match (%d, expected %d) in %s" % \
+ oe.qa.add_message(messages, "arch", "Endiannes did not match (%d, expected %d) in %s" % \
(elf.isLittleEndian(), littleendian, package_qa_clean_path(path,d, name)))
QAPATHTEST[desktop] = "package_qa_check_desktop"
@@ -385,7 +359,7 @@ def package_qa_check_desktop(path, name, d, elf, messages):
output = os.popen("%s %s" % (desktop_file_validate, path))
# This only produces output on errors
for l in output:
- package_qa_add_message(messages, "desktop", "Desktop file issue: " + l.strip())
+ oe.qa.add_message(messages, "desktop", "Desktop file issue: " + l.strip())
QAPATHTEST[textrel] = "package_qa_textrel"
def package_qa_textrel(path, name, d, elf, messages):
@@ -411,7 +385,7 @@ def package_qa_textrel(path, name, d, elf, messages):
if not sane:
path = package_qa_clean_path(path, d, name)
- package_qa_add_message(messages, "textrel", "%s: ELF binary %s has relocations in .text" % (name, path))
+ oe.qa.add_message(messages, "textrel", "%s: ELF binary %s has relocations in .text" % (name, path))
QAPATHTEST[ldflags] = "package_qa_hash_style"
def package_qa_hash_style(path, name, d, elf, messages):
@@ -446,7 +420,7 @@ def package_qa_hash_style(path, name, d, elf, messages):
sane = True
if has_syms and not sane:
path = package_qa_clean_path(path, d, name)
- package_qa_add_message(messages, "ldflags", "File %s in package %s doesn't have GNU_HASH (didn't pass LDFLAGS?)" % (path, name))
+ oe.qa.add_message(messages, "ldflags", "File %s in package %s doesn't have GNU_HASH (didn't pass LDFLAGS?)" % (path, name))
QAPATHTEST[buildpaths] = "package_qa_check_buildpaths"
@@ -467,7 +441,7 @@ def package_qa_check_buildpaths(path, name, d, elf, messages):
file_content = f.read()
if tmpdir in file_content:
trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "")
- package_qa_add_message(messages, "buildpaths", "File %s in package %s contains reference to TMPDIR" % (trimmed, name))
+ oe.qa.add_message(messages, "buildpaths", "File %s in package %s contains reference to TMPDIR" % (trimmed, name))
QAPATHTEST[xorg-driver-abi] = "package_qa_check_xorg_driver_abi"
@@ -486,7 +460,7 @@ def package_qa_check_xorg_driver_abi(path, name, d, elf, messages):
for rdep in bb.utils.explode_deps(d.getVar('RDEPENDS:' + name) or ""):
if rdep.startswith("%sxorg-abi-" % mlprefix):
return
- package_qa_add_message(messages, "xorg-driver-abi", "Package %s contains Xorg driver (%s) but no xorg-abi- dependencies" % (name, os.path.basename(path)))
+ oe.qa.add_message(messages, "xorg-driver-abi", "Package %s contains Xorg driver (%s) but no xorg-abi- dependencies" % (name, os.path.basename(path)))
QAPATHTEST[infodir] = "package_qa_check_infodir"
def package_qa_check_infodir(path, name, d, elf, messages):
@@ -496,7 +470,7 @@ def package_qa_check_infodir(path, name, d, elf, messages):
infodir = d.expand("${infodir}/dir")
if infodir in path:
- package_qa_add_message(messages, "infodir", "The /usr/share/info/dir file is not meant to be shipped in a particular package.")
+ oe.qa.add_message(messages, "infodir", "The /usr/share/info/dir file is not meant to be shipped in a particular package.")
QAPATHTEST[symlink-to-sysroot] = "package_qa_check_symlink_to_sysroot"
def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages):
@@ -509,7 +483,7 @@ def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages):
tmpdir = d.getVar('TMPDIR')
if target.startswith(tmpdir):
trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "")
- package_qa_add_message(messages, "symlink-to-sysroot", "Symlink %s in %s points to TMPDIR" % (trimmed, name))
+ oe.qa.add_message(messages, "symlink-to-sysroot", "Symlink %s in %s points to TMPDIR" % (trimmed, name))
# Check license variables
do_populate_lic[postfuncs] += "populate_lic_qa_checksum"
@@ -517,7 +491,6 @@ python populate_lic_qa_checksum() {
"""
Check for changes in the license files.
"""
- sane = True
lic_files = d.getVar('LIC_FILES_CHKSUM') or ''
lic = d.getVar('LICENSE')
@@ -527,7 +500,7 @@ python populate_lic_qa_checksum() {
return
if not lic_files and d.getVar('SRC_URI'):
- sane &= package_qa_handle_error("license-checksum", pn + ": Recipe file fetches files and does not have license file information (LIC_FILES_CHKSUM)", d)
+ oe.qa.handle_error("license-checksum", pn + ": Recipe file fetches files and does not have license file information (LIC_FILES_CHKSUM)", d)
srcdir = d.getVar('S')
corebase_licensefile = d.getVar('COREBASE') + "/LICENSE"
@@ -535,11 +508,11 @@ python populate_lic_qa_checksum() {
try:
(type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url)
except bb.fetch.MalformedUrl:
- sane &= package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d)
+ oe.qa.handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d)
continue
srclicfile = os.path.join(srcdir, path)
if not os.path.isfile(srclicfile):
- sane &= package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile, d)
+ oe.qa.handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile, d)
continue
if (srclicfile == corebase_licensefile):
@@ -607,10 +580,9 @@ python populate_lic_qa_checksum() {
else:
msg = pn + ": LIC_FILES_CHKSUM is not specified for " + url
msg = msg + "\n" + pn + ": The md5 checksum is " + md5chksum
- sane &= package_qa_handle_error("license-checksum", msg, d)
+ oe.qa.handle_error("license-checksum", msg, d)
- if not sane:
- bb.fatal("Fatal QA errors found, failing task.")
+ oe.qa.exit_if_errors(d)
}
def qa_check_staged(path,d):
@@ -622,7 +594,6 @@ def qa_check_staged(path,d):
responsible for the errors easily even if we look at every .pc and .la file.
"""
- sane = True
tmpdir = d.getVar('TMPDIR')
workdir = os.path.join(tmpdir, "work")
recipesysroot = d.getVar("RECIPE_SYSROOT")
@@ -655,16 +626,14 @@ def qa_check_staged(path,d):
file_content = file_content.replace(recipesysroot, "")
if workdir in file_content:
error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
- sane &= package_qa_handle_error("la", error_msg, d)
+ oe.qa.handle_error("la", error_msg, d)
elif file.endswith(".pc") and not skip_pkgconfig:
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if pkgconfigcheck in file_content:
error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
- sane &= package_qa_handle_error("pkgconfig", error_msg, d)
-
- return sane
+ oe.qa.handle_error("pkgconfig", error_msg, d)
# Run all package-wide warnfuncs and errorfuncs
def package_qa_package(warnfuncs, errorfuncs, package, d):
@@ -677,9 +646,9 @@ def package_qa_package(warnfuncs, errorfuncs, package, d):
func(package, d, errors)
for w in warnings:
- package_qa_handle_error(w, warnings[w], d)
+ oe.qa.handle_error(w, warnings[w], d)
for e in errors:
- package_qa_handle_error(e, errors[e], d)
+ oe.qa.handle_error(e, errors[e], d)
return len(errors) == 0
@@ -694,16 +663,14 @@ def package_qa_recipe(warnfuncs, errorfuncs, pn, d):
func(pn, d, errors)
for w in warnings:
- package_qa_handle_error(w, warnings[w], d)
+ oe.qa.handle_error(w, warnings[w], d)
for e in errors:
- package_qa_handle_error(e, errors[e], d)
+ oe.qa.handle_error(e, errors[e], d)
return len(errors) == 0
# Walk over all files in a directory and call func
def package_qa_walk(warnfuncs, errorfuncs, package, d):
- import oe.qa
-
#if this will throw an exception, then fix the dict above
target_os = d.getVar('TARGET_OS')
target_arch = d.getVar('TARGET_ARCH')
@@ -724,9 +691,9 @@ def package_qa_walk(warnfuncs, errorfuncs, package, d):
func(path, package, d, elf, errors)
for w in warnings:
- package_qa_handle_error(w, warnings[w], d)
+ oe.qa.handle_error(w, warnings[w], d)
for e in errors:
- package_qa_handle_error(e, errors[e], d)
+ oe.qa.handle_error(e, errors[e], d)
def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
# Don't do this check for kernel/module recipes, there aren't too many debug/development
@@ -746,10 +713,10 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
for rdepend in rdepends:
if "-dbg" in rdepend and "debug-deps" not in skip:
error_msg = "%s rdepends on %s" % (pkg,rdepend)
- package_qa_handle_error("debug-deps", error_msg, d)
+ oe.qa.handle_error("debug-deps", error_msg, d)
if (not "-dev" in pkg and not "-staticdev" in pkg) and rdepend.endswith("-dev") and "dev-deps" not in skip:
error_msg = "%s rdepends on %s" % (pkg, rdepend)
- package_qa_handle_error("dev-deps", error_msg, d)
+ oe.qa.handle_error("dev-deps", error_msg, d)
if rdepend not in packages:
rdep_data = oe.packagedata.read_subpkgdata(rdepend, d)
if rdep_data and 'PN' in rdep_data and rdep_data['PN'] in taskdeps:
@@ -770,7 +737,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
error_msg = "%s rdepends on %s, but it isn't a build dependency, missing %s in DEPENDS or PACKAGECONFIG?" % (pkg, rdepend, rdep_data['PN'])
else:
error_msg = "%s rdepends on %s, but it isn't a build dependency?" % (pkg, rdepend)
- package_qa_handle_error("build-deps", error_msg, d)
+ oe.qa.handle_error("build-deps", error_msg, d)
if "file-rdeps" not in skip:
ignored_file_rdeps = set(['/bin/sh', '/usr/bin/env', 'rtld(GNU_HASH)'])
@@ -823,7 +790,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
for key in filerdepends:
error_msg = "%s contained in package %s requires %s, but no providers found in RDEPENDS:%s?" % \
(filerdepends[key].replace(":%s" % pkg, "").replace("@underscore@", "_"), pkg, key, pkg)
- package_qa_handle_error("file-rdeps", error_msg, d)
+ oe.qa.handle_error("file-rdeps", error_msg, d)
package_qa_check_rdepends[vardepsexclude] = "OVERRIDES"
def package_qa_check_deps(pkg, pkgdest, d):
@@ -840,7 +807,7 @@ def package_qa_check_deps(pkg, pkgdest, d):
for v in rvar[dep]:
if v and not v.startswith(('< ', '= ', '> ', '<= ', '>=')):
error_msg = "%s:%s is invalid: %s (%s) only comparisons <, =, >, <=, and >= are allowed" % (var, pkg, dep, v)
- package_qa_handle_error("dep-cmp", error_msg, d)
+ oe.qa.handle_error("dep-cmp", error_msg, d)
check_valid_deps('RDEPENDS')
check_valid_deps('RRECOMMENDS')
@@ -851,13 +818,14 @@ def package_qa_check_deps(pkg, pkgdest, d):
QAPKGTEST[usrmerge] = "package_qa_check_usrmerge"
def package_qa_check_usrmerge(pkg, d, messages):
+
pkgdest = d.getVar('PKGDEST')
pkg_dir = pkgdest + os.sep + pkg + os.sep
merged_dirs = ['bin', 'sbin', 'lib'] + d.getVar('MULTILIB_VARIANTS').split()
for f in merged_dirs:
if os.path.exists(pkg_dir + f) and not os.path.islink(pkg_dir + f):
msg = "%s package is not obeying usrmerge distro feature. /%s should be relocated to /usr." % (pkg, f)
- package_qa_add_message(messages, "usrmerge", msg)
+ oe.qa.add_message(messages, "usrmerge", msg)
return False
return True
@@ -876,7 +844,7 @@ def package_qa_check_perllocalpod(pkg, d, messages):
if matches:
matches = [package_qa_clean_path(path, d, pkg) for path in matches]
msg = "%s contains perllocal.pod (%s), should not be installed" % (pkg, " ".join(matches))
- package_qa_add_message(messages, "perllocalpod", msg)
+ oe.qa.add_message(messages, "perllocalpod", msg)
QAPKGTEST[expanded-d] = "package_qa_check_expanded_d"
def package_qa_check_expanded_d(package, d, messages):
@@ -891,10 +859,10 @@ def package_qa_check_expanded_d(package, d, messages):
bbvar = d.getVar(var + ":" + package) or ""
if expanded_d in bbvar:
if var == 'FILES':
- package_qa_add_message(messages, "expanded-d", "FILES in %s recipe should not contain the ${D} variable as it references the local build directory not the target filesystem, best solution is to remove the ${D} reference" % package)
+ oe.qa.add_message(messages, "expanded-d", "FILES in %s recipe should not contain the ${D} variable as it references the local build directory not the target filesystem, best solution is to remove the ${D} reference" % package)
sane = False
else:
- package_qa_add_message(messages, "expanded-d", "%s in %s recipe contains ${D}, it should be replaced by $D instead" % (var, package))
+ oe.qa.add_message(messages, "expanded-d", "%s in %s recipe contains ${D}, it should be replaced by $D instead" % (var, package))
sane = False
return sane
@@ -912,7 +880,7 @@ def package_qa_check_unlisted_pkg_lics(package, d, messages):
if not unlisted:
return True
- package_qa_add_message(messages, "unlisted-pkg-lics",
+ oe.qa.add_message(messages, "unlisted-pkg-lics",
"LICENSE:%s includes licenses (%s) that are not "
"listed in LICENSE" % (package, ' '.join(unlisted)))
return False
@@ -927,7 +895,7 @@ def package_qa_check_encoding(keys, encode, d):
except UnicodeDecodeError as e:
error_msg = "%s has non %s characters" % (key,enc)
sane = False
- package_qa_handle_error("invalid-chars", error_msg, d)
+ oe.qa.handle_error("invalid-chars", error_msg, d)
return sane
for key in keys:
@@ -960,12 +928,12 @@ def package_qa_check_host_user(path, name, d, elf, messages):
else:
check_uid = int(d.getVar('HOST_USER_UID'))
if stat.st_uid == check_uid:
- package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by uid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_uid))
+ oe.qa.add_message(messages, "host-user-contaminated", "%s: %s is owned by uid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_uid))
return False
check_gid = int(d.getVar('HOST_USER_GID'))
if stat.st_gid == check_gid:
- package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by gid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_gid))
+ oe.qa.add_message(messages, "host-user-contaminated", "%s: %s is owned by gid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_gid))
return False
return True
@@ -974,11 +942,11 @@ def package_qa_check_src_uri(pn, d, messages):
import re
if "${PN}" in d.getVar("SRC_URI", False):
- package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)
+ oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)
for url in d.getVar("SRC_URI").split():
if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url):
- package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
+ oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check"
def package_qa_check_unhandled_features_check(pn, d, messages):
@@ -989,7 +957,7 @@ def package_qa_check_unhandled_features_check(pn, d, messages):
if d.getVar(var) is not None or d.overridedata.get(var) is not None:
var_set = True
if var_set:
- package_qa_handle_error("unhandled-features-check", "%s: recipe doesn't inherit features_check" % pn, d)
+ oe.qa.handle_error("unhandled-features-check", "%s: recipe doesn't inherit features_check" % pn, d)
QARECIPETEST[missing-update-alternatives] = "package_qa_check_missing_update_alternatives"
def package_qa_check_missing_update_alternatives(pn, d, messages):
@@ -997,7 +965,7 @@ def package_qa_check_missing_update_alternatives(pn, d, messages):
# without inheriting update-alternatives class
for pkg in (d.getVar('PACKAGES') or '').split():
if d.getVar('ALTERNATIVE:%s' % pkg) and not bb.data.inherits_class('update-alternatives', d):
- package_qa_handle_error("missing-update-alternatives", "%s: recipe defines ALTERNATIVE:%s but doesn't inherit update-alternatives. This might fail during do_rootfs later!" % (pn, pkg), d)
+ oe.qa.handle_error("missing-update-alternatives", "%s: recipe defines ALTERNATIVE:%s but doesn't inherit update-alternatives. This might fail during do_rootfs later!" % (pn, pkg), d)
# The PACKAGE FUNC to scan each package
python do_package_qa () {
@@ -1073,7 +1041,7 @@ python do_package_qa () {
bb.note("Checking Package: %s" % package)
# Check package name
if not pkgname_pattern.match(package):
- package_qa_handle_error("pkgname",
+ oe.qa.handle_error("pkgname",
"%s doesn't match the [a-z0-9.+-]+ regex" % package, d)
warn_checks, error_checks = parse_test_matrix("QAPATHTEST")
@@ -1091,10 +1059,7 @@ python do_package_qa () {
if 'libdir' in d.getVar("ALL_QA").split():
package_qa_check_libdir(d)
- qa_sane = d.getVar("QA_SANE")
- if not qa_sane:
- bb.fatal("QA run found fatal errors. Please consider fixing them.")
- bb.note("DONE with PACKAGE QA")
+ oe.qa.exit_if_errors(d)
}
# binutils is used for most checks, so need to set as dependency
@@ -1121,8 +1086,8 @@ addtask do_package_qa_setscene
python do_qa_staging() {
bb.note("QA checking staging")
- if not qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d):
- bb.fatal("QA staging was broken by the package built above")
+ qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d)
+ oe.qa.exit_with_message_if_errors("QA staging was broken by the package built above", d)
}
python do_qa_patch() {
@@ -1170,7 +1135,7 @@ python do_qa_patch() {
elif 'patch-fuzz' in d.getVar('WARN_QA'):
bb.warn(msg)
msg = "Patch log indicates that patches do not apply cleanly."
- package_qa_handle_error("patch-fuzz", msg, d)
+ oe.qa.handle_error("patch-fuzz", msg, d)
}
python do_qa_configure() {
@@ -1198,7 +1163,7 @@ python do_qa_configure() {
if subprocess.call(statement, shell=True) == 0:
error_msg = """This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
Rerun configure task after fixing this."""
- package_qa_handle_error("configure-unsafe", error_msg, d)
+ oe.qa.handle_error("configure-unsafe", error_msg, d)
if "configure.ac" in files:
configs.append(os.path.join(root,"configure.ac"))
@@ -1228,7 +1193,7 @@ Rerun configure task after fixing this."""
gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config
if subprocess.call(gnu, shell=True) == 0:
error_msg = "AM_GNU_GETTEXT used but no inherit gettext"
- package_qa_handle_error("configure-gettext", error_msg, d)
+ oe.qa.handle_error("configure-gettext", error_msg, d)
###########################################################################
# Check unrecognised configure options (with a white list)
@@ -1251,7 +1216,7 @@ Rerun configure task after fixing this."""
if options:
pn = d.getVar('PN')
error_msg = pn + ": configure was passed unrecognised options: " + " ".join(options)
- package_qa_handle_error("unknown-configure-option", error_msg, d)
+ oe.qa.handle_error("unknown-configure-option", error_msg, d)
except subprocess.CalledProcessError:
pass
@@ -1263,11 +1228,9 @@ Rerun configure task after fixing this."""
if pconfig not in pkgconfigflags:
pn = d.getVar('PN')
error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)
- package_qa_handle_error("invalid-packageconfig", error_msg, d)
+ oe.qa.handle_error("invalid-packageconfig", error_msg, d)
- qa_sane = d.getVar("QA_SANE")
- if not qa_sane:
- bb.fatal("Fatal QA errors found, failing task.")
+ oe.qa.exit_if_errors(d)
}
python do_qa_unpack() {
@@ -1320,15 +1283,15 @@ python () {
pn = d.getVar('PN')
if pn in overrides:
msg = 'Recipe %s has PN of "%s" which is in OVERRIDES, this can result in unexpected behaviour.' % (d.getVar("FILE"), pn)
- package_qa_handle_error("pn-overrides", msg, d)
+ oe.qa.handle_error("pn-overrides", msg, d)
prog = re.compile(r'[A-Z]')
if prog.search(pn):
- package_qa_handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d)
+ oe.qa.handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d)
# Some people mistakenly use DEPENDS:${PN} instead of DEPENDS and wonder
# why it doesn't work.
if (d.getVar(d.expand('DEPENDS:${PN}'))):
- package_qa_handle_error("pkgvarcheck", "recipe uses DEPENDS:${PN}, should use DEPENDS", d)
+ oe.qa.handle_error("pkgvarcheck", "recipe uses DEPENDS:${PN}, should use DEPENDS", d)
issues = []
if (d.getVar('PACKAGES') or "").split():
@@ -1345,7 +1308,7 @@ python () {
else:
d.setVarFlag('do_package_qa', 'rdeptask', '')
for i in issues:
- package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d)
+ oe.qa.handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d)
if 'native-last' not in (d.getVar('INSANE_SKIP') or "").split():
for native_class in ['native', 'nativesdk']:
@@ -1373,11 +1336,8 @@ python () {
else:
break
if broken_order:
- package_qa_handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. "
+ oe.qa.handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. "
"Classes inherited after native/nativesdk: %s" % (pn, " ".join(broken_order)), d)
-
- qa_sane = d.getVar("QA_SANE")
- if not qa_sane:
- bb.fatal("Fatal QA errors found, failing task.")
+ oe.qa.exit_if_errors(d)
}