From 78b727985e7571e0b196561e44427690f04d57d9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 14 Jun 2022 06:47:25 -0500 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-openembedded: a9e6d16e66..11df15765c: Adrian Fiergolski (1): python3-matplotlib: add missing dependency Adrian Freihofer (6): conntrack-tools: fix postinst script networkmanager: improve dependency handling networkmanager: simplify selective installation networkmanager: use nftables by default networkmanager: udpate to 1.38.0 modemmanager: update to 1.18.8 Armin Kuster (2): mariadb: update to 10.7.4 mariadb: Fix i386 Clang builds Bartosz Golaszewski (2): python3-uinput: new package python3-speedtest-cli: fix RDEPENDS Changqing Li (1): redis: upgrade 7.0-rc3 -> 7.0.0 Denys Dmytriyenko (1): devmem2: the source and patches moved to github repo Enrico Scholz (1): nodejs-oe-cache-native: initial checkin Jiaqing Zhao (1): openldap: Remove unnecessary use-urandom.patch Kai Kang (2): libportal: add distro features check graphviz: rrecommends on liberation-fonts Khem Raj (5): ubi-utils-klibc: Disable lzo compression by default unattended-upgrades: Disable auto-detecting modules sdbus-c++: Link with libatomic for rv32 sdbus-c++-libsystemd: Fix patch fuzz python3-uinput: Fix build on 32bit arches using 64bit times_t Luca Boccassi (1): dbus-broker: update 29 -> 31 Marcel Ziswiler (1): libavtp: add recipe for audio video transport protocol (avtp) Markus Volk (6): jack: allow to build native/nativesdk pipewire: reduce native/nativesdk dependencies; add backport patch p8platform: unbreak do_populate_sdk pavucontrol: update; fix build for wayland only gnome-disk-utility: fix build for wayland only unblock some recipes for wayland Martin Jansa (1): mm-common: package the files from ${PN} in ${PN}-dev and use allarch Ming Liu (1): bluealsa: uprev to 4.0.0 Nikhil R (1): duktape: Add ptest Peter Marko (1): libgpiod: move test dependencies to ptest package Ross Burton (8): python3-cppy: fix inherits and DEPENDS python3-setuptools-scm-git-archive: add new recipe python3-traitlets: upgrade to 5.2.1 python3-pathspec: add new recipe python3-hatchling: add new recipe and build class python3-editables: add new recipe python3-setuptools-declarative-requirements: add new recipe lzop: add (from oe-core) Samuli Piippo (2): flite: add recipe libtomcrypt: add recipe Thomas Perrot (1): nbd: update 3.20 -> 3.24 Vyacheslav Yurkov (4): packagegroup-meta-filesystems: fix build issue overlayfs-progs: add new recipe overlayfs-tools: add new recipe xfstests: add new recipe Wang Mingyu (38): babeld: upgrade 1.12 -> 1.12.1 ctags: upgrade 5.9.20220508.0 -> 5.9.20220515.0 libbpf: upgrade 0.7.0 -> 0.8.0 evtest: upgrade 1.34 -> 1.35 nbdkit: upgrade 1.31.5 -> 1.31.7 smarty: upgrade 4.1.0 -> 4.1.1 thingsboard-gateway: upgrade 2.9 -> 3.1 opencl-headers: upgrade 2022.01.04 -> 2022.05.18 python3-robotframework: upgrade 5.0 -> 5.0.1 python3-watchdog: upgrade 2.1.7 -> 2.1.8 python3-web3: upgrade 5.29.0 -> 5.29.1 python3-xmlschema: upgrade 1.10.0 -> 1.11.0 python3-sqlalchemy: upgrade 1.4.35 -> 1.4.36 python3-yappi: upgrade 1.3.3 -> 1.3.5 apitrace: upgrade 11.0 -> 11.1 ctags: upgrade 5.9.20220515.0 -> 5.9.20220529.0 gedit: upgrade 42.0 -> 42.1 hidapi: upgrade 0.11.2 -> 0.12.0 libbytesize: upgrade 2.6 -> 2.7 libdvdread: upgrade 6.1.2 -> 6.1.3 links: upgrade 2.26 -> 2.27 libxmlb: upgrade 0.3.8 -> 0.3.9 ser2net: upgrade 4.3.5 -> 4.3.6 python3-awesomeversion: upgrade 22.5.1 -> 22.5.2 htop: upgrade 3.2.0 -> 3.2.1 hwdata: upgrade 0.359 -> 0.360 libnet-dns-perl: upgrade 1.33 -> 1.34 tinyproxy: upgrade 1.11.0 -> 1.11.1 function2: upgrade 4.2.0 -> 4.2.1 openvpn: upgrade 2.5.6 -> 2.5.7 poppler: upgrade 22.05.0 -> 22.06.0 sshfs-fuse: upgrade 3.7.2 -> 3.7.3 tgt: upgrade 1.0.82 -> 1.0.83 tracker: upgrade 3.3.0 -> 3.3.1 unbound: upgrade 1.15.0 -> 1.16.0 zabbix: upgrade 6.0.4 -> 6.0.5 botan: upgrade 2.19.1 -> 2.19.2 evolution-data-server: upgrade 3.44.1 -> 3.44.2 Wolfgang Meyer (1): fbida: remove bash from RDEPENDS Xu Huan (17): python3-pint: upgrade 0.19.1 -> 0.19.2 python3-pylint: upgrade 2.13.7 -> 2.13.9 python3-redis: upgrade 4.2.2 -> 4.3.1 python3-werkzeug: upgrade 2.1.1 -> 2.1.2 python3-zeroconf: upgrade 0.38.4 -> 0.38.6 python3-sentry-sdk: upgrade 1.5.10 -> 1.5.12 python3-astroid: upgrade 2.11.3 -> 2.11.5 python3-cachetools: upgrade 5.0.0 -> 5.1.0 python3-imageio: upgrade 2.19.1 -> 2.19.2 python3-asyncinotify: upgrade 2.0.2 -> 2.0.3 python3-croniter: upgrade 1.3.4 -> 1.3.5 python3-google-api-core: upgrade 2.7.3 -> 2.8.0 python3-flask-socketio: upgrade 5.1.2 -> 5.2.0 python3-h5py: upgrade 3.6.0 -> 3.7.0 python3-lz4: upgrade 4.0.0 -> 4.0.1 python3-mypy: upgrade 0.950 -> 0.960 python3-pyscaffold: upgrade 4.2.1 -> 4.2.2 zhengrq.fnst (10): python3-google-api-python-client: upgrade 2.45.0 -> 2.48.0 python3-grpcio-tools: upgrade 1.46.0 -> 1.46.3 python3-openpyxl: upgrade 3.0.9 -> 3.0.10 python3-paramiko: upgrade 2.10.4 -> 2.11.0 python3-humanize: upgrade 4.0.0 -> 4.1.0 python3-pychromecast: upgrade 12.1.1 -> 12.1.2 python3-cachetools: upgrade 5.1.0 -> 5.2.0 python3-google-api-python-client: upgrade 2.48.0 -> 2.49.0 python3-googleapis-common-protos: upgrade 1.56.1 -> 1.56.2 python3-imageio: upgrade 2.19.2 -> 2.19.3 zhengruoqin (6): python3-bitarray: upgrade 2.5.0 -> 2.5.1 python3-eventlet: upgrade 0.33.0 -> 0.33.1 python3-googleapis-common-protos: upgrade 1.56.0 -> 1.56.1 python3-imageio: upgrade 2.18.0 -> 2.19.1 python3-pyjwt: upgrade 2.3.0 -> 2.4.0 python3-wrapt: upgrade 1.14.0 -> 1.14.1 poky: 13d70e57f8..ee0d001b81: Alex Stewart (1): opkg: upgrade to version 0.6.0 Alexander Kanavin (23): bash: submit patch upstream valgrind: submit arm patches upstream apt: fix upstream version check zip/unzip: mark all submittable patches as Inactive-Upstream less: mark upstream version as unknown wayland: exclude pre-releases from version check mesa-demos: update 8.4.0 -> 8.5.0 seatd: update 0.6.4 -> 0.7.0 systemd: update 250.5 -> 251.2 btrfs-tools: update 5.16.2 -> 5.18 llvm: update 14.0.3 -> 14.0.4 python3-psutil: update 5.9.0 -> 5.9.1 tiff: update 4.3.0 -> 4.4.0 pulseaudio: update 15.0 -> 16.0 alsa-utils-scripts: merge into alsa-utils alsa-utils: update 1.2.6 -> 1.2.7 ovmf: update 202202 -> 202205 cmake: update 3.23.1 -> 3.23.2 ltp: upgrade 20220121 -> 20220527 perl: update 5.34.1 -> 5.36.0 perl: drop perltoc regeneration perl: clean prior to build perl: enable _GNU_SOURCE define via d_gnulibc Bruce Ashfield (7): linux-yocto/5.15: bpf: explicitly disable unpriv eBPF by default linux-yocto/5.15: update to v5.15.43 linux-yocto/5.10: update to v5.10.118 linux-yocto/5.15: Enable MDIO bus config linux-yocto/5.15: cfg/xen: Move x86 configs to separate file linux-yocto/5.15: update to v5.15.44 linux-yocto/5.10: update to v5.10.119 Chen Qi (1): libsdl2: add back xvm and xinerama options Daiane Angolini (1): python3-pip: Fix RDEPENDS after the update Davide Gardenal (2): efivar: add musl libc compatibility baremetal-image: fix broken symlink in do_rootfs Dmitry Baryshkov (2): go.bbclass: fix path to linker in native Go builds linux-firmware: add support for building snapshots Ernst Sjöstrand (2): cve-check: Add helper for symlink handling cve-check: Only include installed packages for rootfs manifest He Zhe (1): lttng-modules: Fix build failure for 5.10.119+ and 5.15.44+ kernel Jack Mitchell (1): meson.bbclass: add cython binary to cross/native toolchain config Jeremy Puhlman (1): gcc: depend on zstd-native Jiaqing Zhao (1): systemd: Correct 0001-pass-correct-parameters-to-getdents64.patch Joerg Vehlow (1): libseccomp: Add missing files for ptests Jose Quaresma (1): archiver: use bb.note instead of echo Kai Kang (1): xxhash: fix build with gcc 12 Marcel Ziswiler (2): alsa-plugins: fix libavtp vs. avtp packageconfig gstreamer1.0-plugins-bad: add libavtp packageconfig Markus Volk (1): gcr: build with gtk+3 for wayland Marta Rybczynska (4): cve-check: move update_symlinks to a library cve-check: write empty fragment files in the text mode cve-check: fix return type in check_cves cve-update-db-native: make it possible to disable database updates Martin Jansa (9): makedevs: Don't use COPYING.patch just to add license file into ${S} insane.bbclass: make sure to close .patch files staging.bbclass: process direct dependencies in deterministic order patch.py: make sure that patches/series file exists before quilt pop lttng-modules: fix shell syntax buildhistory.bbclass: fix shell syntax when using dash rootfs.py: close kernel_abi_ver_file ltp: use bfd even when gold is used with ld-is-gold systemd: Fix build without utmp Michael Opdenacker (1): migration guides: release notes for 4.0.1 Mikko Rapeli (1): bitbake: event.py: ignore exceptions from stdout and sterr operations in atexit Ming Liu (1): udev-extraconf: let automount base directory configurable Mingli Yu (4): perl: Fix build with gcc-12 ccache: Fix build with gcc-12 oescripts: change compare logic in OEListPackageconfigTests python3-cryptography: remove test_x509.py Naveen Saini (1): pciutils: avoid lspci conflict with busybox Pavel Zhukov (6): bitbake.conf: Make TCLIBC and TCMODE lazy assigned bitbake: fetch2: Honour BB_FETCH_PREMIRRORONLY option bitbake: Add tests to cover BB_FETCH_PREMIRRORONLY functionality dbus: Specify runstatedir configure option bitbake: tests/fetch: Drop unnecessary duplicated function bitbake: tests/fetch: Add tests for premirror using real project Peter Kjellerstedt (2): libseccomp: Correct LIC_FILES_CHKSUM license.bbclass: Bound beginline and endline in copy_license_files() Quentin Schulz (2): docs: set_versions.py: remove honister from active releases list docs: set_versions.py: check for first latest release tag Rasmus Villemoes (2): vim: put xxd in its own package e2fsprogs: add alternatives handling of lsattr as well Ricardo Salveti (1): gnu-efi: enable for riscv64 Richard Purdie (51): cve-extra-exclusions: Add kernel CVEs lzo: Add further info to a patch and mark as Inactive-Upstream python3: Remove problematic paths from sysroot files python3: Ensure stale empty python module directories don't break the build Revert "qemu.inc: Remove empty egg-info directories before running meson" Revert "meson.bblcass: Remove empty egg-info directories before running meson" vim: Upgrade 8.2.4912 -> 8.2.5034 to fix 9 CVEs tiff: Add jbig PACKAGECONFIG and clarify CVE-2022-1210 libxslt: Mark CVE-2022-29824 as not applying oeqa/imagefeatures: Replace lzo with zst oeqa/imagefeatures: Disable squashfs-lzo cve-check: Allow warnings to be disabled openssl: Backport fix for ptest cert expiry bitbake: runqueue: Fix unihash cache mismatch issues bitbake: cache/siggen: Add unihash cache copy function bitbake: bitbake: Bump to version 2.0.1 populate_sdk_ext: Fix race condition on bb_unihashes.dat gcc-cross-canadian: Add nativesdk-zstd dependency glib-2.0: upgrade 2.72.1 -> 2.72.2 dnf: upgrade 4.12.0 -> 4.13.0 python3-dtschema: upgrade 2022.4 -> 2022.5 python3-sphinx: upgrade 4.5.0 -> 5.0.0 python3-pip: upgrade 22.1.1 -> 22.1.2 alsa-lib: upgrade 1.2.6.1 -> 1.2.7 sysklogd: upgrade 2.3.0 -> 2.4.0 libxkbcommon: upgrade 1.4.0 -> 1.4.1 piglit: upgrade to latest revision sysstat: upgrade 12.4.5 -> 12.6.0 harfbuzz: upgrade 4.2.1 -> 4.3.0 gtk+3: upgrade 3.24.33 -> 3.24.34 xwayland: upgrade 22.1.1 -> 22.1.2 alsa-ucm-conf: upgrade 1.2.6.3 -> 1.2.7 gnutls: upgrade 3.7.5 -> 3.7.6 webkitgtk: upgrade 2.36.1 -> 2.36.3 diffoscope: upgrade 212 -> 215 populate_sdk_ext: Fix second bb_unihashes reference sanity: Switch to make 4.0 as a minimum version perl: Add dependency on make-native to avoid race issues glibc: Drop make-native dependency bitbake: fetch/wget: Move files into place atomically bitbake: server/process: Avoid risk of exception deadlocks bitbake: server/process: Remove daemonic thread usage bitbake: server/process: Avoid tracebacks at exit uboot-sign: Fix potential index error issues selftest/multiconfig: Test that multiconfigs in separate layers works bitbake: cooker: Drop sre_constants usage classes/buildcfg: Move git/layer revision code into new OE module buildcfg lib/buildcfg: Share common clean/dirty layer function buildcfg: Drop unused svn revision function base/buildhistory/image-buildinfo: Use common buildcfg function image-buildinfo: Improve and extend to SDK coverage too Robert Yang (1): systemd: Set RebootWatchdogSec to 60s as watchdog Ross Burton (8): python3-pluggy: add BBCLASSEXTEND for native/nativesdk btrfs-tools: add a PACKAGECONFIG for lzo tiff: mark CVE-2022-1622 and CVE-2022-1623 as invalid packagegroup-self-hosted: remove lzo libarchive: disable LZO by default squashfs-tools: disable LZO by default lzop: remove recipe from oe-core setuptools3: clean up class Rusty Howell (1): oe-depends-dot: Handle new format for task-depends.dot Sean Anderson (1): rootfs.py: find .ko.zst kernel modules Stefan Wiehler (1): kernel-yocto.bbclass: Reset to exiting on non-zero return code at end of task Tobias Schmidl (2): oeqa/selftest/wic.py: Repaired test_qemu() wic/plugins/images/direct: Allow changes in fstab on rootfs Vyacheslav Yurkov (2): files: rootfs-postcommands: move helper commands to script files: respect overlayfs owner from lower layer Xiaobing Luo (1): devtool: Fix _copy_file() TypeError Zach Welch (2): test-manual/intro: reorder bitbake-selftest steps test-manual/intro: bitbake-selftest needs bitbake leimaohui (1): gnutls: Added fips option. wangmy (30): bind: upgrade 9.18.2 -> 9.18.3 ccache: upgrade 4.6 -> 4.6.1 init-system-helpers: upgrade 1.62 -> 1.63 ninja: upgrade 1.10.2 -> 1.11.0 python3-certifi: upgrade 2021.10.8 -> 2022.5.18.1 python3-cython: upgrade 0.29.28 -> 0.29.30 python3-hypothesis: upgrade 6.46.4 -> 6.46.7 python3-importlib-metadata: upgrade 4.11.3 -> 4.11.4 python3-magic: upgrade 0.4.25 -> 0.4.26 python3-pip: upgrade 22.1 -> 22.1.1 python3-setuptools: upgrade 62.3.1 -> 62.3.2 python3-hypothesis: upgrade 6.46.7 -> 6.46.9 python3-semantic-version: upgrade 2.9.0 -> 2.10.0 python3-webcolors: upgrade 1.11.1 -> 1.12 python3-pytest-subtests: upgrade 0.7.0 -> 0.8.0 asciidoc: upgrade 10.1.4 -> 10.2.0 cups: upgrade 2.4.1 -> 2.4.2 iproute2: upgrade 5.17.0 -> 5.18.0 iw: upgrade 5.16 -> 5.19 logrotate: upgrade 3.19.0 -> 3.20.1 dpkg: upgrade 1.21.7 -> 1.21.8 repo: upgrade 2.25 -> 2.26 iso-codes: upgrade 4.9.0 -> 4.10.0 lttng-ust: upgrade 2.13.2 -> 2.13.3 meson: upgrade 0.62.1 -> 0.62.2 mtools: upgrade 4.0.39 -> 4.0.40 nettle: upgrade 3.7.3 -> 3.8 kbd: upgrade 2.4.0 -> 2.5.0 python3-hypothesis: upgrade 6.46.9 -> 6.46.11 xkeyboard-config: upgrade 2.35.1 -> 2.36 meta-security: 7628a3e90b..8c6fe006a1: Armin Kuster (18): swtpm: enable seccomp if DISTRO is enabled security-tpm2-image: add swtpm swtpm: enable gnutls oeqa/swtpm: add swtpm runtime oeqa/tpm2: fix and cleanup tests tpm2-pkcs11: we really need the symlinks smack-test: switch to python3 oeqa/smack: consolidate classes checksec: update 2.6.0 chkrootkit: update SRC_URI packagegroup-core-security: add arpwatch and chkrootkit to pkg grp layer.conf: Post release codename changes README: Update for dynamic layers arpwatch: riscv not supported packagegroup-core-security: drop arpwatch for riscv from pkg grp chkrootkit: Fix missing includes for musl arpwatch: update to 3.3 packagegroup-core-security: don't include aprwatch for musl Signed-off-by: Andrew Geissler Change-Id: Ic83db16445cf0a1286685f11d378e1e3e9b794c3 --- poky/bitbake/bin/bitbake | 2 +- poky/bitbake/lib/bb/__init__.py | 2 +- poky/bitbake/lib/bb/cache.py | 9 + poky/bitbake/lib/bb/cooker.py | 5 +- poky/bitbake/lib/bb/event.py | 10 +- poky/bitbake/lib/bb/fetch2/git.py | 13 +- poky/bitbake/lib/bb/fetch2/wget.py | 11 +- poky/bitbake/lib/bb/runqueue.py | 3 + poky/bitbake/lib/bb/server/process.py | 37 +- poky/bitbake/lib/bb/siggen.py | 6 + poky/bitbake/lib/bb/tests/fetch.py | 93 +++ .../documentation/migration-guides/release-4.0.rst | 1 + .../migration-guides/release-notes-4.0.1.rst | 248 +++++++ poky/documentation/set_versions.py | 4 +- poky/documentation/test-manual/intro.rst | 14 +- poky/meta-selftest/conf/multiconfig/muslmc.conf | 2 + poky/meta/classes/archiver.bbclass | 2 +- poky/meta/classes/baremetal-image.bbclass | 7 +- poky/meta/classes/base.bbclass | 12 +- poky/meta/classes/buildhistory.bbclass | 28 +- poky/meta/classes/cve-check.bbclass | 136 ++-- poky/meta/classes/go.bbclass | 5 +- poky/meta/classes/image-buildinfo.bbclass | 52 +- poky/meta/classes/insane.bbclass | 18 +- poky/meta/classes/kernel-yocto.bbclass | 8 + poky/meta/classes/license.bbclass | 8 +- poky/meta/classes/meson.bbclass | 12 +- poky/meta/classes/metadata_scm.bbclass | 43 +- poky/meta/classes/populate_sdk_ext.bbclass | 15 +- poky/meta/classes/report-error.bbclass | 2 +- poky/meta/classes/rootfs-postcommands.bbclass | 13 +- poky/meta/classes/sanity.bbclass | 30 +- poky/meta/classes/setuptools3.bbclass | 5 +- poky/meta/classes/staging.bbclass | 2 +- poky/meta/classes/uboot-sign.bbclass | 2 + poky/meta/conf/bitbake.conf | 4 +- .../conf/distro/include/cve-extra-exclusions.inc | 37 + poky/meta/conf/distro/include/maintainers.inc | 2 - poky/meta/conf/distro/include/security_flags.inc | 1 + poky/meta/conf/distro/include/tcmode-default.inc | 2 +- poky/meta/conf/sanity.conf | 2 +- poky/meta/files/overlayfs-create-dirs.service.in | 3 +- poky/meta/files/overlayfs-create-dirs.sh | 11 + poky/meta/lib/oe/buildcfg.py | 49 ++ poky/meta/lib/oe/cve_check.py | 10 + poky/meta/lib/oe/patch.py | 2 + poky/meta/lib/oe/rootfs.py | 6 +- poky/meta/lib/oeqa/selftest/cases/imagefeatures.py | 6 +- poky/meta/lib/oeqa/selftest/cases/multiconfig.py | 13 + poky/meta/lib/oeqa/selftest/cases/oescripts.py | 3 +- poky/meta/lib/oeqa/selftest/cases/wic.py | 2 +- .../efivar/efisecdb-fix-build-with-musl-libc.patch | 184 +++++ poky/meta/recipes-bsp/efivar/efivar_38.bb | 3 +- poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb | 2 +- poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb | 5 +- .../0001-avoid-start-failure-with-bind-user.patch | 27 - ...lwresd-V-and-start-log-hide-build-options.patch | 35 - ...-searching-for-json-headers-searches-sysr.patch | 47 -- .../recipes-connectivity/bind/bind-9.18.2/bind9 | 2 - .../bind/bind-9.18.2/conf.patch | 330 --------- .../bind/bind-9.18.2/generate-rndc-key.sh | 8 - .../init.d-add-support-for-read-only-rootfs.patch | 65 -- .../make-etc-initd-bind-stop-work.patch | 42 -- .../bind/bind-9.18.2/named.service | 22 - .../0001-avoid-start-failure-with-bind-user.patch | 27 + ...lwresd-V-and-start-log-hide-build-options.patch | 35 + ...-searching-for-json-headers-searches-sysr.patch | 47 ++ .../recipes-connectivity/bind/bind-9.18.3/bind9 | 2 + .../bind/bind-9.18.3/conf.patch | 330 +++++++++ .../bind/bind-9.18.3/generate-rndc-key.sh | 8 + .../init.d-add-support-for-read-only-rootfs.patch | 65 ++ .../make-etc-initd-bind-stop-work.patch | 42 ++ .../bind/bind-9.18.3/named.service | 22 + poky/meta/recipes-connectivity/bind/bind_9.18.2.bb | 127 ---- poky/meta/recipes-connectivity/bind/bind_9.18.3.bb | 127 ++++ .../iproute2/iproute2_5.17.0.bb | 11 - .../iproute2/iproute2_5.18.0.bb | 11 + poky/meta/recipes-connectivity/iw/iw_5.16.bb | 31 - poky/meta/recipes-connectivity/iw/iw_5.19.bb | 31 + .../770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch | 55 ++ .../recipes-connectivity/openssl/openssl_3.0.3.bb | 1 + poky/meta/recipes-core/dbus/dbus_1.14.0.bb | 3 +- .../glib-2.0/glib-2.0/relocate-modules.patch | 2 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb | 53 -- poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb | 53 ++ poky/meta/recipes-core/glibc/glibc_2.35.bb | 2 +- .../initscripts/init-system-helpers_1.62.bb | 41 -- .../initscripts/init-system-helpers_1.63.bb | 41 ++ poky/meta/recipes-core/kbd/kbd_2.4.0.bb | 46 -- poky/meta/recipes-core/kbd/kbd_2.5.0.bb | 46 ++ .../meta/recipes-core/meta/cve-update-db-native.bb | 6 +- .../ovmf/0001-BaseTools-fix-gcc12-warning-1.patch | 51 -- .../ovmf/0001-BaseTools-fix-gcc12-warning.patch | 49 -- poky/meta/recipes-core/ovmf/ovmf_git.bb | 6 +- .../packagegroups/packagegroup-self-hosted.bb | 1 - poky/meta/recipes-core/seatd/seatd_0.6.4.bb | 35 - poky/meta/recipes-core/seatd/seatd_0.7.0.bb | 35 + .../recipes-core/systemd/systemd-boot_250.5.bb | 73 -- .../recipes-core/systemd/systemd-boot_251.2.bb | 73 ++ poky/meta/recipes-core/systemd/systemd.inc | 8 +- ...001-pass-correct-parameters-to-getdents64.patch | 13 +- ...esolve-Use-sockaddr-pointer-type-for-bind.patch | 46 -- ...1-shared-utmp-wtmp-fix-build-without-utmp.patch | 32 + .../38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch | 41 ++ poky/meta/recipes-core/systemd/systemd_250.5.bb | 790 -------------------- poky/meta/recipes-core/systemd/systemd_251.2.bb | 798 +++++++++++++++++++++ .../meta/recipes-core/udev/udev-extraconf/mount.sh | 25 +- poky/meta/recipes-core/udev/udev-extraconf_1.1.bb | 2 + poky/meta/recipes-devtools/apt/apt_2.4.5.bb | 10 +- .../btrfs-tools/btrfs-tools_5.16.2.bb | 71 -- .../btrfs-tools/btrfs-tools_5.18.bb | 72 ++ poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb | 28 + poky/meta/recipes-devtools/ccache/ccache_4.6.bb | 26 - .../0001-xxhash.h-Fix-build-with-gcc-12.patch | 39 + .../recipes-devtools/cmake/cmake-native_3.23.1.bb | 64 -- .../recipes-devtools/cmake/cmake-native_3.23.2.bb | 64 ++ poky/meta/recipes-devtools/cmake/cmake.inc | 2 +- poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb | 67 -- poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb | 67 ++ poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb | 90 --- poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb | 90 +++ poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb | 23 - poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb | 23 + .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb | 5 +- poky/meta/recipes-devtools/gcc/gcc-12.1.inc | 2 +- .../recipes-devtools/gcc/gcc-cross-canadian.inc | 2 +- poky/meta/recipes-devtools/llvm/llvm_git.bb | 4 +- .../makedevs/makedevs/COPYING.patch | 346 --------- .../recipes-devtools/makedevs/makedevs/makedevs.c | 4 + .../recipes-devtools/makedevs/makedevs_1.0.1.bb | 5 +- poky/meta/recipes-devtools/meson/meson_0.62.1.bb | 134 ---- poky/meta/recipes-devtools/meson/meson_0.62.2.bb | 134 ++++ .../mtools/mtools/disable-hardcoded-configs.patch | 6 +- poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb | 49 -- poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb | 49 ++ poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb | 31 - poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb | 31 + poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb | 72 -- poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb | 72 ++ ...correctly-list-modules-when-cleaning-them.patch | 24 + ...-Makefile-do-not-clean-config.h-xconfig.h.patch | 28 + .../recipes-devtools/perl-cross/perlcross_1.3.7.bb | 38 - .../recipes-devtools/perl-cross/perlcross_1.4.bb | 40 ++ .../perl/files/0001-Fix-build-with-gcc-12.patch | 143 ++++ .../perl/files/perl-configpm-switch.patch | 2 +- .../perl/files/perl-dynloader.patch | 2 +- .../recipes-devtools/perl/files/perl-rdepends.txt | 49 +- poky/meta/recipes-devtools/perl/perl_5.34.1.bb | 413 ----------- poky/meta/recipes-devtools/perl/perl_5.36.0.bb | 410 +++++++++++ ...ionally-do-not-fetch-code-by-easy_install.patch | 2 +- .../meta/recipes-devtools/python/python-cython.inc | 2 +- .../python/python3-certifi_2021.10.8.bb | 14 - .../python/python3-certifi_2022.5.18.1.bb | 14 + .../python/python3-cryptography_37.0.2.bb | 3 + .../python/python3-cython_0.29.28.bb | 37 - .../python/python3-cython_0.29.30.bb | 37 + .../python/python3-dtschema_2022.4.bb | 15 - .../python/python3-dtschema_2022.5.bb | 15 + .../python/python3-hypothesis_6.46.11.bb | 38 + .../python/python3-hypothesis_6.46.4.bb | 38 - .../python/python3-importlib-metadata_4.11.3.bb | 20 - .../python/python3-importlib-metadata_4.11.4.bb | 20 + .../python/python3-magic_0.4.25.bb | 22 - .../python/python3-magic_0.4.26.bb | 22 + .../recipes-devtools/python/python3-pip_22.1.2.bb | 65 ++ .../recipes-devtools/python/python3-pip_22.1.bb | 63 -- .../python/python3-pluggy_1.0.0.bb | 2 + .../0001-fix-failure-test-cases.patch | 197 ----- .../python/python3-psutil_5.9.0.bb | 29 - .../python/python3-psutil_5.9.1.bb | 27 + .../python/python3-pytest-subtests_0.7.0.bb | 20 - .../python/python3-pytest-subtests_0.8.0.bb | 20 + .../python/python3-semantic-version_2.10.0.bb | 18 + .../python/python3-semantic-version_2.9.0.bb | 14 - .../python/python3-setuptools_62.3.1.bb | 55 -- .../python/python3-setuptools_62.3.2.bb | 55 ++ .../python/python3-sphinx_4.5.0.bb | 28 - .../python/python3-sphinx_5.0.0.bb | 28 + .../python/python3-webcolors_1.11.1.bb | 28 - .../python/python3-webcolors_1.12.bb | 27 + .../python/python3/deterministic_imports.patch | 32 + .../meta/recipes-devtools/python/python3_3.10.4.bb | 11 +- poky/meta/recipes-devtools/qemu/qemu.inc | 8 +- poky/meta/recipes-devtools/repo/repo_2.25.bb | 31 - poky/meta/recipes-devtools/repo/repo_2.26.bb | 31 + .../squashfs-tools/squashfs-tools_git.bb | 2 +- ...rop-setting-mcpu-to-cortex-a8-on-arm-arch.patch | 2 +- ...d-neon-for-targets-which-don-t-support-it.patch | 2 +- ...opriate-march-mcpu-mfpu-for-ARM-test-apps.patch | 2 +- .../recipes-extended/asciidoc/asciidoc_10.1.4.bb | 28 - .../recipes-extended/asciidoc/asciidoc_10.2.0.bb | 28 + .../recipes-extended/bash/bash/makerace2.patch | 2 +- poky/meta/recipes-extended/cups/cups_2.4.1.bb | 5 - poky/meta/recipes-extended/cups/cups_2.4.2.bb | 5 + poky/meta/recipes-extended/less/less_600.bb | 1 + .../libarchive/libarchive_3.6.1.bb | 2 +- .../recipes-extended/logrotate/logrotate_3.19.0.bb | 91 --- .../recipes-extended/logrotate/logrotate_3.20.1.bb | 91 +++ ...arse.sh-sort-filelist-for-reproducibility.patch | 28 - poky/meta/recipes-extended/ltp/ltp_20220121.bb | 138 ---- poky/meta/recipes-extended/ltp/ltp_20220527.bb | 143 ++++ .../recipes-extended/sysklogd/sysklogd_2.3.0.bb | 56 -- .../recipes-extended/sysklogd/sysklogd_2.4.0.bb | 56 ++ .../recipes-extended/sysstat/sysstat_12.4.5.bb | 7 - .../recipes-extended/sysstat/sysstat_12.6.0.bb | 7 + ...ure-Pass-LDFLAGS-to-tests-doing-link-step.patch | 2 +- .../unzip/unzip/CVE-2021-4217.patch | 2 +- .../recipes-extended/unzip/unzip/avoid-strip.patch | 2 +- .../unzip/unzip/define-ldflags.patch | 2 +- .../unzip/unzip/fix-security-format.patch | 2 +- .../recipes-extended/unzip/unzip/symlink.patch | 2 +- .../recipes-extended/watchdog/watchdog-config.bb | 7 + ...se-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch | 2 +- .../zip/zip-3.0/10-remove-build-date.patch | 2 +- .../zip/zip-3.0/fix-security-format.patch | 2 +- .../zip-3.0/zipnote-crashes-with-segfault.patch | 2 +- poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb | 5 +- poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb | 17 - poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb | 17 + .../recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb | 48 -- .../recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb | 48 ++ .../recipes-graphics/libsdl2/libsdl2_2.0.22.bb | 2 + ...llow-to-disable-demos-which-require-GLEW-.patch | 382 ---------- .../0007-Install-few-more-test-programs.patch | 43 -- ...dd-few-missing-.glsl-.vert-.frag-files-to.patch | 99 --- ...glsl-perf-Install-.glsl-.vert-.frag-files.patch | 71 -- ...OpenVG-demos-with-single-frame-need-eglSw.patch | 44 -- .../meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb | 57 -- .../meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb | 43 ++ poky/meta/recipes-graphics/piglit/piglit_git.bb | 2 +- .../recipes-graphics/wayland/wayland_1.20.0.bb | 1 + .../xorg-lib/libxkbcommon_1.4.0.bb | 36 - .../xorg-lib/libxkbcommon_1.4.1.bb | 36 + .../xorg-lib/xkeyboard-config_2.35.1.bb | 30 - .../xorg-lib/xkeyboard-config_2.36.bb | 30 + .../recipes-graphics/xwayland/xwayland_22.1.1.bb | 45 -- .../recipes-graphics/xwayland/xwayland_22.1.2.bb | 45 ++ .../linux-firmware/linux-firmware_20220509.bb | 8 +- .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.15.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.15.bb | 6 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 24 +- poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb | 26 +- ...dom-remove-unused-tracepoints-v5.10-v5.15.patch | 44 ++ .../recipes-kernel/lttng/lttng-modules_2.13.3.bb | 1 + poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb | 53 -- poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb | 53 ++ .../recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb | 44 -- .../meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb | 44 ++ .../recipes-multimedia/alsa/alsa-plugins_1.2.6.bb | 2 +- .../alsa/alsa-ucm-conf_1.2.6.3.bb | 24 - .../recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb | 24 + .../alsa/alsa-utils-scripts_1.2.6.bb | 25 - poky/meta/recipes-multimedia/alsa/alsa-utils.inc | 108 --- .../recipes-multimedia/alsa/alsa-utils_1.2.6.bb | 2 - .../recipes-multimedia/alsa/alsa-utils_1.2.7.bb | 120 ++++ .../gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb | 2 +- ...fix-crash-when-reading-a-file-with-multip.patch | 38 - ...-global-buffer-overflow-for-ASCII-tags-wh.patch | 43 -- ...x-issue-380-and-382-heap-buffer-overflow-.patch | 219 ------ ...hecks-for-return-value-of-limitMalloc-392.patch | 93 --- ...rmalTag-avoid-calling-memcpy-with-a-null-.patch | 33 - .../tiff/0005-fix-the-FPE-in-tiffcrop-393.patch | 36 - ...06-fix-heap-buffer-overflow-in-tiffcp-278.patch | 57 -- .../561599c99f987dc32ae110370cfdd7df7975586b.patch | 30 - .../eecb0712f4c3a5b449f70c57988260a667ddbdef.patch | 32 - poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb | 67 -- poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb | 64 ++ .../recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +- .../0001-meson-Check-for-__get_cpuid.patch | 82 --- .../pulseaudio/pulseaudio_15.0.bb | 11 - .../pulseaudio/pulseaudio_16.0.bb | 10 + poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb | 167 ----- poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb | 167 +++++ .../recipes-support/diffoscope/diffoscope_212.bb | 30 - .../recipes-support/diffoscope/diffoscope_215.bb | 30 + ...mac-file-should-be-excuted-in-target-envi.patch | 28 + poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb | 68 -- poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb | 90 +++ .../recipes-support/iso-codes/iso-codes_4.10.0.bb | 22 + .../recipes-support/iso-codes/iso-codes_4.9.0.bb | 22 - .../recipes-support/libseccomp/libseccomp_2.5.4.bb | 6 +- .../meta/recipes-support/libxslt/libxslt_1.1.35.bb | 4 + ...0001-Use-memcpy-instead-of-reinventing-it.patch | 10 +- poky/meta/recipes-support/lzop/lzop/acinclude.m4 | 390 ---------- poky/meta/recipes-support/lzop/lzop_1.04.bb | 27 - poky/meta/recipes-support/nettle/nettle_3.7.3.bb | 57 -- poky/meta/recipes-support/nettle/nettle_3.8.bb | 57 ++ poky/meta/recipes-support/vim/vim.inc | 4 +- poky/meta/recipes-support/vim/vim_8.2.bb | 8 +- poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb | 2 + poky/scripts/lib/devtool/standard.py | 2 +- poky/scripts/lib/wic/plugins/imager/direct.py | 2 +- poky/scripts/oe-depends-dot | 21 +- 295 files changed, 6157 insertions(+), 7375 deletions(-) create mode 100644 poky/documentation/migration-guides/release-notes-4.0.1.rst create mode 100644 poky/meta-selftest/conf/multiconfig/muslmc.conf create mode 100644 poky/meta/files/overlayfs-create-dirs.sh create mode 100644 poky/meta/lib/oe/buildcfg.py create mode 100644 poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9 delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9 create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service delete mode 100644 poky/meta/recipes-connectivity/bind/bind_9.18.2.bb create mode 100644 poky/meta/recipes-connectivity/bind/bind_9.18.3.bb delete mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb create mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb delete mode 100644 poky/meta/recipes-connectivity/iw/iw_5.16.bb create mode 100644 poky/meta/recipes-connectivity/iw/iw_5.19.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb delete mode 100644 poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb create mode 100644 poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb delete mode 100644 poky/meta/recipes-core/kbd/kbd_2.4.0.bb create mode 100644 poky/meta/recipes-core/kbd/kbd_2.5.0.bb delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch delete mode 100644 poky/meta/recipes-core/seatd/seatd_0.6.4.bb create mode 100644 poky/meta/recipes-core/seatd/seatd_0.7.0.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd-boot_250.5.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-boot_251.2.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd_250.5.bb create mode 100644 poky/meta/recipes-core/systemd/systemd_251.2.bb delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb create mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.6.bb create mode 100644 poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch delete mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb delete mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb create mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb delete mode 100644 poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb create mode 100644 poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb delete mode 100644 poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.62.1.bb create mode 100644 poky/meta/recipes-devtools/meson/meson_0.62.2.bb delete mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb create mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb delete mode 100644 poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb create mode 100644 poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb delete mode 100644 poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb create mode 100644 poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch delete mode 100644 poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb create mode 100644 poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb create mode 100644 poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch delete mode 100644 poky/meta/recipes-devtools/perl/perl_5.34.1.bb create mode 100644 poky/meta/recipes-devtools/perl/perl_5.36.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb create mode 100644 poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb create mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb create mode 100644 poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb create mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb create mode 100644 poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_22.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb create mode 100644 poky/meta/recipes-devtools/python/python3/deterministic_imports.patch delete mode 100644 poky/meta/recipes-devtools/repo/repo_2.25.bb create mode 100644 poky/meta/recipes-devtools/repo/repo_2.26.bb delete mode 100644 poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb create mode 100644 poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb delete mode 100644 poky/meta/recipes-extended/cups/cups_2.4.1.bb create mode 100644 poky/meta/recipes-extended/cups/cups_2.4.2.bb delete mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb create mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp_20220121.bb create mode 100644 poky/meta/recipes-extended/ltp/ltp_20220527.bb delete mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb create mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb delete mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb create mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb delete mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb create mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb delete mode 100644 poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb create mode 100644 poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils.inc delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb create mode 100644 poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb delete mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch delete mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb create mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb delete mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_212.bb create mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_215.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch delete mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb create mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb delete mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb delete mode 100644 poky/meta/recipes-support/lzop/lzop/acinclude.m4 delete mode 100644 poky/meta/recipes-support/lzop/lzop_1.04.bb delete mode 100644 poky/meta/recipes-support/nettle/nettle_3.7.3.bb create mode 100644 poky/meta/recipes-support/nettle/nettle_3.8.bb (limited to 'poky') diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake index 042c91807d..b56f6207c6 100755 --- a/poky/bitbake/bin/bitbake +++ b/poky/bitbake/bin/bitbake @@ -28,7 +28,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__ = "2.0.0" +__version__ = "2.0.1" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index b8333bdb81..6b470aa195 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__ = "2.0.0" +__version__ = "2.0.1" import sys if sys.version_info < (3, 6, 0): diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index 92e9a3ced7..988c596c39 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -24,6 +24,7 @@ from collections.abc import Mapping import bb.utils from bb import PrefixLoggerAdapter import re +import shutil logger = logging.getLogger("BitBake.Cache") @@ -998,3 +999,11 @@ class SimpleCache(object): p.dump([data, self.cacheversion]) bb.utils.unlockfile(glf) + + def copyfile(self, target): + if not self.cachefile: + return + + glf = bb.utils.lockfile(self.cachefile + ".lock") + shutil.copy(self.cachefile, target) + bb.utils.unlockfile(glf) diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index 6da9291f9c..2adf4d297d 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -13,7 +13,6 @@ import sys, os, glob, os.path, re, time import itertools import logging import multiprocessing -import sre_constants import threading from io import StringIO, UnsupportedOperation from contextlib import closing @@ -1907,7 +1906,7 @@ class CookerCollectFiles(object): try: re.compile(mask) bbmasks.append(mask) - except sre_constants.error: + except re.error: collectlog.critical("BBMASK contains an invalid regular expression, ignoring: %s" % mask) # Then validate the combined regular expressions. This should never @@ -1915,7 +1914,7 @@ class CookerCollectFiles(object): bbmask = "|".join(bbmasks) try: bbmask_compiled = re.compile(bbmask) - except sre_constants.error: + except re.error: collectlog.critical("BBMASK is not a valid regular expression, ignoring: %s" % bbmask) bbmask = None diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index df020551e3..97668601a1 100644 --- a/poky/bitbake/lib/bb/event.py +++ b/poky/bitbake/lib/bb/event.py @@ -132,8 +132,14 @@ def print_ui_queue(): if not _uiready: from bb.msg import BBLogFormatter # Flush any existing buffered content - sys.stdout.flush() - sys.stderr.flush() + try: + sys.stdout.flush() + except: + pass + try: + sys.stderr.flush() + except: + pass stdout = logging.StreamHandler(sys.stdout) stderr = logging.StreamHandler(sys.stderr) formatter = BBLogFormatter("%(levelname)s: %(message)s") diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py index 23f8c0da8f..07b3d9a7ff 100644 --- a/poky/bitbake/lib/bb/fetch2/git.py +++ b/poky/bitbake/lib/bb/fetch2/git.py @@ -353,10 +353,15 @@ class Git(FetchMethod): if ud.shallow and os.path.exists(ud.fullshallow) and self.need_update(ud, d): ud.localpath = ud.fullshallow return - elif os.path.exists(ud.fullmirror) and not os.path.exists(ud.clonedir): - bb.utils.mkdirhier(ud.clonedir) - runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=ud.clonedir) - + elif os.path.exists(ud.fullmirror) and self.need_update(ud, d): + if not os.path.exists(ud.clonedir): + bb.utils.mkdirhier(ud.clonedir) + runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=ud.clonedir) + else: + tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR')) + runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=tmpdir) + fetch_cmd = "LANG=C %s fetch -f --progress %s " % (ud.basecmd, shlex.quote(tmpdir)) + runfetchcmd(fetch_cmd, d, workdir=ud.clonedir) repourl = self._get_repo_url(ud) # If the repo still doesn't exist, fallback to cloning it diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index b3a3de571a..b2b542e1dc 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -106,10 +106,9 @@ class Wget(FetchMethod): fetchcmd = self.basecmd - if 'downloadfilename' in ud.parm: - localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile) - bb.utils.mkdirhier(os.path.dirname(localpath)) - fetchcmd += " -O %s" % shlex.quote(localpath) + localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile) + ".tmp" + bb.utils.mkdirhier(os.path.dirname(localpath)) + fetchcmd += " -O %s" % shlex.quote(localpath) if ud.user and ud.pswd: fetchcmd += " --auth-no-challenge" @@ -133,6 +132,10 @@ class Wget(FetchMethod): self._runwget(ud, d, fetchcmd, False) + # Remove the ".tmp" and move the file into position atomically + # Our lock prevents multiple writers but mirroring code may grab incomplete files + os.rename(localpath, localpath[:-4]) + # Sanity check since wget can pretend it succeed when it didn't # Also, this used to happen if sourceforge sent us to the mirror page if not os.path.exists(ud.localpath): diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index f34f1568e2..1e47fe70ef 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -2299,6 +2299,9 @@ class RunQueueExecute: self.rqdata.runtaskentries[hashtid].unihash = unihash bb.parse.siggen.set_unihash(hashtid, unihash) toprocess.add(hashtid) + if torehash: + # Need to save after set_unihash above + bb.parse.siggen.save_unitaskhashes() # Work out all tasks which depend upon these total = set() diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index 613956f30f..43790b6631 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -437,6 +437,7 @@ class BitBakeProcessServerConnection(object): self.socket_connection = sock def terminate(self): + self.events.close() self.socket_connection.close() self.connection.connection.close() self.connection.recv.close() @@ -662,23 +663,18 @@ class BBUIEventQueue: self.reader = ConnectionReader(readfd) self.t = threading.Thread() - self.t.daemon = True self.t.run = self.startCallbackHandler self.t.start() def getEvent(self): - self.eventQueueLock.acquire() - - if len(self.eventQueue) == 0: - self.eventQueueLock.release() - return None - - item = self.eventQueue.pop(0) + with self.eventQueueLock: + if len(self.eventQueue) == 0: + return None - if len(self.eventQueue) == 0: - self.eventQueueNotify.clear() + item = self.eventQueue.pop(0) + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.eventQueueLock.release() return item def waitEvent(self, delay): @@ -686,10 +682,9 @@ class BBUIEventQueue: return self.getEvent() def queue_event(self, event): - self.eventQueueLock.acquire() - self.eventQueue.append(event) - self.eventQueueNotify.set() - self.eventQueueLock.release() + with self.eventQueueLock: + self.eventQueue.append(event) + self.eventQueueNotify.set() def send_event(self, event): self.queue_event(pickle.loads(event)) @@ -698,13 +693,17 @@ class BBUIEventQueue: bb.utils.set_process_name("UIEventQueue") while True: try: - self.reader.wait() - event = self.reader.get() - self.queue_event(event) - except EOFError: + ready = self.reader.wait(0.25) + if ready: + event = self.reader.get() + self.queue_event(event) + except (EOFError, OSError, TypeError): # Easiest way to exit is to close the file descriptor to cause an exit break + + def close(self): self.reader.close() + self.t.join() class ConnectionReader(object): diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index 08eca7860e..3f3d6df54d 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -120,6 +120,9 @@ class SignatureGenerator(object): def save_unitaskhashes(self): return + def copy_unitaskhashes(self, targetdir): + return + def set_setscene_tasks(self, setscene_tasks): return @@ -358,6 +361,9 @@ class SignatureGeneratorBasic(SignatureGenerator): def save_unitaskhashes(self): self.unihash_cache.save(self.unitaskhashes) + def copy_unitaskhashes(self, targetdir): + self.unihash_cache.copyfile(targetdir) + def dump_sigtask(self, fn, task, stampbase, runtime): tid = fn + ":" + task diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 1152e89c0d..622c46a05d 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -2802,3 +2802,96 @@ class GitSharedTest(FetcherTest): fetcher.unpack(self.unpackdir) alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates') self.assertFalse(os.path.exists(alt)) + + +class FetchPremirroronlyLocalTest(FetcherTest): + + def setUp(self): + super(FetchPremirroronlyLocalTest, self).setUp() + self.mirrordir = os.path.join(self.tempdir, "mirrors") + os.mkdir(self.mirrordir) + self.reponame = "bitbake" + self.gitdir = os.path.join(self.tempdir, "git", self.reponame) + self.recipe_url = "git://git.fake.repo/bitbake" + self.d.setVar("BB_FETCH_PREMIRRORONLY", "1") + self.d.setVar("BB_NO_NETWORK", "1") + self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n") + + def make_git_repo(self): + self.mirrorname = "git2_git.fake.repo.bitbake.tar.gz" + recipeurl = "git:/git.fake.repo/bitbake" + os.makedirs(self.gitdir) + self.git("init", self.gitdir) + for i in range(0): + self.git_new_commit() + bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd = self.gitdir) + + def git_new_commit(self): + import random + testfilename = "bibake-fetch.test" + os.unlink(os.path.join(self.mirrordir, self.mirrorname)) + with open(os.path.join(self.gitdir, testfilename), "w") as testfile: + testfile.write("Useless random data {}".format(random.random())) + self.git("add {}".format(testfilename), self.gitdir) + self.git("commit -a -m \"This random commit {}. I'm useless.\"".format(random.random()), self.gitdir) + bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd = self.gitdir) + return self.git("rev-parse HEAD", self.gitdir).strip() + + def test_mirror_commit_nonexistent(self): + self.make_git_repo() + self.d.setVar("SRCREV", "0"*40) + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + with self.assertRaises(bb.fetch2.NetworkAccess): + fetcher.download() + + def test_mirror_commit_exists(self): + self.make_git_repo() + self.d.setVar("SRCREV", self.git_new_commit()) + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + fetcher.download() + fetcher.unpack(self.unpackdir) + + def test_mirror_tarball_nonexistent(self): + self.d.setVar("SRCREV", "0"*40) + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + with self.assertRaises(bb.fetch2.NetworkAccess): + fetcher.download() + +class FetchPremirroronlyNetworkTest(FetcherTest): + + def setUp(self): + super(FetchPremirroronlyNetworkTest, self).setUp() + self.mirrordir = os.path.join(self.tempdir, "mirrors") + os.mkdir(self.mirrordir) + self.reponame = "fstests" + self.clonedir = os.path.join(self.tempdir, "git") + self.gitdir = os.path.join(self.tempdir, "git", "{}.git".format(self.reponame)) + self.recipe_url = "git://git.yoctoproject.org/fstests" + self.d.setVar("BB_FETCH_PREMIRRORONLY", "1") + self.d.setVar("BB_NO_NETWORK", "0") + self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n") + + def make_git_repo(self): + import shutil + self.mirrorname = "git2_git.yoctoproject.org.fstests.tar.gz" + os.makedirs(self.clonedir) + self.git("clone --bare --shallow-since=\"01.01.2013\" {}".format(self.recipe_url), self.clonedir) + bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd = self.gitdir) + shutil.rmtree(self.clonedir) + + @skipIfNoNetwork() + def test_mirror_tarball_updated(self): + self.make_git_repo() + ## Upstream commit is in the mirror + self.d.setVar("SRCREV", "49d65d53c2bf558ae6e9185af0f3af7b79d255ec") + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + fetcher.download() + + @skipIfNoNetwork() + def test_mirror_tarball_outdated(self): + self.make_git_repo() + ## Upstream commit not in the mirror + self.d.setVar("SRCREV", "15413486df1f5a5b5af699b6f3ba5f0984e52a9f") + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + with self.assertRaises(bb.fetch2.NetworkAccess): + fetcher.download() diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst index 7062f9d241..2ef7c97afc 100644 --- a/poky/documentation/migration-guides/release-4.0.rst +++ b/poky/documentation/migration-guides/release-4.0.rst @@ -5,3 +5,4 @@ Release 4.0 (kirkstone) migration-4.0 release-notes-4.0 + release-notes-4.0.1 diff --git a/poky/documentation/migration-guides/release-notes-4.0.1.rst b/poky/documentation/migration-guides/release-notes-4.0.1.rst new file mode 100644 index 0000000000..81da6e5f2d --- /dev/null +++ b/poky/documentation/migration-guides/release-notes-4.0.1.rst @@ -0,0 +1,248 @@ +Release notes for 4.0.1 (kirkstone) +----------------------------------- + +Security Fixes in 4.0.1 +~~~~~~~~~~~~~~~~~~~~~~~ + +- linux-yocto/5.15: fix :cve:`2022-28796` +- python3: ignore :cve:`2015-20107` +- e2fsprogs: fix :cve:`2022-1304` +- lua: fix :cve:`2022-28805` +- busybox: fix :cve:`2022-28391` + +Fixes in 4.0.1 +~~~~~~~~~~~~~~ + +- abi_version/sstate: Bump hashequiv and sstate versions due to git changes +- apt: add apt selftest to test signed package feeds +- apt: upgrade 2.4.4 -> 2.4.5 +- arch-armv8-2a.inc: fix a typo in TUNEVALID variable +- babeltrace: Disable warnings as errors +- base: Avoid circular references to our own scripts +- base: Drop git intercept +- build-appliance-image: Update to kirkstone head revision +- build-appliance: Switch to kirkstone branch +- buildtools-tarball: Only add cert envvars if certs are included +- busybox: Use base_bindir instead of hardcoding /bin path +- cases/buildepoxy.py: fix typo +- create-spdx: delete virtual/kernel dependency to fix FreeRTOS build +- create-spdx: fix error when symlink cannot be created +- cve-check: add JSON format to summary output +- cve-check: fix symlinks where link and output path are equal +- cve-check: no need to depend on the fetch task +- cve-update-db-native: let the user to drive the update interval +- cve-update-db-native: update the CVE database once a day only +- cve_check: skip remote patches that haven't been fetched when searching for CVE tags +- dev-manual: add command used to add the signed-off-by line. +- devshell.bbclass: Allow devshell & pydevshell to use the network +- docs: conf.py: fix cve extlinks caption for sphinx <4.0 +- docs: migration-guides: migration-3.4: mention that hardcoded password are supported if hashed +- docs: migration-guides: release-notes-4.0: fix risc-v typo +- docs: migration-guides: release-notes-4.0: replace kernel placeholder with correct recipe name +- docs: ref-manual: variables: add hashed password example in EXTRA_USERS_PARAMS +- docs: set_versions.py: add information about obsolescence of a release +- docs: set_versions.py: fix latest release of a branch being shown twice in switchers.js +- docs: set_versions.py: fix latest version of an active release shown as obsolete +- docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases +- docs: sphinx-static: switchers.js.in: do not mark branches as outdated +- docs: sphinx-static: switchers.js.in: fix broken switcher for branches +- docs: sphinx-static: switchers.js.in: improve obsolete version detection +- docs: sphinx-static: switchers.js.in: remove duplicate for outdated versions +- docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions +- docs: update Bitbake objects.inv location for master branch +- documentation/brief-yoctoprojectqs: add directory for local.conf +- gcompat: Fix build when usrmerge distro feature is enabled +- git: correct license +- git: upgrade 2.35.2 -> 2.35.3 +- glib: upgrade 2.72.0 -> 2.72.1 +- glibc: ptest: Fix glibc-tests package issue +- gnupg: Disable FORTIFY_SOURCES on mips +- go.bbclass: disable the use of the default configuration file +- gstreamer1.0-plugins-bad: drop patch +- gstreamer1.0-plugins-good: Fix libsoup dependency +- gstreamer1.0: Minor documentation addition +- install/devshell: Introduce git intercept script due to fakeroot issues +- kernel-yocto.bbclass: Fixup do_kernel_configcheck usage of KMETA +- libc-glibc: Use libxcrypt to provide virtual/crypt +- libgit2: upgrade 1.4.2 -> 1.4.3 +- libsoup: upgrade 3.0.5 -> 3.0.6 +- libusb1: upgrade 1.0.25 -> 1.0.26 +- linux-firmware: correct license for ar3k firmware +- linux-firmware: upgrade 20220310 -> 20220411 +- linux-yocto/5.10: base: enable kernel crypto userspace API +- linux-yocto/5.10: update to v5.10.112 +- linux-yocto/5.15: arm: poky-tiny cleanup and fixes +- linux-yocto/5.15: base: enable kernel crypto userspace API +- linux-yocto/5.15: fix -standard kernel build issue +- linux-yocto/5.15: fix ppc boot +- linux-yocto/5.15: fix qemuarm graphical boot +- linux-yocto/5.15: kasan: fix BUG: sleeping function called from invalid context +- linux-yocto/5.15: netfilter: conntrack: avoid useless indirection during conntrack destruction +- linux-yocto/5.15: update to v5.15.36 +- linux-yocto: enable powerpc-debug fragment +- mdadm: Drop clang specific cflags +- migration-3.4: add missing entry on EXTRA_USERS_PARAMS +- migration-guides: add release notes for 4.0 +- migration-guides: complete migration guide for 4.0 +- migration-guides: release-notes-4.0: mention LTS release +- migration-guides: release-notes-4.0: update 'Repositories / Downloads' section +- migration-guides: stop including documents with ".. include" +- musl: Fix build when usrmerge distro feature is enabled +- ncurses: use COPYING file +- neard: Switch SRC_URI to git repo +- oeqa/selftest: add test for git working correctly inside pseudo +- openssl: minor security upgrade 3.0.2 -> 3.0.3 +- package.bbclass: Prevent perform_packagecopy from removing /sysroot-only +- package: Ensure we track whether PRSERV was active or not +- package_manager: fix missing dependency on gnupg when signing deb package feeds +- poky-tiny: enable qemuarmv5/qemuarm64 and cleanups +- poky.conf: bump version for 4.0.1 release +- qemu.bbclass: Extend ppc/ppc64 extra options +- qemuarm64: use virtio pci interfaces +- qemuarmv5: use arm-versatile-926ejs KMACHINE +- ref-manual: Add XZ_THREADS and XZ_MEMLIMIT +- ref-manual: add KERNEL_DEBUG_TIMESTAMPS +- ref-manual: add ZSTD_THREADS +- ref-manual: add a note about hard-coded passwords +- ref-manual: add empty-dirs QA check and QA_EMPTY_DIRS* +- ref-manual: add mention of vendor filtering to CVE_PRODUCT +- ref-manual: mention wildcarding support in INCOMPATIBLE_LICENSE +- releases: update for yocto 4.0 +- rootfs-postcommands: fix symlinks where link and output path are equal +- ruby: upgrade 3.1.1 -> 3.1.2 +- sanity: skip make 4.2.1 warning for debian +- scripts/git: Ensure we don't have circular references +- scripts: Make git intercept global +- seatd: Disable overflow warning as error on ppc64/musl +- selftest/lic_checksum: Add test for filename containing space +- set_versions: update for 4.0 release +- staging: Ensure we filter out ourselves +- strace: fix ptest failure in landlock +- subversion: upgrade to 1.14.2 +- systemd-boot: remove outdated EFI_LD comment +- systemtap: Fix build with gcc-12 +- terminal.py: Restore error output from Terminal +- u-boot: Correct the SRC_URI +- u-boot: Inherit pkgconfig +- update_udev_hwdb: fix multilib issue with systemd +- util-linux: Create u-a symlink for findfs utility +- virgl: skip headless test on alma 8.6 +- webkitgtk: adjust patch status +- wic: do not use PARTLABEL for msdos partition tables +- wireless-regdb: upgrade 2022.02.18 -> 2022.04.08 +- xserver-xorg: Fix build with gcc12 +- yocto-bsps: update to v5.15.36 + +Contributors to 4.0.1 +~~~~~~~~~~~~~~~~~~~~~ + +- Abongwa Amahnui Bonalais +- Alexander Kanavin +- Bruce Ashfield +- Carlos Rafael Giani +- Chen Qi +- Davide Gardenal +- Dmitry Baryshkov +- Ferry Toth +- Henning Schild +- Jon Mason +- Justin Bronder +- Kai Kang +- Khem Raj +- Konrad Weihmann +- Lee Chee Yang +- Marta Rybczynska +- Martin Jansa +- Matt Madison +- Michael Halstead +- Michael Opdenacker +- Naveen Saini +- Nicolas Dechesne +- Paul Eggleton +- Paul Gortmaker +- Paulo Neves +- Peter Kjellerstedt +- Peter Marko +- Pgowda +- Portia +- Quentin Schulz +- Rahul Kumar +- Richard Purdie +- Robert Joslyn +- Robert Yang +- Roland Hieber +- Ross Burton +- Russ Dill +- Steve Sakoman +- wangmy +- zhengruoqin + +Repositories / Downloads for 4.0.1 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +poky + +- Repository Location: https://git.yoctoproject.org/git/poky +- Branch: :yocto_git:`kirkstone ` +- Tag: :yocto_git:`yocto-4.0.1 ` +- Git Revision: :yocto_git:`8c489602f218bcf21de0d3c9f8cf620ea5f06430 ` +- Release Artefact: poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430 +- sha: 65c545a316bd8efb13ae1358eeccc8953543be908008103b51f7f90aed960d00 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430.tar.bz2, + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430.tar.bz2 + +openembedded-core + +- Repository Location: :oe_git:`/openembedded-core` +- Branch: :oe_git:`kirkstone ` +- Tag: :oe_git:`yocto-4.0.1 ` +- Git Revision: :oe_git:`cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee ` +- Release Artefact: oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee +- sha: 43981b8fad82f601618a133dffbec839524f0d0a055efc3d8f808cbfd811ab17 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee.tar.bz2, + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee.tar.bz2 + +meta-mingw + +- Repository Location: https://git.yoctoproject.org/git/meta-mingw +- Branch: :yocto_git:`kirkstone ` +- Tag: :yocto_git:`yocto-4.0.1 ` +- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 ` +- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1 +- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2 + +meta-gplv2 + +- Repository Location: https://git.yoctoproject.org/git/meta-gplv2 +- Branch: :yocto_git:`kirkstone ` +- Tag: :yocto_git:`yocto-4.0.1 ` +- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a ` +- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a +- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 + +bitbake + +- Repository Location: :oe_git:`/bitbake` +- Branch: :oe_git:`2.0 ` +- Tag: :oe_git:`yocto-4.0 ` +- Git Revision: :oe_git:`59c16ae6c55c607c56efd2287537a1b97ba2bf52 ` +- Release Artefact: bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52 +- sha: 3ae466c31f738fc45c3d7c6f665952d59f01697f2667ea42f0544d4298dd6ef0 +- Download Locations: + http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52.tar.bz2, + http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52.tar.bz2 + +yocto-docs + +- Repository Location: https://git.yoctoproject.org/git/yocto-docs +- Branch: :yocto_git:`kirkstone ` +- Tag: :yocto_git:`yocto-4.0.1 ` +- Git Revision: :yocto_git:`4ec9df3336a425719a9a35532504731ce56984ca ` diff --git a/poky/documentation/set_versions.py b/poky/documentation/set_versions.py index c409d5ea86..a7ceb3455a 100755 --- a/poky/documentation/set_versions.py +++ b/poky/documentation/set_versions.py @@ -23,7 +23,7 @@ ourversion = None if len(sys.argv) == 2: ourversion = sys.argv[1] -activereleases = ["kirkstone", "honister", "dunfell"] +activereleases = ["kirkstone", "dunfell"] devbranch = "langdale" ltsseries = ["kirkstone", "dunfell"] @@ -86,7 +86,7 @@ docconfver = None # Test tags exist and inform the user to fetch if not try: - subprocess.run(["git", "show", "yocto-3.4.2"], capture_output=True, check=True) + subprocess.run(["git", "show", "yocto-%s" % release_series[activereleases[0]]], capture_output=True, check=True) except subprocess.CalledProcessError: sys.exit("Please run 'git fetch --tags' before building the documentation") diff --git a/poky/documentation/test-manual/intro.rst b/poky/documentation/test-manual/intro.rst index eb9ebe2d5f..12324e592c 100644 --- a/poky/documentation/test-manual/intro.rst +++ b/poky/documentation/test-manual/intro.rst @@ -175,20 +175,26 @@ Tests map into the codebase as follows: which include the fetchers. The tests are located in ``bitbake/lib/*/tests``. + Some of these tests run the ``bitbake`` command, so ``bitbake/bin`` + must be added to the ``PATH`` before running ``bitbake-selftest``. From within the BitBake repository, run the following:: - $ bitbake-selftest + $ export PATH=$PWD/bin:$PATH - To skip tests that access the Internet, use the ``BB_SKIP_NETTESTS`` - variable when running "bitbake-selftest" as follows:: + After that, you can run the selftest script:: - $ BB_SKIP_NETTESTS=yes bitbake-selftest + $ bitbake-selftest The default output is quiet and just prints a summary of what was run. To see more information, there is a verbose option:: $ bitbake-selftest -v + To skip tests that access the Internet, use the ``BB_SKIP_NETTESTS`` + variable when running "bitbake-selftest" as follows:: + + $ BB_SKIP_NETTESTS=yes bitbake-selftest + Use this option when you wish to skip tests that access the network, which are mostly necessary to test the fetcher modules. To specify individual test modules to run, append the test module name to the diff --git a/poky/meta-selftest/conf/multiconfig/muslmc.conf b/poky/meta-selftest/conf/multiconfig/muslmc.conf new file mode 100644 index 0000000000..043cd1ccc3 --- /dev/null +++ b/poky/meta-selftest/conf/multiconfig/muslmc.conf @@ -0,0 +1,2 @@ +TCLIBC = "musl" +TMPDIR = "${TOPDIR}/tmp-mc-musl" diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass index c19c770d11..8d026067f4 100644 --- a/poky/meta/classes/archiver.bbclass +++ b/poky/meta/classes/archiver.bbclass @@ -579,7 +579,7 @@ python do_dumpdata () { SSTATETASKS += "do_deploy_archives" do_deploy_archives () { - echo "Deploying source archive files from ${ARCHIVER_TOPDIR} to ${DEPLOY_DIR_SRC}." + bbnote "Deploying source archive files from ${ARCHIVER_TOPDIR} to ${DEPLOY_DIR_SRC}." } python do_deploy_archives_setscene () { sstate_setscene(d) diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes/baremetal-image.bbclass index 81f5e5e93d..cb9e250350 100644 --- a/poky/meta/classes/baremetal-image.bbclass +++ b/poky/meta/classes/baremetal-image.bbclass @@ -47,9 +47,10 @@ python do_rootfs(){ Path(manifest_name).touch() if os.path.exists(manifest_name) and link_name: manifest_link = deploy_dir + "/" + link_name + ".manifest" - if os.path.lexists(manifest_link): - os.remove(manifest_link) - os.symlink(os.path.basename(manifest_name), manifest_link) + if manifest_link != manifest_name: + if os.path.lexists(manifest_link): + os.remove(manifest_link) + os.symlink(os.path.basename(manifest_name), manifest_link) # A lot of postprocess commands assume the existence of rootfs/etc sysconfdir = d.getVar("IMAGE_ROOTFS") + d.getVar('sysconfdir') bb.utils.mkdirhier(sysconfdir) diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index bdb3ac33c6..20968a5076 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -7,12 +7,11 @@ inherit staging inherit mirrors inherit utils inherit utility-tasks -inherit metadata_scm inherit logging OE_EXTRA_IMPORTS ?= "" -OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible oe.rust ${OE_EXTRA_IMPORTS}" +OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible oe.rust oe.buildcfg ${OE_EXTRA_IMPORTS}" OE_IMPORTS[type] = "list" PACKAGECONFIG_CONFARGS ??= "" @@ -35,6 +34,8 @@ def oe_import(d): # We need the oe module name space early (before INHERITs get added) OE_IMPORTED := "${@oe_import(d)}" +inherit metadata_scm + def lsb_distro_identifier(d): adjust = d.getVar('LSB_DISTRO_ADJUST') adjust_func = None @@ -217,11 +218,8 @@ def get_source_date_epoch_value(d): return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d) def get_layers_branch_rev(d): - layers = (d.getVar("BBLAYERS") or "").split() - layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \ - base_get_metadata_git_branch(i, None).strip(), \ - base_get_metadata_git_revision(i, None)) \ - for i in layers] + revisions = oe.buildcfg.get_layer_revisions(d) + layers_branch_rev = ["%-20s = \"%s:%s\"" % (r[1], r[2], r[3]) for r in revisions] i = len(layers_branch_rev)-1 p1 = layers_branch_rev[i].find("=") s1 = layers_branch_rev[i][p1:] diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 8db79a4829..4ba9ec8f25 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -508,7 +508,7 @@ buildhistory_get_installed() { # Set correct pkgdatadir pkgdatadir=${PKGDATA_DIR} - if [ "$2" == "sdk" ] && [ "$3" == "host" ]; then + if [ "$2" = "sdk" ] && [ "$3" = "host" ] ; then pkgdatadir="${PKGDATA_DIR_SDK}" fi @@ -741,30 +741,10 @@ def buildhistory_get_build_id(d): statusheader = d.getVar('BUILDCFG_HEADER') return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines))) -def buildhistory_get_modified(path): - # copied from get_layer_git_status() in image-buildinfo.bbclass - import subprocess - try: - subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e; - git diff --quiet --no-ext-diff - git diff --quiet --no-ext-diff --cached""" % path, - shell=True, - stderr=subprocess.STDOUT) - return "" - except subprocess.CalledProcessError as ex: - # Silently treat errors as "modified", without checking for the - # (expected) return code 1 in a modified git repo. For example, we get - # output and a 129 return code when a layer isn't a git repo at all. - return " -- modified" - def buildhistory_get_metadata_revs(d): - # We want an easily machine-readable format here, so get_layers_branch_rev isn't quite what we want - layers = (d.getVar("BBLAYERS") or "").split() - medadata_revs = ["%-17s = %s:%s%s" % (os.path.basename(i), \ - base_get_metadata_git_branch(i, None).strip(), \ - base_get_metadata_git_revision(i, None), \ - buildhistory_get_modified(i)) \ - for i in layers] + # We want an easily machine-readable format here + revisions = oe.buildcfg.get_layer_revisions(d) + medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions] return '\n'.join(medadata_revs) def outputvars(vars, listvars, d): diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 3729d9cba8..1b4910f737 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -48,6 +48,7 @@ CVE_CHECK_COPY_FILES ??= "1" CVE_CHECK_CREATE_MANIFEST ??= "1" CVE_CHECK_REPORT_PATCHED ??= "1" +CVE_CHECK_SHOW_WARNINGS ??= "1" # Provide text output CVE_CHECK_FORMAT_TEXT ??= "1" @@ -82,7 +83,7 @@ CVE_VERSION_SUFFIX ??= "" def generate_json_report(d, out_path, link_path): if os.path.exists(d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")): import json - from oe.cve_check import cve_check_merge_jsons + from oe.cve_check import cve_check_merge_jsons, update_symlinks bb.note("Generating JSON CVE summary") index_file = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH") @@ -98,14 +99,12 @@ def generate_json_report(d, out_path, link_path): with open(out_path, "w") as f: json.dump(summary, f, indent=2) - if link_path != out_path: - if os.path.exists(os.path.realpath(link_path)): - os.remove(link_path) - os.symlink(os.path.basename(out_path), link_path) + update_symlinks(out_path, link_path) python cve_save_summary_handler () { import shutil import datetime + from oe.cve_check import update_symlinks cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE") @@ -118,14 +117,9 @@ python cve_save_summary_handler () { if os.path.exists(cve_tmp_file): shutil.copyfile(cve_tmp_file, cve_summary_file) - - if cve_summary_file and os.path.exists(cve_summary_file): - cvefile_link = os.path.join(cvelogpath, cve_summary_name) - # if the paths are the same don't create the link - if cvefile_link != cve_summary_file: - if os.path.exists(os.path.realpath(cvefile_link)): - os.remove(cvefile_link) - os.symlink(os.path.basename(cve_summary_file), cvefile_link) + cvefile_link = os.path.join(cvelogpath, cve_summary_name) + update_symlinks(cve_summary_file, cvefile_link) + bb.plain("Complete CVE report summary created at: %s" % cvefile_link) if d.getVar("CVE_CHECK_FORMAT_JSON") == "1": json_summary_link_name = os.path.join(cvelogpath, d.getVar("CVE_CHECK_SUMMARY_FILE_NAME_JSON")) @@ -178,7 +172,9 @@ python cve_check_write_rootfs_manifest () { """ import shutil - from oe.cve_check import cve_check_merge_jsons + import json + from oe.rootfs import image_list_installed_packages + from oe.cve_check import cve_check_merge_jsons, update_symlinks if d.getVar("CVE_CHECK_COPY_FILES") == "1": deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE") @@ -188,32 +184,63 @@ python cve_check_write_rootfs_manifest () { if os.path.exists(deploy_file_json): bb.utils.remove(deploy_file_json) - if os.path.exists(d.getVar("CVE_CHECK_TMP_FILE")): - bb.note("Writing rootfs CVE manifest") - deploy_dir = d.getVar("DEPLOY_DIR_IMAGE") - link_name = d.getVar("IMAGE_LINK_NAME") + # Create a list of relevant recipies + recipies = set() + for pkg in list(image_list_installed_packages(d)): + pkg_info = os.path.join(d.getVar('PKGDATA_DIR'), + 'runtime-reverse', pkg) + pkg_data = oe.packagedata.read_pkgdatafile(pkg_info) + recipies.add(pkg_data["PN"]) + + bb.note("Writing rootfs CVE manifest") + deploy_dir = d.getVar("DEPLOY_DIR_IMAGE") + link_name = d.getVar("IMAGE_LINK_NAME") + + json_data = {"version":"1", "package": []} + text_data = "" + enable_json = d.getVar("CVE_CHECK_FORMAT_JSON") == "1" + enable_text = d.getVar("CVE_CHECK_FORMAT_TEXT") == "1" + + save_pn = d.getVar("PN") + + for pkg in recipies: + # To be able to use the CVE_CHECK_RECIPE_FILE variable we have to evaluate + # it with the different PN names set each time. + d.setVar("PN", pkg) + if enable_text: + pkgfilepath = d.getVar("CVE_CHECK_RECIPE_FILE") + if os.path.exists(pkgfilepath): + with open(pkgfilepath) as pfile: + text_data += pfile.read() + + if enable_json: + pkgfilepath = d.getVar("CVE_CHECK_RECIPE_FILE_JSON") + if os.path.exists(pkgfilepath): + with open(pkgfilepath) as j: + data = json.load(j) + cve_check_merge_jsons(json_data, data) + + d.setVar("PN", save_pn) + + if enable_text: + link_path = os.path.join(deploy_dir, "%s.cve" % link_name) manifest_name = d.getVar("CVE_CHECK_MANIFEST") - cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE") - - bb.utils.mkdirhier(os.path.dirname(manifest_name)) - shutil.copyfile(cve_tmp_file, manifest_name) - - if manifest_name and os.path.exists(manifest_name): - manifest_link = os.path.join(deploy_dir, "%s.cve" % link_name) - # if they are the same don't create the link - if manifest_link != manifest_name: - # If we already have another manifest, update symlinks - if os.path.exists(os.path.realpath(manifest_link)): - os.remove(manifest_link) - os.symlink(os.path.basename(manifest_name), manifest_link) - bb.plain("Image CVE report stored in: %s" % manifest_name) - - if d.getVar("CVE_CHECK_FORMAT_JSON") == "1": - link_path = os.path.join(deploy_dir, "%s.json" % link_name) - manifest_path = d.getVar("CVE_CHECK_MANIFEST_JSON") - bb.note("Generating JSON CVE manifest") - generate_json_report(d, manifest_path, link_path) - bb.plain("Image CVE JSON report stored in: %s" % link_path) + + with open(manifest_name, "w") as f: + f.write(text_data) + + update_symlinks(manifest_name, link_path) + bb.plain("Image CVE report stored in: %s" % manifest_name) + + if enable_json: + link_path = os.path.join(deploy_dir, "%s.json" % link_name) + manifest_name = d.getVar("CVE_CHECK_MANIFEST_JSON") + + with open(manifest_name, "w") as f: + json.dump(json_data, f, indent=2) + + update_symlinks(manifest_name, link_path) + bb.plain("Image CVE JSON report stored in: %s" % manifest_name) } ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}" @@ -237,7 +264,7 @@ def check_cves(d, patched_cves): products = d.getVar("CVE_PRODUCT").split() # If this has been unset then we're not scanning for CVEs here (for example, image recipes) if not products: - return ([], [], [], {}) + return ([], [], [], []) pv = d.getVar("CVE_VERSION").split("+git")[0] # If the recipe has been skipped/ignored we return empty lists @@ -405,26 +432,25 @@ def cve_write_data_text(d, patched, unpatched, ignored, cve_data): write_string += "VECTOR: %s\n" % cve_data[cve]["vector"] write_string += "MORE INFORMATION: %s%s\n\n" % (nvd_link, cve) - if unpatched_cves: + if unpatched_cves and d.getVar("CVE_CHECK_SHOW_WARNINGS") == "1": bb.warn("Found unpatched CVE (%s), for more information check %s" % (" ".join(unpatched_cves),cve_file)) - if write_string: - with open(cve_file, "w") as f: - bb.note("Writing file %s with CVE information" % cve_file) - f.write(write_string) + with open(cve_file, "w") as f: + bb.note("Writing file %s with CVE information" % cve_file) + f.write(write_string) - if d.getVar("CVE_CHECK_COPY_FILES") == "1": - deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE") - bb.utils.mkdirhier(os.path.dirname(deploy_file)) - with open(deploy_file, "w") as f: - f.write(write_string) + if d.getVar("CVE_CHECK_COPY_FILES") == "1": + deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE") + bb.utils.mkdirhier(os.path.dirname(deploy_file)) + with open(deploy_file, "w") as f: + f.write(write_string) - if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1": - cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR") - bb.utils.mkdirhier(cvelogpath) + if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1": + cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR") + bb.utils.mkdirhier(cvelogpath) - with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f: - f.write("%s" % write_string) + with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f: + f.write("%s" % write_string) def cve_check_write_json_output(d, output, direct_file, deploy_file, manifest_file): """ diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass index 1a9a0bc1d4..cd2daed70b 100644 --- a/poky/meta/classes/go.bbclass +++ b/poky/meta/classes/go.bbclass @@ -45,7 +45,10 @@ GO_LINKMODE ?= "" GO_LINKMODE:class-nativesdk = "--linkmode=external" GO_LINKMODE:class-native = "--linkmode=external" GO_EXTRA_LDFLAGS ?= "" -GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} -I ${@get_linuxloader(d)} ${GO_EXTRA_LDFLAGS} -extldflags '${GO_EXTLDFLAGS}'"' +GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" +# Use system loader. If uninative is used, the uninative loader will be patched automatically +GO_LINUXLOADER:class-native = "" +GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} ${GO_LINUXLOADER} ${GO_EXTRA_LDFLAGS} -extldflags '${GO_EXTLDFLAGS}'"' export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -trimpath" export GOPATH_OMIT_IN_ACTIONID ?= "1" export GOPTESTBUILDFLAGS ?= "${GOBUILDFLAGS} -c" diff --git a/poky/meta/classes/image-buildinfo.bbclass b/poky/meta/classes/image-buildinfo.bbclass index 94c585d4cd..ef790bb73b 100644 --- a/poky/meta/classes/image-buildinfo.bbclass +++ b/poky/meta/classes/image-buildinfo.bbclass @@ -1,5 +1,5 @@ # -# Writes build information to target filesystem on /etc/build +# Writes build information to target filesystem on /etc/buildinfo # # Copyright (C) 2014 Intel Corporation # Author: Alejandro Enedino Hernandez Samaniego @@ -13,7 +13,8 @@ IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION" # Desired location of the output file in the image. -IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build" +IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/buildinfo" +SDK_BUILDINFO_FILE ??= "/buildinfo" # From buildhistory.bbclass def image_buildinfo_outputvars(vars, d): @@ -26,30 +27,10 @@ def image_buildinfo_outputvars(vars, d): ret += "%s = %s\n" % (var, value) return ret.rstrip('\n') -# Gets git branch's status (clean or dirty) -def get_layer_git_status(path): - import subprocess - try: - subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e; - git diff --quiet --no-ext-diff - git diff --quiet --no-ext-diff --cached""" % path, - shell=True, - stderr=subprocess.STDOUT) - return "" - except subprocess.CalledProcessError as ex: - # Silently treat errors as "modified", without checking for the - # (expected) return code 1 in a modified git repo. For example, we get - # output and a 129 return code when a layer isn't a git repo at all. - return "-- modified" - # Returns layer revisions along with their respective status def get_layer_revs(d): - layers = (d.getVar("BBLAYERS") or "").split() - medadata_revs = ["%-17s = %s:%s %s" % (os.path.basename(i), \ - base_get_metadata_git_branch(i, None).strip(), \ - base_get_metadata_git_revision(i, None), \ - get_layer_git_status(i)) \ - for i in layers] + revisions = oe.buildcfg.get_layer_revisions(d) + medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions] return '\n'.join(medadata_revs) def buildinfo_target(d): @@ -60,11 +41,12 @@ def buildinfo_target(d): vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "") return image_buildinfo_outputvars(vars, d) -# Write build information to target filesystem -python buildinfo () { +python buildinfo() { if not d.getVar('IMAGE_BUILDINFO_FILE'): return - with open(d.expand('${IMAGE_ROOTFS}${IMAGE_BUILDINFO_FILE}'), 'w') as build: + destfile = d.expand('${BUILDINFODEST}${IMAGE_BUILDINFO_FILE}') + bb.utils.mkdirhier(os.path.dirname(destfile)) + with open(destfile, 'w') as build: build.writelines(( '''----------------------- Build Configuration: | @@ -82,4 +64,18 @@ Layer Revisions: | )) } -IMAGE_PREPROCESS_COMMAND += "buildinfo;" +# Write build information to target filesystem +python buildinfo_image () { + d.setVar("BUILDINFODEST", "${IMAGE_ROOTFS}") + bb.build.exec_func("buildinfo", d) +} + +python buildinfo_sdk () { + d.setVar("BUILDINFODEST", "${SDK_OUTPUT}/${SDKPATH}") + d.setVar("IMAGE_BUILDINFO_FILE", d.getVar("SDK_BUILDINFO_FILE")) + bb.build.exec_func("buildinfo", d) +} + +IMAGE_PREPROCESS_COMMAND += "buildinfo_image;" +POPULATE_SDK_PRE_TARGET_COMMAND += "buildinfo_sdk;" + diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 0bc6492c83..9ca84bace9 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -1201,18 +1201,20 @@ python do_qa_patch() { if '/meta/' not in fullpath: continue - content = open(fullpath, encoding='utf-8', errors='ignore').read() kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE) strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE) - match_kinda = kinda_status_re.search(content) - match_strict = strict_status_re.search(content) guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status" - if not match_strict: - if match_kinda: - bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0))) - else: - bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines)) + with open(fullpath, encoding='utf-8', errors='ignore') as f: + file_content = f.read() + match_kinda = kinda_status_re.search(file_content) + match_strict = strict_status_re.search(file_content) + + if not match_strict: + if match_kinda: + bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0))) + else: + bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines)) } python do_qa_configure() { diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass index b276ded775..ce1446f7aa 100644 --- a/poky/meta/classes/kernel-yocto.bbclass +++ b/poky/meta/classes/kernel-yocto.bbclass @@ -310,6 +310,8 @@ do_kernel_metadata() { bbnote "KERNEL_FEATURES: $KERNEL_FEATURES_FINAL" bbnote "Final scc/cfg list: $sccs_defconfig $bsp_definition $sccs $KERNEL_FEATURES_FINAL" fi + + set -e } do_patch() { @@ -343,6 +345,8 @@ do_patch() { fi done fi + + set -e } do_kernel_checkout() { @@ -401,6 +405,8 @@ do_kernel_checkout() { git commit -q -m "baseline commit: creating repo for ${PN}-${PV}" git clean -d -f fi + + set -e } do_kernel_checkout[dirs] = "${S} ${WORKDIR}" @@ -695,6 +701,8 @@ do_validate_branches() { kgit-s2q --clean fi fi + + set -e } OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT" diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass index 0c637e966e..4ebfc4fb92 100644 --- a/poky/meta/classes/license.bbclass +++ b/poky/meta/classes/license.bbclass @@ -84,17 +84,17 @@ def copy_license_files(lic_files_paths, destdir): os.link(src, dst) except OSError as err: if err.errno == errno.EXDEV: - # Copy license files if hard-link is not possible even if st_dev is the + # Copy license files if hardlink is not possible even if st_dev is the # same on source and destination (docker container with device-mapper?) canlink = False else: raise - # Only chown if we did hardling, and, we're running under pseudo + # Only chown if we did hardlink and we're running under pseudo if canlink and os.environ.get('PSEUDO_DISABLED') == '0': os.chown(dst,0,0) if not canlink: - begin_idx = int(beginline)-1 if beginline is not None else None - end_idx = int(endline) if endline is not None else None + begin_idx = max(0, int(beginline) - 1) if beginline is not None else None + end_idx = max(0, int(endline)) if endline is not None else None if begin_idx is None and end_idx is None: shutil.copyfile(src, dst) else: diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index 0bfe945811..546cd0476f 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -59,6 +59,7 @@ do_write_config() { [binaries] c = ${@meson_array('CC', d)} cpp = ${@meson_array('CXX', d)} +cython = 'cython3' ar = ${@meson_array('AR', d)} nm = ${@meson_array('NM', d)} strip = ${@meson_array('STRIP', d)} @@ -98,6 +99,7 @@ EOF [binaries] c = ${@meson_array('BUILD_CC', d)} cpp = ${@meson_array('BUILD_CXX', d)} +cython = 'cython3' ar = ${@meson_array('BUILD_AR', d)} nm = ${@meson_array('BUILD_NM', d)} strip = ${@meson_array('BUILD_STRIP', d)} @@ -140,16 +142,6 @@ meson_do_configure() { # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3 unset LD - # sstate.bbclass no longer removes empty directories to avoid a race (see - # commit 4f94d929 "sstate/staging: Handle directory creation race issue"). - # Unfortunately Python apparently treats an empty egg-info directory as if - # the version it previously contained still exists and fails if a newer - # version is required, which Meson does. To avoid this, make sure there are - # no empty egg-info directories from previous versions left behind. Ignore - # all errors from rmdir since the egg-info may be a file rather than a - # directory. - rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || : - # Work around "Meson fails if /tmp is mounted with noexec #2972" mkdir -p "${B}/meson-private/tmp" export TMPDIR="${B}/meson-private/tmp" diff --git a/poky/meta/classes/metadata_scm.bbclass b/poky/meta/classes/metadata_scm.bbclass index 47cb969b8d..f646b3159a 100644 --- a/poky/meta/classes/metadata_scm.bbclass +++ b/poky/meta/classes/metadata_scm.bbclass @@ -1,44 +1,5 @@ -def base_detect_revision(d): - path = base_get_scmbasepath(d) - return base_get_metadata_git_revision(path, d) -def base_detect_branch(d): - path = base_get_scmbasepath(d) - return base_get_metadata_git_branch(path, d) - -def base_get_scmbasepath(d): - return os.path.join(d.getVar('COREBASE'), 'meta') - -def base_get_metadata_svn_revision(path, d): - # This only works with older subversion. For newer versions - # this function will need to be fixed by someone interested - revision = "" - try: - with open("%s/.svn/entries" % path) as f: - revision = f.readlines()[3].strip() - except (IOError, IndexError): - pass - return revision - -def base_get_metadata_git_branch(path, d): - import bb.process - - try: - rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) - except bb.process.ExecutionError: - rev = '' - return rev.strip() - -def base_get_metadata_git_revision(path, d): - import bb.process - - try: - rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) - except bb.process.ExecutionError: - rev = '' - return rev.strip() - -METADATA_BRANCH := "${@base_detect_branch(d)}" +METADATA_BRANCH := "${@oe.buildcfg.detect_branch(d)}" METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}" -METADATA_REVISION := "${@base_detect_revision(d)}" +METADATA_REVISION := "${@oe.buildcfg.detect_revision(d)}" METADATA_REVISION[vardepvalue] = "${METADATA_REVISION}" diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index e2019f9bbf..d58b2ba5d0 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -401,10 +401,9 @@ python copy_buildsystem () { if os.path.exists(builddir + dest_stub): shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub) - if os.path.exists(builddir + '/cache/bb_unihashes.dat'): - bb.parse.siggen.save_unitaskhashes() - bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) - shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat') + cachedir = os.path.join(baseoutpath, 'cache') + bb.utils.mkdirhier(cachedir) + bb.parse.siggen.copy_unitaskhashes(cachedir) # If PR Service is in use, we need to export this as well bb.note('Do we have a pr database?') @@ -492,10 +491,10 @@ python copy_buildsystem () { else: tasklistfn = None - if os.path.exists(builddir + '/cache/bb_unihashes.dat'): - bb.parse.siggen.save_unitaskhashes() - bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) - shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat') + + cachedir = os.path.join(baseoutpath, 'cache') + bb.utils.mkdirhier(cachedir) + bb.parse.siggen.copy_unitaskhashes(cachedir) # Add packagedata if enabled if d.getVar('SDK_INCLUDE_PKGDATA') == '1': diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass index de48e4ff0f..6866d47370 100644 --- a/poky/meta/classes/report-error.bbclass +++ b/poky/meta/classes/report-error.bbclass @@ -63,7 +63,7 @@ python errorreport_handler () { data['target_sys'] = e.data.getVar("TARGET_SYS") data['failures'] = [] data['component'] = " ".join(e.getPkgs()) - data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data)) + data['branch_commit'] = str(oe.buildcfg.detect_branch(e.data)) + ": " + str(oe.buildcfg.detect_revision(e.data)) data['bitbake_version'] = e.data.getVar("BB_VERSION") data['layer_version'] = get_layers_branch_rev(e.data) data['local_conf'] = get_conf_data(e, 'local.conf') diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index d302c23cf4..3f9fdb602d 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -39,7 +39,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd" ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;' -ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check;", "", d)}' +ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}' inherit image-artifact-names @@ -422,3 +422,14 @@ python overlayfs_qa_check() { if not allUnitExist: bb.fatal('Not all mount paths and units are installed in the image') } + +python overlayfs_postprocess() { + import shutil + + # install helper script + helperScriptName = "overlayfs-create-dirs.sh" + helperScriptSource = oe.path.join(d.getVar("COREBASE"), "meta/files", helperScriptName) + helperScriptDest = oe.path.join(d.getVar("IMAGE_ROOTFS"), "/usr/sbin/", helperScriptName) + shutil.copyfile(helperScriptSource, helperScriptDest) + os.chmod(helperScriptDest, 0o755) +} diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index b416918013..eb0ca05804 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -432,8 +432,7 @@ def check_patch_version(sanity_data): except subprocess.CalledProcessError as e: return "Unable to execute patch --version, exit code %d:\n%s\n" % (e.returncode, e.output) -# Unpatched versions of make 3.82 are known to be broken. See GNU Savannah Bug 30612. -# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate. +# Glibc needs make 4.0 or later, we may as well match at this point def check_make_version(sanity_data): import subprocess @@ -442,31 +441,8 @@ def check_make_version(sanity_data): except subprocess.CalledProcessError as e: return "Unable to execute make --version, exit code %d\n%s\n" % (e.returncode, e.output) version = result.split()[2] - if bb.utils.vercmp_string_op(version, "3.82", "=="): - # Construct a test file - f = open("makefile_test", "w") - f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n") - f.write("\n") - f.write("makefile_test_a.c:\n") - f.write(" touch $@\n") - f.write("\n") - f.write("makefile_test_b.c:\n") - f.write(" touch $@\n") - f.close() - - # Check if make 3.82 has been patched - try: - subprocess.check_call(['make', '-f', 'makefile_test']) - except subprocess.CalledProcessError as e: - return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n" - finally: - os.remove("makefile_test") - if os.path.exists("makefile_test_a.c"): - os.remove("makefile_test_a.c") - if os.path.exists("makefile_test_b.c"): - os.remove("makefile_test_b.c") - if os.path.exists("makefile_test.a"): - os.remove("makefile_test.a") + if bb.utils.vercmp_string_op(version, "4.0", "<"): + return "Please install a make version of 4.0 or later.\n" if bb.utils.vercmp_string_op(version, "4.2.1", "=="): distro = oe.lsb.distro_identifier() diff --git a/poky/meta/classes/setuptools3.bbclass b/poky/meta/classes/setuptools3.bbclass index 556bc801af..66c94660d8 100644 --- a/poky/meta/classes/setuptools3.bbclass +++ b/poky/meta/classes/setuptools3.bbclass @@ -1,7 +1,6 @@ inherit setuptools3-base python_pep517 -# bdist_wheel builds in ./dist -#B = "${WORKDIR}/build" +DEPENDS += "python3-setuptools-native python3-wheel-native" SETUPTOOLS_BUILD_ARGS ?= "" @@ -23,6 +22,7 @@ setuptools3_do_compile() { setuptools3_do_compile[vardepsexclude] = "MACHINE" do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" +# This could be removed in the future but some recipes in meta-oe still use it setuptools3_do_install() { python_pep517_do_install } @@ -30,4 +30,3 @@ setuptools3_do_install() { EXPORT_FUNCTIONS do_configure do_compile do_install export LDSHARED="${CCLD} -shared" -DEPENDS += "python3-setuptools-native python3-wheel-native" diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass index 8372a4574a..bf8ca58b0b 100644 --- a/poky/meta/classes/staging.bbclass +++ b/poky/meta/classes/staging.bbclass @@ -352,7 +352,7 @@ python extend_recipe_sysroot() { #bb.note(" start is %s" % str(start)) # Direct dependencies should be present and can be depended upon - for dep in set(start): + for dep in sorted(set(start)): if setscenedeps[dep][1] == "do_populate_sysroot": if dep not in configuredeps: configuredeps.append(dep) diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index 4ca8118eb2..31ffe1f472 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -134,6 +134,8 @@ concat_dtb_helper() { if [ -n "${UBOOT_CONFIG}" ] then + i=0 + j=0 for config in ${UBOOT_MACHINE}; do i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 0e939aca4f..2a3cf6f8aa 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -386,8 +386,8 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar # General work and output directories for the build system. ################################################################## -TCMODE ?= "default" -TCLIBC ?= "glibc" +TCMODE ??= "default" +TCLIBC ??= "glibc" TMPDIR ?= "${TOPDIR}/tmp" CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}" diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc index 6c19cd293d..993ee2811a 100644 --- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc +++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc @@ -53,6 +53,43 @@ CVE-2015-4778 CVE-2015-4779 CVE-2015-4780 CVE-2015-4781 CVE-2015-4782 CVE-2015-4 CVE-2015-4785 CVE-2015-4786 CVE-2015-4787 CVE-2015-4788 CVE-2015-4789 CVE-2015-4790 CVE-2016-0682 \ CVE-2016-0689 CVE-2016-0692 CVE-2016-0694 CVE-2016-3418 CVE-2020-2981" + +# +# Kernel CVEs, e.g. linux-yocto* +# +# For OE-Core our policy is to stay as close to the kernel stable releases as we can. This should +# ensure the bulk of the major kernel CVEs are fixed and we don't dive into each individual issue +# as the stable maintainers are much more able to do that. +# +# Rather than just ignore all kernel CVEs, list the ones we ignore on this basis here, allowing new +# issues to be visible. If anyone wishes to clean up CPE entries with NIST for these, we'd +# welcome than and then entries can likely be removed from here. +# +# 1999-2010 +CVE_CHECK_IGNORE += "CVE-1999-0524 CVE-1999-0656 CVE-2006-2932 CVE-2007-2764 CVE-2007-4998 CVE-2008-2544 \ + CVE-2008-4609 CVE-2010-0298 CVE-2010-4563" +# 2011-2017 +CVE_CHECK_IGNORE += "CVE-2011-0640 CVE-2014-2648 CVE-2014-8171 CVE-2016-0774 CVE-2016-3695 CVE-2016-3699 \ + CVE-2017-1000255 CVE-2017-1000377 CVE-2017-5897 CVE-2017-6264" +# 2018 +CVE_CHECK_IGNORE += "CVE-2018-1000026 CVE-2018-10840 CVE-2018-10876 CVE-2018-10882 CVE-2018-10901 CVE-2018-10902 \ + CVE-2018-14625 CVE-2018-16880 CVE-2018-16884 CVE-2018-5873 CVE-2018-6559" +# 2019 +CVE_CHECK_IGNORE += "CVE-2019-10126 CVE-2019-14899 CVE-2019-18910 CVE-2019-3016 CVE-2019-3819 CVE-2019-3846 CVE-2019-3887" +# 2020 +CVE_CHECK_IGNORE += "CVE-2020-10732 CVE-2020-10742 CVE-2020-16119 CVE-2020-1749 CVE-2020-25672 CVE-2020-27820 CVE-2020-35501 CVE-2020-8834" +# 2021 +CVE_CHECK_IGNORE += "CVE-2021-20194 CVE-2021-20226 CVE-2021-20265 CVE-2021-3564 CVE-2021-3743 CVE-2021-3847 CVE-2021-4002 \ + CVE-2021-4090 CVE-2021-4095 CVE-2021-4197 CVE-2021-4202 CVE-2021-44879 CVE-2021-45402" +# 2022 +CVE_CHECK_IGNORE += "CVE-2022-0185 CVE-2022-0264 CVE-2022-0286 CVE-2022-0330 CVE-2022-0382 CVE-2022-0433 CVE-2022-0435 \ + CVE-2022-0492 CVE-2022-0494 CVE-2022-0500 CVE-2022-0516 CVE-2022-0617 CVE-2022-0742 CVE-2022-0854 \ + CVE-2022-0995 CVE-2022-0998 CVE-2022-1011 CVE-2022-1015 CVE-2022-1048 CVE-2022-1055 CVE-2022-1195 \ + CVE-2022-1353 CVE-2022-24122 CVE-2022-24448 CVE-2022-24958 CVE-2022-24959 CVE-2022-25258 CVE-2022-25265 \ + CVE-2022-25375 CVE-2022-26490 CVE-2022-26878 CVE-2022-26966 CVE-2022-27223 CVE-2022-27666 CVE-2022-27950 \ + CVE-2022-28356 CVE-2022-28388 CVE-2022-28389 CVE-2022-28390 CVE-2022-28796 CVE-2022-28893 CVE-2022-29156 \ + CVE-2022-29582 CVE-2022-29968" + #### CPE update pending #### # groff:groff-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0803 diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 3990d1d507..6ab2ed9a9f 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -38,7 +38,6 @@ RECIPE_MAINTAINER:pn-alsa-tools = "Michael Opdenacker + +lowerdir=$1 +datamountpoint=$2 +mkdir -p ${datamountpoint}/upper${lowerdir} +mkdir -p ${datamountpoint}/workdir${lowerdir} +if [ -d "$lowerdir" ]; then + chown $(stat -c "%U:%G" ${lowerdir}) ${datamountpoint}/upper${lowerdir} +fi diff --git a/poky/meta/lib/oe/buildcfg.py b/poky/meta/lib/oe/buildcfg.py new file mode 100644 index 0000000000..90f5e05715 --- /dev/null +++ b/poky/meta/lib/oe/buildcfg.py @@ -0,0 +1,49 @@ + +import subprocess +import bb.process + +def detect_revision(d): + path = get_scmbasepath(d) + return get_metadata_git_revision(path, d) + +def detect_branch(d): + path = get_scmbasepath(d) + return get_metadata_git_branch(path, d) + +def get_scmbasepath(d): + return os.path.join(d.getVar('COREBASE'), 'meta') + +def get_metadata_git_branch(path, d): + try: + rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) + except bb.process.ExecutionError: + rev = '' + return rev.strip() + +def get_metadata_git_revision(path, d): + try: + rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) + except bb.process.ExecutionError: + rev = '' + return rev.strip() + +def is_layer_modified(path): + try: + subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e; + git diff --quiet --no-ext-diff + git diff --quiet --no-ext-diff --cached""" % path, + shell=True, + stderr=subprocess.STDOUT) + return "" + except subprocess.CalledProcessError as ex: + # Silently treat errors as "modified", without checking for the + # (expected) return code 1 in a modified git repo. For example, we get + # output and a 129 return code when a layer isn't a git repo at all. + return " -- modified" + +def get_layer_revisions(d): + layers = (d.getVar("BBLAYERS") or "").split() + revisions = [] + for i in layers: + revisions.append((i, os.path.basename(i), get_metadata_git_branch(i, None).strip(), get_metadata_git_revision(i, None), is_layer_modified(i))) + return revisions diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py index dc7d2e2826..aa06497727 100644 --- a/poky/meta/lib/oe/cve_check.py +++ b/poky/meta/lib/oe/cve_check.py @@ -163,3 +163,13 @@ def cve_check_merge_jsons(output, data): return output["package"].append(data["package"][0]) + +def update_symlinks(target_path, link_path): + """ + Update a symbolic link link_path to point to target_path. + Remove the link and recreate it if exist and is different. + """ + if link_path != target_path and os.path.exists(target_path): + if os.path.exists(os.path.realpath(link_path)): + os.remove(link_path) + os.symlink(os.path.basename(target_path), link_path) diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py index 9034fcae03..95b915a6ab 100644 --- a/poky/meta/lib/oe/patch.py +++ b/poky/meta/lib/oe/patch.py @@ -598,6 +598,8 @@ class QuiltTree(PatchSet): def Clean(self): try: + # make sure that patches/series file exists before quilt pop to keep quilt-0.67 happy + open(os.path.join(self.dir, "patches","series"), 'a').close() self._runcmd(["pop", "-a", "-f"]) oe.path.remove(os.path.join(self.dir, "patches","series")) except Exception: diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index 98cf3f244d..9e6b411fb6 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -311,7 +311,7 @@ class Rootfs(object, metaclass=ABCMeta): def _check_for_kernel_modules(self, modules_dir): for root, dirs, files in os.walk(modules_dir, topdown=True): for name in files: - found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz")) + found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz", ".ko.zst")) if found_ko: return found_ko return False @@ -328,7 +328,9 @@ class Rootfs(object, metaclass=ABCMeta): if not os.path.exists(kernel_abi_ver_file): bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file) - kernel_ver = open(kernel_abi_ver_file).read().strip(' \n') + with open(kernel_abi_ver_file) as f: + kernel_ver = f.read().strip(' \n') + versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver) bb.utils.mkdirhier(versioned_modules_dir) diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py index 6d010b3e3a..7deafef6b2 100644 --- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -164,14 +164,14 @@ class ImageFeatures(OESelftestTestCase): """ Summary: Check for chaining many CONVERSION_CMDs together Expected: 1. core-image-minimal can be built with - ext4.bmap.gz.bz2.lzo.xz.u-boot and also create a + ext4.bmap.gz.bz2.zst.xz.u-boot and also create a sha256sum 2. The above image has a valid sha256sum Product: oe-core Author: Tom Rini """ - conv = "ext4.bmap.gz.bz2.lzo.xz.u-boot" + conv = "ext4.bmap.gz.bz2.zst.xz.u-boot" features = 'IMAGE_FSTYPES += "%s %s.sha256sum"' % (conv, conv) self.write_config(features) @@ -201,7 +201,7 @@ class ImageFeatures(OESelftestTestCase): image_name = 'core-image-minimal' all_image_types = set(get_bb_var("IMAGE_TYPES", image_name).split()) - skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst')) + skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst', 'squashfs-lzo')) img_types = all_image_types - skip_image_types config = 'IMAGE_FSTYPES += "%s"\n'\ diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py index baae9b456f..83cbd1345d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py +++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py @@ -70,3 +70,16 @@ TMPDIR = "${TOPDIR}/tmp-mc-tiny" result = bitbake('mc:test:multiconfig-test-parse -c showvar') self.assertIn('MCTESTVAR=test2', result.output.splitlines()) + + def test_multiconfig_inlayer(self): + """ + Test that a multiconfig from meta-selftest works. + """ + + config = """ +BBMULTICONFIG = "muslmc" +""" + self.write_config(config) + + # Build a core-image-minimal, only dry run needed to check config is present + bitbake('mc:muslmc:bash -n') diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py index cd687816c8..bd84f151cb 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py @@ -129,7 +129,8 @@ class OEListPackageconfigTests(OEScriptTests): def check_endlines(self, results, expected_endlines): for line in results.output.splitlines(): for el in expected_endlines: - if line.split() == el.split(): + if line and line.split()[0] == el.split()[0] and \ + ' '.join(sorted(el.split())) in ' '.join(sorted(line.split())): expected_endlines.remove(el) break diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index de74c07a03..53058df226 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/meta/lib/oeqa/selftest/cases/wic.py @@ -853,7 +853,7 @@ class Wic2(WicTestCase): status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) self.assertEqual(output, '4') - cmd = "grep UUID= /etc/fstab" + cmd = "grep UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba /etc/fstab" status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) self.assertEqual(output, 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/media\text4\tdefaults\t0\t0') diff --git a/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch b/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch new file mode 100644 index 0000000000..ec5b285a06 --- /dev/null +++ b/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch @@ -0,0 +1,184 @@ +From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Fri, 28 Jan 2022 12:13:30 +0100 +Subject: [PATCH] efisecdb: fix build with musl libc + +Refactor code to use POSIX atexit(3) instead of the GNU specific +on_exit(3). + +Resolves: #197 +Resolves: #202 +Signed-off-by: Natanael Copa + +Upstream-Status: Backport +https://github.com/rhboot/efivar/commit/cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 + +Signed-off-by: Davide Gardenal +--- + src/compiler.h | 2 -- + src/efisecdb.c | 68 +++++++++++++++++++------------------------------- + 2 files changed, 26 insertions(+), 44 deletions(-) + +diff --git a/src/compiler.h b/src/compiler.h +index e2f18f0b..d95fb014 100644 +--- a/src/compiler.h ++++ b/src/compiler.h +@@ -7,8 +7,6 @@ + #ifndef COMPILER_H_ + #define COMPILER_H_ + +-#include +- + /* GCC version checking borrowed from glibc. */ + #if defined(__GNUC__) && defined(__GNUC_MINOR__) + # define GNUC_PREREQ(maj,min) \ +diff --git a/src/efisecdb.c b/src/efisecdb.c +index f8823737..6bd5ad90 100644 +--- a/src/efisecdb.c ++++ b/src/efisecdb.c +@@ -25,6 +25,10 @@ + extern char *optarg; + extern int optind, opterr, optopt; + ++static efi_secdb_t *secdb = NULL; ++static list_t infiles; ++static list_t actions; ++ + struct hash_param { + char *name; + efi_secdb_type_t algorithm; +@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t action_type, const efi_guid_t *owner, + } + + static void +-free_actions(int status UNUSED, void *actionsp) ++free_actions(void) + { +- list_t *actions = (list_t *)actionsp; + list_t *pos, *tmp; + +- for_each_action_safe(pos, tmp, actions) { ++ for_each_action_safe(pos, tmp, &actions) { + action_t *action = list_entry(pos, action_t, list); + + list_del(&action->list); +@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *actionsp) + } + + static void +-free_infiles(int status UNUSED, void *infilesp) ++free_infiles(void) + { +- list_t *infiles = (list_t *)infilesp; + list_t *pos, *tmp; + +- for_each_ptr_safe(pos, tmp, infiles) { ++ for_each_ptr_safe(pos, tmp, &infiles) { + ptrlist_t *entry = list_entry(pos, ptrlist_t, list); + + list_del(&entry->list); +@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *infilesp) + } + + static void +-maybe_free_secdb(int status UNUSED, void *voidp) ++maybe_free_secdb(void) + { +- efi_secdb_t **secdbp = (efi_secdb_t **)voidp; +- +- if (secdbp == NULL || *secdbp == NULL) ++ if (secdb == NULL) + return; + +- efi_secdb_free(*secdbp); +-} +- +-static void +-maybe_do_unlink(int status, void *filep) +-{ +- char **file = (char **)filep; +- +- if (status == 0) +- return; +- if (file == NULL || *file == NULL) +- return; +- +- unlink(*file); ++ efi_secdb_free(secdb); + } + + static void +@@ -323,15 +310,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, + return status; + } + +-/* +- * These need to be static globals so that they're not on main's stack when +- * on_exit() fires. +- */ +-static efi_secdb_t *secdb = NULL; +-static list_t infiles; +-static list_t actions; +-static char *outfile = NULL; +- + int + main(int argc, char *argv[]) + { +@@ -351,6 +329,7 @@ main(int argc, char *argv[]) + bool do_sort_data = false; + bool sort_descending = false; + int status = 0; ++ char *outfile = NULL; + + const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?"; + const struct option lopts[] = { +@@ -376,10 +355,9 @@ main(int argc, char *argv[]) + INIT_LIST_HEAD(&infiles); + INIT_LIST_HEAD(&actions); + +- on_exit(free_actions, &actions); +- on_exit(free_infiles, &infiles); +- on_exit(maybe_free_secdb, &secdb); +- on_exit(maybe_do_unlink, &outfile); ++ atexit(free_actions); ++ atexit(free_infiles); ++ atexit(maybe_free_secdb); + + /* + * parse the command line. +@@ -587,24 +565,30 @@ main(int argc, char *argv[]) + outfd = open(outfile, flags, 0600); + if (outfd < 0) { + char *tmpoutfile = outfile; +- if (errno == EEXIST) +- outfile = NULL; ++ if (errno != EEXIST) ++ unlink(outfile); + err(1, "could not open \"%s\"", tmpoutfile); + } + + rc = ftruncate(outfd, 0); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + err(1, "could not truncate output file \"%s\"", outfile); ++ } + + void *output; + size_t size = 0; + rc = efi_secdb_realize(secdb, &output, &size); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + secdb_err(1, "could not realize signature list"); ++ } + + rc = write(outfd, output, size); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + err(1, "could not write signature list"); ++ } + + close(outfd); + xfree(output); diff --git a/poky/meta/recipes-bsp/efivar/efivar_38.bb b/poky/meta/recipes-bsp/efivar/efivar_38.bb index 68c4b4b914..53fe20a95b 100644 --- a/poky/meta/recipes-bsp/efivar/efivar_38.bb +++ b/poky/meta/recipes-bsp/efivar/efivar_38.bb @@ -10,6 +10,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \ file://0001-docs-do-not-build-efisecdb-manpage.patch \ file://0001-src-Makefile-build-util.c-separately-for-makeguids.patch \ + file://efisecdb-fix-build-with-musl-libc.patch \ " SRCREV = "1753149d4176ebfb2b135ac0aaf79340bf0e7a93" @@ -36,5 +37,3 @@ BBCLASSEXTEND = "native" RRECOMMENDS:${PN}:class-target = "kernel-module-efivarfs" CLEANBROKEN = "1" -# https://github.com/rhboot/efivar/issues/202 -COMPATIBLE_HOST:libc-musl = 'null' diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb index c746c2a1b8..36d10354ed 100644 --- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb +++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb @@ -20,7 +20,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \ SRC_URI[sha256sum] = "b73b643a0d5697d1f396d7431448e886dd805668789578e3e1a28277c9528435" -COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" +COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux" COMPATIBLE_HOST:armv4 = 'null' do_configure:linux-gnux32:prepend() { diff --git a/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb b/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb index f3a67d97e4..4f57342e1e 100644 --- a/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb +++ b/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb @@ -16,7 +16,7 @@ SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ SRC_URI[sha256sum] = "91edbd0429a84705c9ad156d4ff38ccc724d41ea54c4c5b88e38e996f8a34f05" -inherit multilib_header pkgconfig +inherit multilib_header pkgconfig update-alternatives PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'hwdb', '', d)}" PACKAGECONFIG[hwdb] = "HWDB=yes,HWDB=no,udev" @@ -59,3 +59,6 @@ FILES:libpci = "${libdir}/libpci.so.*" SUMMARY:${PN}-ids = "PCI utilities - device ID database" DESCRIPTION:${PN}-ids = "Package providing the PCI device ID database for pciutils." RDEPENDS:${PN} += "${PN}-ids" + +ALTERNATIVE:${PN} = "lspci" +ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch deleted file mode 100644 index ec1bc7b567..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 15 Oct 2018 16:55:09 +0800 -Subject: [PATCH] avoid start failure with bind user - -Upstream-Status: Pending - -Signed-off-by: Chen Qi ---- - init.d | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/init.d b/init.d -index b2eec60..6e03936 100644 ---- a/init.d -+++ b/init.d -@@ -57,6 +57,7 @@ case "$1" in - modprobe capability >/dev/null 2>&1 || true - if [ ! -f /etc/bind/rndc.key ]; then - /usr/sbin/rndc-confgen -a -b 512 -+ chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true - chmod 0640 /etc/bind/rndc.key - fi - if [ -f /var/run/named/named.pid ]; then --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch deleted file mode 100644 index 4c10f33f04..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4e83392e840fa7b05e778710b8c202d102477a13 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Mon, 27 Aug 2018 21:24:20 +0800 -Subject: [PATCH] `named/lwresd -V' and start log hide build options - -The build options expose build path directories, so hide them. -[snip] -$ named -V -|built by make with *** (options are hidden) -[snip] - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Hongxu Jia - -Refreshed for 9.16.0 -Signed-off-by: Armin Kuster - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index bf20690..c5d330f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par - AC_DEFINE([PACKAGE_DESCRIPTION], [m4_ifnblank(bind_DESCRIPTION, [" ]bind_DESCRIPTION["], [])], [An extra string to print after PACKAGE_STRING]) - AC_DEFINE([PACKAGE_SRCID], ["][bind_SRCID]["], [A short hash from git]) - --bind_CONFIGARGS="${ac_configure_args:-default}" -+bind_CONFIGARGS="(removed for reproducibility)" - AC_DEFINE_UNQUOTED([PACKAGE_CONFIGARGS], ["$bind_CONFIGARGS"], [Either 'defaults' or used ./configure options]) - - AC_DEFINE([PACKAGE_BUILDER], ["make"], [make or Visual Studio]) diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch deleted file mode 100644 index f1abd179e8..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 246087f89e9434b726c7884e4c0964f71084f091 Mon Sep 17 00:00:00 2001 -From: Paul Gortmaker -Date: Tue, 9 Jun 2015 11:22:00 -0400 -Subject: [PATCH] bind: ensure searching for json headers searches sysroot - -Bind can fail configure by detecting headers w/o libs[1], or -it can fail the host contamination check as per below: - -ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. -Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build' -ERROR: Function failed: do_qa_configure -ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242 -ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1' -NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed. -No currently running tasks (773 of 781) - -Summary: 1 task failed: - /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure - -One way to fix it would be to unconditionally disable json in bind -configure[2] but here we fix it by using the path to where we would -put the header if we had json in the sysroot, in case someone wants -to make use of the combination some day. - -[1] https://trac.macports.org/ticket/45305 -[2] https://trac.macports.org/changeset/126406 - -Upstream-Status: Inappropriate [OE Specific] -Signed-off-by: Paul Gortmaker - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 10e8bf6..bf20690 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -814,7 +814,7 @@ AS_CASE([$with_lmdb], - [no],[], - [auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb], - [ac_lib_lmdb_found=yes], -- [for ac_lib_lmdb_path in /usr /usr/local /opt /opt/local; do -+ [for ac_lib_lmdb_path in "${STAGING_INCDIR}"; do - AX_LIB_LMDB([$ac_lib_lmdb_path], - [ac_lib_lmdb_found=yes - break]) diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9 deleted file mode 100644 index 968679ff7f..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9 +++ /dev/null @@ -1,2 +0,0 @@ -# startup options for the server -OPTIONS="-u bind" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch deleted file mode 100644 index aa3642acec..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch +++ /dev/null @@ -1,330 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -the patch is imported from openembedded project - -11/30/2010 - Qing He - -diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0 ---- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,12 @@ -+; -+; BIND reverse data file for broadcast zone -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127 ---- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,13 @@ -+; -+; BIND reverse data file for local loopback interface -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -+1.0.0 IN PTR localhost. -diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty ---- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,14 @@ -+; BIND reverse data file for empty rfc1918 zone -+; -+; DO NOT EDIT THIS FILE - it is used for multiple zones. -+; Instead, copy it, edit named.conf, and use that copy. -+; -+$TTL 86400 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 86400 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255 ---- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,12 @@ -+; -+; BIND reserve data file for broadcast zone -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local ---- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,13 @@ -+; -+; BIND data file for local loopback interface -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -+@ IN A 127.0.0.1 -diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root ---- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,45 @@ -+ -+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. -+;; global options: printcmd -+;; Got answer: -+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944 -+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 -+ -+;; QUESTION SECTION: -+;. IN NS -+ -+;; ANSWER SECTION: -+. 518400 IN NS A.ROOT-SERVERS.NET. -+. 518400 IN NS B.ROOT-SERVERS.NET. -+. 518400 IN NS C.ROOT-SERVERS.NET. -+. 518400 IN NS D.ROOT-SERVERS.NET. -+. 518400 IN NS E.ROOT-SERVERS.NET. -+. 518400 IN NS F.ROOT-SERVERS.NET. -+. 518400 IN NS G.ROOT-SERVERS.NET. -+. 518400 IN NS H.ROOT-SERVERS.NET. -+. 518400 IN NS I.ROOT-SERVERS.NET. -+. 518400 IN NS J.ROOT-SERVERS.NET. -+. 518400 IN NS K.ROOT-SERVERS.NET. -+. 518400 IN NS L.ROOT-SERVERS.NET. -+. 518400 IN NS M.ROOT-SERVERS.NET. -+ -+;; ADDITIONAL SECTION: -+A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 -+B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 -+C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 -+D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 -+E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 -+F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 -+G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 -+H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 -+I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 -+J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 -+K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 -+L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12 -+M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 -+ -+;; Query time: 81 msec -+;; SERVER: 198.41.0.4#53(a.root-servers.net.) -+;; WHEN: Sun Feb 1 11:27:14 2004 -+;; MSG SIZE rcvd: 436 -+ -diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf ---- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200 -@@ -0,0 +1,49 @@ -+// This is the primary configuration file for the BIND DNS server named. -+// -+// If you are just adding zones, please do that in /etc/bind/named.conf.local -+ -+include "/etc/bind/named.conf.options"; -+ -+// prime the server with knowledge of the root servers -+zone "." { -+ type hint; -+ file "/etc/bind/db.root"; -+}; -+ -+// be authoritative for the localhost forward and reverse zones, and for -+// broadcast zones as per RFC 1912 -+ -+zone "localhost" { -+ type master; -+ file "/etc/bind/db.local"; -+}; -+ -+zone "127.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.127"; -+}; -+ -+zone "0.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.0"; -+}; -+ -+zone "255.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.255"; -+}; -+ -+// zone "com" { type delegation-only; }; -+// zone "net" { type delegation-only; }; -+ -+// From the release notes: -+// Because many of our users are uncomfortable receiving undelegated answers -+// from root or top level domains, other than a few for whom that behaviour -+// has been trusted and expected for quite some length of time, we have now -+// introduced the "root-delegations-only" feature which applies delegation-only -+// logic to all top level domains, and to the root domain. An exception list -+// should be specified, including "MUSEUM" and "DE", and any other top level -+// domains from whom undelegated responses are expected and trusted. -+// root-delegation-only exclude { "DE"; "MUSEUM"; }; -+ -+include "/etc/bind/named.conf.local"; -diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local ---- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200 -@@ -0,0 +1,8 @@ -+// -+// Do any local configuration here -+// -+ -+// Consider adding the 1918 zones here, if they are not used in your -+// organization -+//include "/etc/bind/zones.rfc1918"; -+ -diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options ---- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200 -@@ -0,0 +1,24 @@ -+options { -+ directory "/var/cache/bind"; -+ -+ // If there is a firewall between you and nameservers you want -+ // to talk to, you might need to uncomment the query-source -+ // directive below. Previous versions of BIND always asked -+ // questions using port 53, but BIND 8.1 and later use an unprivileged -+ // port by default. -+ -+ // query-source address * port 53; -+ -+ // If your ISP provided one or more IP addresses for stable -+ // nameservers, you probably want to use them as forwarders. -+ // Uncomment the following block, and insert the addresses replacing -+ // the all-0's placeholder. -+ -+ // forwarders { -+ // 0.0.0.0; -+ // }; -+ -+ auth-nxdomain no; # conform to RFC1035 -+ -+}; -+ -diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918 ---- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200 -@@ -0,0 +1,20 @@ -+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+ -+zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+ -+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d ---- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200 -@@ -0,0 +1,70 @@ -+#!/bin/sh -+ -+PATH=/sbin:/bin:/usr/sbin:/usr/bin -+ -+# for a chrooted server: "-u bind -t /var/lib/named" -+# Don't modify this line, change or create /etc/default/bind9. -+OPTIONS="" -+ -+test -f /etc/default/bind9 && . /etc/default/bind9 -+ -+test -x /usr/sbin/rndc || exit 0 -+ -+case "$1" in -+ start) -+ echo -n "Starting domain name service: named" -+ -+ modprobe capability >/dev/null 2>&1 || true -+ if [ ! -f /etc/bind/rndc.key ]; then -+ /usr/sbin/rndc-confgen -a -b 512 -+ chmod 0640 /etc/bind/rndc.key -+ fi -+ if [ -f /var/run/named/named.pid ]; then -+ ps `cat /var/run/named/named.pid` > /dev/null && exit 1 -+ fi -+ -+ # dirs under /var/run can go away on reboots. -+ mkdir -p /var/run/named -+ mkdir -p /var/cache/bind -+ chmod 775 /var/run/named -+ chown root:bind /var/run/named >/dev/null 2>&1 || true -+ -+ if [ ! -x /usr/sbin/named ]; then -+ echo "named binary missing - not starting" -+ exit 1 -+ fi -+ if start-stop-daemon --start --quiet --exec /usr/sbin/named \ -+ --pidfile /var/run/named/named.pid -- $OPTIONS; then -+ if [ -x /sbin/resolvconf ] ; then -+ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo -+ fi -+ fi -+ echo "." -+ ;; -+ -+ stop) -+ echo -n "Stopping domain name service: named" -+ if [ -x /sbin/resolvconf ]; then -+ /sbin/resolvconf -d lo -+ fi -+ /usr/sbin/rndc stop >/dev/null 2>&1 -+ echo "." -+ ;; -+ -+ reload) -+ /usr/sbin/rndc reload -+ ;; -+ -+ restart|force-reload) -+ $0 stop -+ sleep 2 -+ $0 start -+ ;; -+ -+ *) -+ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2 -+ exit 1 -+ ;; -+esac -+ -+exit 0 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh deleted file mode 100644 index 633e29c0e6..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if [ ! -s /etc/bind/rndc.key ]; then - echo -n "Generating /etc/bind/rndc.key:" - /usr/sbin/rndc-confgen -a -b 512 - chown root:bind /etc/bind/rndc.key - chmod 0640 /etc/bind/rndc.key -fi diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch deleted file mode 100644 index 11db95ede1..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch +++ /dev/null @@ -1,65 +0,0 @@ -Subject: init.d: add support for read-only rootfs - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Chen Qi ---- - init.d | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -diff --git a/init.d b/init.d -index 0111ed4..24677c8 100644 ---- a/init.d -+++ b/init.d -@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin - # Don't modify this line, change or create /etc/default/bind9. - OPTIONS="" - -+test -f /etc/default/rcS && . /etc/default/rcS - test -f /etc/default/bind9 && . /etc/default/bind9 - -+# This function is here because it's possible that /var and / are on different partitions. -+is_on_read_only_partition () { -+ DIRECTORY=$1 -+ dir=`readlink -f $DIRECTORY` -+ while true; do -+ if [ ! -d "$dir" ]; then -+ echo "ERROR: $dir is not a directory" -+ exit 1 -+ else -+ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \ -+ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do -+ [ "$flag" = "FOUND" ] && partition="read-write" -+ [ "$flag" = "ro" ] && { partition="read-only"; break; } -+ done -+ if [ "$dir" = "/" -o -n "$partition" ]; then -+ break -+ else -+ dir=`dirname $dir` -+ fi -+ fi -+ done -+ [ "$partition" = "read-only" ] && echo "yes" || echo "no" -+} -+ -+bind_mount () { -+ olddir=$1 -+ newdir=$2 -+ mkdir -p $olddir -+ cp -a $newdir/* $olddir -+ mount --bind $olddir $newdir -+} -+ -+# Deal with read-only rootfs -+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then -+ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs" -+ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind -+ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named -+fi -+ - test -x /usr/sbin/rndc || exit 0 - - case "$1" in --- -1.7.9.5 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch deleted file mode 100644 index 146f3e35db..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch +++ /dev/null @@ -1,42 +0,0 @@ -bind: make "/etc/init.d/bind stop" work - -Upstream-Status: Inappropriate [configuration] - -Add some configurations, make rndc command be able to controls -the named daemon. - -Signed-off-by: Roy Li ---- - conf/named.conf | 5 +++++ - conf/rndc.conf | 5 +++++ - 2 files changed, 10 insertions(+), 0 deletions(-) - create mode 100644 conf/rndc.conf - -diff --git a/conf/named.conf b/conf/named.conf -index 95829cf..c8899e7 100644 ---- a/conf/named.conf -+++ b/conf/named.conf -@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" { - // root-delegation-only exclude { "DE"; "MUSEUM"; }; - - include "/etc/bind/named.conf.local"; -+include "/etc/bind/rndc.key" ; -+controls { -+ inet 127.0.0.1 allow { localhost; } -+ keys { rndc-key; }; -+}; -diff --git a/conf/rndc.conf b/conf/rndc.conf -new file mode 100644 -index 0000000..a0b481d ---- /dev/null -+++ b/conf/rndc.conf -@@ -0,0 +1,5 @@ -+include "/etc/bind/rndc.key"; -+options { -+ default-server localhost; -+ default-key rndc-key; -+}; - --- -1.7.5.4 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service deleted file mode 100644 index cda56ef015..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Berkeley Internet Name Domain (DNS) -Wants=nss-lookup.target -Before=nss-lookup.target -After=network.target - -[Service] -Type=forking -EnvironmentFile=-/etc/default/bind9 -PIDFile=/run/named/named.pid - -ExecStartPre=@SBINDIR@/generate-rndc-key.sh -ExecStart=@SBINDIR@/named $OPTIONS - -ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID' - -ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID' - -PrivateTmp=true - -[Install] -WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch new file mode 100644 index 0000000000..ec1bc7b567 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch @@ -0,0 +1,27 @@ +From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 15 Oct 2018 16:55:09 +0800 +Subject: [PATCH] avoid start failure with bind user + +Upstream-Status: Pending + +Signed-off-by: Chen Qi +--- + init.d | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/init.d b/init.d +index b2eec60..6e03936 100644 +--- a/init.d ++++ b/init.d +@@ -57,6 +57,7 @@ case "$1" in + modprobe capability >/dev/null 2>&1 || true + if [ ! -f /etc/bind/rndc.key ]; then + /usr/sbin/rndc-confgen -a -b 512 ++ chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true + chmod 0640 /etc/bind/rndc.key + fi + if [ -f /var/run/named/named.pid ]; then +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch new file mode 100644 index 0000000000..4c10f33f04 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch @@ -0,0 +1,35 @@ +From 4e83392e840fa7b05e778710b8c202d102477a13 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 27 Aug 2018 21:24:20 +0800 +Subject: [PATCH] `named/lwresd -V' and start log hide build options + +The build options expose build path directories, so hide them. +[snip] +$ named -V +|built by make with *** (options are hidden) +[snip] + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia + +Refreshed for 9.16.0 +Signed-off-by: Armin Kuster + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index bf20690..c5d330f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par + AC_DEFINE([PACKAGE_DESCRIPTION], [m4_ifnblank(bind_DESCRIPTION, [" ]bind_DESCRIPTION["], [])], [An extra string to print after PACKAGE_STRING]) + AC_DEFINE([PACKAGE_SRCID], ["][bind_SRCID]["], [A short hash from git]) + +-bind_CONFIGARGS="${ac_configure_args:-default}" ++bind_CONFIGARGS="(removed for reproducibility)" + AC_DEFINE_UNQUOTED([PACKAGE_CONFIGARGS], ["$bind_CONFIGARGS"], [Either 'defaults' or used ./configure options]) + + AC_DEFINE([PACKAGE_BUILDER], ["make"], [make or Visual Studio]) diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch new file mode 100644 index 0000000000..f1abd179e8 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch @@ -0,0 +1,47 @@ +From 246087f89e9434b726c7884e4c0964f71084f091 Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker +Date: Tue, 9 Jun 2015 11:22:00 -0400 +Subject: [PATCH] bind: ensure searching for json headers searches sysroot + +Bind can fail configure by detecting headers w/o libs[1], or +it can fail the host contamination check as per below: + +ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. +Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build' +ERROR: Function failed: do_qa_configure +ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242 +ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1' +NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed. +No currently running tasks (773 of 781) + +Summary: 1 task failed: + /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure + +One way to fix it would be to unconditionally disable json in bind +configure[2] but here we fix it by using the path to where we would +put the header if we had json in the sysroot, in case someone wants +to make use of the combination some day. + +[1] https://trac.macports.org/ticket/45305 +[2] https://trac.macports.org/changeset/126406 + +Upstream-Status: Inappropriate [OE Specific] +Signed-off-by: Paul Gortmaker + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 10e8bf6..bf20690 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -814,7 +814,7 @@ AS_CASE([$with_lmdb], + [no],[], + [auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb], + [ac_lib_lmdb_found=yes], +- [for ac_lib_lmdb_path in /usr /usr/local /opt /opt/local; do ++ [for ac_lib_lmdb_path in "${STAGING_INCDIR}"; do + AX_LIB_LMDB([$ac_lib_lmdb_path], + [ac_lib_lmdb_found=yes + break]) diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9 new file mode 100644 index 0000000000..968679ff7f --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9 @@ -0,0 +1,2 @@ +# startup options for the server +OPTIONS="-u bind" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch new file mode 100644 index 0000000000..aa3642acec --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch @@ -0,0 +1,330 @@ +Upstream-Status: Inappropriate [configuration] + +the patch is imported from openembedded project + +11/30/2010 - Qing He + +diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0 +--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,12 @@ ++; ++; BIND reverse data file for broadcast zone ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127 +--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,13 @@ ++; ++; BIND reverse data file for local loopback interface ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. ++1.0.0 IN PTR localhost. +diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty +--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,14 @@ ++; BIND reverse data file for empty rfc1918 zone ++; ++; DO NOT EDIT THIS FILE - it is used for multiple zones. ++; Instead, copy it, edit named.conf, and use that copy. ++; ++$TTL 86400 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 86400 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255 +--- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,12 @@ ++; ++; BIND reserve data file for broadcast zone ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local +--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,13 @@ ++; ++; BIND data file for local loopback interface ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. ++@ IN A 127.0.0.1 +diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root +--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,45 @@ ++ ++; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. ++;; global options: printcmd ++;; Got answer: ++;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944 ++;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ++ ++;; QUESTION SECTION: ++;. IN NS ++ ++;; ANSWER SECTION: ++. 518400 IN NS A.ROOT-SERVERS.NET. ++. 518400 IN NS B.ROOT-SERVERS.NET. ++. 518400 IN NS C.ROOT-SERVERS.NET. ++. 518400 IN NS D.ROOT-SERVERS.NET. ++. 518400 IN NS E.ROOT-SERVERS.NET. ++. 518400 IN NS F.ROOT-SERVERS.NET. ++. 518400 IN NS G.ROOT-SERVERS.NET. ++. 518400 IN NS H.ROOT-SERVERS.NET. ++. 518400 IN NS I.ROOT-SERVERS.NET. ++. 518400 IN NS J.ROOT-SERVERS.NET. ++. 518400 IN NS K.ROOT-SERVERS.NET. ++. 518400 IN NS L.ROOT-SERVERS.NET. ++. 518400 IN NS M.ROOT-SERVERS.NET. ++ ++;; ADDITIONAL SECTION: ++A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 ++B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 ++C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 ++D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 ++E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 ++F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 ++G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 ++H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 ++I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 ++J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 ++K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 ++L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12 ++M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 ++ ++;; Query time: 81 msec ++;; SERVER: 198.41.0.4#53(a.root-servers.net.) ++;; WHEN: Sun Feb 1 11:27:14 2004 ++;; MSG SIZE rcvd: 436 ++ +diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf +--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200 +@@ -0,0 +1,49 @@ ++// This is the primary configuration file for the BIND DNS server named. ++// ++// If you are just adding zones, please do that in /etc/bind/named.conf.local ++ ++include "/etc/bind/named.conf.options"; ++ ++// prime the server with knowledge of the root servers ++zone "." { ++ type hint; ++ file "/etc/bind/db.root"; ++}; ++ ++// be authoritative for the localhost forward and reverse zones, and for ++// broadcast zones as per RFC 1912 ++ ++zone "localhost" { ++ type master; ++ file "/etc/bind/db.local"; ++}; ++ ++zone "127.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.127"; ++}; ++ ++zone "0.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.0"; ++}; ++ ++zone "255.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.255"; ++}; ++ ++// zone "com" { type delegation-only; }; ++// zone "net" { type delegation-only; }; ++ ++// From the release notes: ++// Because many of our users are uncomfortable receiving undelegated answers ++// from root or top level domains, other than a few for whom that behaviour ++// has been trusted and expected for quite some length of time, we have now ++// introduced the "root-delegations-only" feature which applies delegation-only ++// logic to all top level domains, and to the root domain. An exception list ++// should be specified, including "MUSEUM" and "DE", and any other top level ++// domains from whom undelegated responses are expected and trusted. ++// root-delegation-only exclude { "DE"; "MUSEUM"; }; ++ ++include "/etc/bind/named.conf.local"; +diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local +--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200 +@@ -0,0 +1,8 @@ ++// ++// Do any local configuration here ++// ++ ++// Consider adding the 1918 zones here, if they are not used in your ++// organization ++//include "/etc/bind/zones.rfc1918"; ++ +diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options +--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200 +@@ -0,0 +1,24 @@ ++options { ++ directory "/var/cache/bind"; ++ ++ // If there is a firewall between you and nameservers you want ++ // to talk to, you might need to uncomment the query-source ++ // directive below. Previous versions of BIND always asked ++ // questions using port 53, but BIND 8.1 and later use an unprivileged ++ // port by default. ++ ++ // query-source address * port 53; ++ ++ // If your ISP provided one or more IP addresses for stable ++ // nameservers, you probably want to use them as forwarders. ++ // Uncomment the following block, and insert the addresses replacing ++ // the all-0's placeholder. ++ ++ // forwarders { ++ // 0.0.0.0; ++ // }; ++ ++ auth-nxdomain no; # conform to RFC1035 ++ ++}; ++ +diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918 +--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200 +@@ -0,0 +1,20 @@ ++zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++ ++zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++ ++zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; +diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d +--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200 +@@ -0,0 +1,70 @@ ++#!/bin/sh ++ ++PATH=/sbin:/bin:/usr/sbin:/usr/bin ++ ++# for a chrooted server: "-u bind -t /var/lib/named" ++# Don't modify this line, change or create /etc/default/bind9. ++OPTIONS="" ++ ++test -f /etc/default/bind9 && . /etc/default/bind9 ++ ++test -x /usr/sbin/rndc || exit 0 ++ ++case "$1" in ++ start) ++ echo -n "Starting domain name service: named" ++ ++ modprobe capability >/dev/null 2>&1 || true ++ if [ ! -f /etc/bind/rndc.key ]; then ++ /usr/sbin/rndc-confgen -a -b 512 ++ chmod 0640 /etc/bind/rndc.key ++ fi ++ if [ -f /var/run/named/named.pid ]; then ++ ps `cat /var/run/named/named.pid` > /dev/null && exit 1 ++ fi ++ ++ # dirs under /var/run can go away on reboots. ++ mkdir -p /var/run/named ++ mkdir -p /var/cache/bind ++ chmod 775 /var/run/named ++ chown root:bind /var/run/named >/dev/null 2>&1 || true ++ ++ if [ ! -x /usr/sbin/named ]; then ++ echo "named binary missing - not starting" ++ exit 1 ++ fi ++ if start-stop-daemon --start --quiet --exec /usr/sbin/named \ ++ --pidfile /var/run/named/named.pid -- $OPTIONS; then ++ if [ -x /sbin/resolvconf ] ; then ++ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo ++ fi ++ fi ++ echo "." ++ ;; ++ ++ stop) ++ echo -n "Stopping domain name service: named" ++ if [ -x /sbin/resolvconf ]; then ++ /sbin/resolvconf -d lo ++ fi ++ /usr/sbin/rndc stop >/dev/null 2>&1 ++ echo "." ++ ;; ++ ++ reload) ++ /usr/sbin/rndc reload ++ ;; ++ ++ restart|force-reload) ++ $0 stop ++ sleep 2 ++ $0 start ++ ;; ++ ++ *) ++ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2 ++ exit 1 ++ ;; ++esac ++ ++exit 0 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh new file mode 100644 index 0000000000..633e29c0e6 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ ! -s /etc/bind/rndc.key ]; then + echo -n "Generating /etc/bind/rndc.key:" + /usr/sbin/rndc-confgen -a -b 512 + chown root:bind /etc/bind/rndc.key + chmod 0640 /etc/bind/rndc.key +fi diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch new file mode 100644 index 0000000000..11db95ede1 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch @@ -0,0 +1,65 @@ +Subject: init.d: add support for read-only rootfs + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Chen Qi +--- + init.d | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +diff --git a/init.d b/init.d +index 0111ed4..24677c8 100644 +--- a/init.d ++++ b/init.d +@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin + # Don't modify this line, change or create /etc/default/bind9. + OPTIONS="" + ++test -f /etc/default/rcS && . /etc/default/rcS + test -f /etc/default/bind9 && . /etc/default/bind9 + ++# This function is here because it's possible that /var and / are on different partitions. ++is_on_read_only_partition () { ++ DIRECTORY=$1 ++ dir=`readlink -f $DIRECTORY` ++ while true; do ++ if [ ! -d "$dir" ]; then ++ echo "ERROR: $dir is not a directory" ++ exit 1 ++ else ++ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \ ++ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do ++ [ "$flag" = "FOUND" ] && partition="read-write" ++ [ "$flag" = "ro" ] && { partition="read-only"; break; } ++ done ++ if [ "$dir" = "/" -o -n "$partition" ]; then ++ break ++ else ++ dir=`dirname $dir` ++ fi ++ fi ++ done ++ [ "$partition" = "read-only" ] && echo "yes" || echo "no" ++} ++ ++bind_mount () { ++ olddir=$1 ++ newdir=$2 ++ mkdir -p $olddir ++ cp -a $newdir/* $olddir ++ mount --bind $olddir $newdir ++} ++ ++# Deal with read-only rootfs ++if [ "$ROOTFS_READ_ONLY" = "yes" ]; then ++ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs" ++ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind ++ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named ++fi ++ + test -x /usr/sbin/rndc || exit 0 + + case "$1" in +-- +1.7.9.5 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch new file mode 100644 index 0000000000..146f3e35db --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch @@ -0,0 +1,42 @@ +bind: make "/etc/init.d/bind stop" work + +Upstream-Status: Inappropriate [configuration] + +Add some configurations, make rndc command be able to controls +the named daemon. + +Signed-off-by: Roy Li +--- + conf/named.conf | 5 +++++ + conf/rndc.conf | 5 +++++ + 2 files changed, 10 insertions(+), 0 deletions(-) + create mode 100644 conf/rndc.conf + +diff --git a/conf/named.conf b/conf/named.conf +index 95829cf..c8899e7 100644 +--- a/conf/named.conf ++++ b/conf/named.conf +@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" { + // root-delegation-only exclude { "DE"; "MUSEUM"; }; + + include "/etc/bind/named.conf.local"; ++include "/etc/bind/rndc.key" ; ++controls { ++ inet 127.0.0.1 allow { localhost; } ++ keys { rndc-key; }; ++}; +diff --git a/conf/rndc.conf b/conf/rndc.conf +new file mode 100644 +index 0000000..a0b481d +--- /dev/null ++++ b/conf/rndc.conf +@@ -0,0 +1,5 @@ ++include "/etc/bind/rndc.key"; ++options { ++ default-server localhost; ++ default-key rndc-key; ++}; + +-- +1.7.5.4 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service new file mode 100644 index 0000000000..cda56ef015 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service @@ -0,0 +1,22 @@ +[Unit] +Description=Berkeley Internet Name Domain (DNS) +Wants=nss-lookup.target +Before=nss-lookup.target +After=network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/default/bind9 +PIDFile=/run/named/named.pid + +ExecStartPre=@SBINDIR@/generate-rndc-key.sh +ExecStart=@SBINDIR@/named $OPTIONS + +ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID' + +ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID' + +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.2.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.2.bb deleted file mode 100644 index 1c77aceb9f..0000000000 --- a/poky/meta/recipes-connectivity/bind/bind_9.18.2.bb +++ /dev/null @@ -1,127 +0,0 @@ -SUMMARY = "ISC Internet Domain Name Server" -HOMEPAGE = "https://www.isc.org/bind/" -DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system" -SECTION = "console/network" - -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9a4a897f202c0710e07f2f2836bc2b62" - -DEPENDS = "openssl libcap zlib libuv" - -SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ - file://conf.patch \ - file://named.service \ - file://bind9 \ - file://generate-rndc-key.sh \ - file://make-etc-initd-bind-stop-work.patch \ - file://init.d-add-support-for-read-only-rootfs.patch \ - file://bind-ensure-searching-for-json-headers-searches-sysr.patch \ - file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \ - file://0001-avoid-start-failure-with-bind-user.patch \ - " - -SRC_URI[sha256sum] = "2e4b38779bba0a23ee634fdf7c525fd9794c41d692bfd83cda25823a2a3ed969" - -UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" -# follow the ESV versions divisible by 2 -UPSTREAM_CHECK_REGEX = "(?P9.(\d*[02468])+(\.\d+)+(-P\d+)*)/" - -# Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore -# so the issue doesn't affect us. -CVE_CHECK_IGNORE += "CVE-2019-6470" - -inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives - -# PACKAGECONFIGs readline and libedit should NOT be set at same time -PACKAGECONFIG ?= "readline" -PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2" -PACKAGECONFIG[readline] = "--with-readline=readline,,readline" -PACKAGECONFIG[libedit] = "--with-readline=libedit,,libedit" -PACKAGECONFIG[dns-over-http] = "--enable-doh,--disable-doh,nghttp2" - -EXTRA_OECONF = " --disable-devpoll --disable-auto-validation --enable-epoll \ - --with-gssapi=no --with-lmdb=no --with-zlib \ - --sysconfdir=${sysconfdir}/bind \ - --with-openssl=${STAGING_DIR_HOST}${prefix} \ - " -LDFLAGS:append = " -lz" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native setuptools3-base', '', d)} - -# dhcp needs .la so keep them -REMOVE_LIBTOOL_LA = "0" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \ - --user-group bind" - -INITSCRIPT_NAME = "bind" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE:${PN} = "named.service" - -do_install:append() { - - install -d -o bind "${D}${localstatedir}/cache/bind" - install -d "${D}${sysconfdir}/bind" - install -d "${D}${sysconfdir}/init.d" - install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/" - install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind" - if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then - sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \ - ${D}${sbindir}/dnssec-coverage \ - ${D}${sbindir}/dnssec-checkds \ - ${D}${sbindir}/dnssec-keymgr - fi - - # Install systemd related files - install -d ${D}${sbindir} - install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir} - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_system_unitdir}/named.service - - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf - fi -} - -CONFFILES:${PN} = " \ - ${sysconfdir}/bind/named.conf \ - ${sysconfdir}/bind/named.conf.local \ - ${sysconfdir}/bind/named.conf.options \ - ${sysconfdir}/bind/db.0 \ - ${sysconfdir}/bind/db.127 \ - ${sysconfdir}/bind/db.empty \ - ${sysconfdir}/bind/db.local \ - ${sysconfdir}/bind/db.root \ - " - -ALTERNATIVE:${PN}-utils = "nslookup" -ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup" -ALTERNATIVE_PRIORITY = "100" - -PACKAGE_BEFORE_PN += "${PN}-utils" -FILES:${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate" -FILES:${PN}-dev += "${bindir}/isc-config.h" -FILES:${PN} += "${sbindir}/generate-rndc-key.sh" - -PACKAGE_BEFORE_PN += "${PN}-libs" -# special arrangement below due to -# https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88 -FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so" -FILES:${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so" -FILES:${PN}-staticdev += "${libdir}/*.la" - -PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}" -FILES:python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \ - ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}" - -RDEPENDS:${PN}-dev = "" -RDEPENDS:python3-bind = "python3-core python3-ply" diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.3.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.3.bb new file mode 100644 index 0000000000..b511b77f2e --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind_9.18.3.bb @@ -0,0 +1,127 @@ +SUMMARY = "ISC Internet Domain Name Server" +HOMEPAGE = "https://www.isc.org/bind/" +DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system" +SECTION = "console/network" + +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9a4a897f202c0710e07f2f2836bc2b62" + +DEPENDS = "openssl libcap zlib libuv" + +SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ + file://conf.patch \ + file://named.service \ + file://bind9 \ + file://generate-rndc-key.sh \ + file://make-etc-initd-bind-stop-work.patch \ + file://init.d-add-support-for-read-only-rootfs.patch \ + file://bind-ensure-searching-for-json-headers-searches-sysr.patch \ + file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \ + file://0001-avoid-start-failure-with-bind-user.patch \ + " + +SRC_URI[sha256sum] = "0ad8da773bd93cba0ef66cc81999698ebdf9c3e51faed5e5c8c1eb75cad2ae6f" + +UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" +# follow the ESV versions divisible by 2 +UPSTREAM_CHECK_REGEX = "(?P9.(\d*[02468])+(\.\d+)+(-P\d+)*)/" + +# Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore +# so the issue doesn't affect us. +CVE_CHECK_IGNORE += "CVE-2019-6470" + +inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives + +# PACKAGECONFIGs readline and libedit should NOT be set at same time +PACKAGECONFIG ?= "readline" +PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2" +PACKAGECONFIG[readline] = "--with-readline=readline,,readline" +PACKAGECONFIG[libedit] = "--with-readline=libedit,,libedit" +PACKAGECONFIG[dns-over-http] = "--enable-doh,--disable-doh,nghttp2" + +EXTRA_OECONF = " --disable-devpoll --disable-auto-validation --enable-epoll \ + --with-gssapi=no --with-lmdb=no --with-zlib \ + --sysconfdir=${sysconfdir}/bind \ + --with-openssl=${STAGING_DIR_HOST}${prefix} \ + " +LDFLAGS:append = " -lz" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native setuptools3-base', '', d)} + +# dhcp needs .la so keep them +REMOVE_LIBTOOL_LA = "0" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \ + --user-group bind" + +INITSCRIPT_NAME = "bind" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE:${PN} = "named.service" + +do_install:append() { + + install -d -o bind "${D}${localstatedir}/cache/bind" + install -d "${D}${sysconfdir}/bind" + install -d "${D}${sysconfdir}/init.d" + install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/" + install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind" + if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then + sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \ + ${D}${sbindir}/dnssec-coverage \ + ${D}${sbindir}/dnssec-checkds \ + ${D}${sbindir}/dnssec-keymgr + fi + + # Install systemd related files + install -d ${D}${sbindir} + install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir} + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_system_unitdir}/named.service + + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf + fi +} + +CONFFILES:${PN} = " \ + ${sysconfdir}/bind/named.conf \ + ${sysconfdir}/bind/named.conf.local \ + ${sysconfdir}/bind/named.conf.options \ + ${sysconfdir}/bind/db.0 \ + ${sysconfdir}/bind/db.127 \ + ${sysconfdir}/bind/db.empty \ + ${sysconfdir}/bind/db.local \ + ${sysconfdir}/bind/db.root \ + " + +ALTERNATIVE:${PN}-utils = "nslookup" +ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup" +ALTERNATIVE_PRIORITY = "100" + +PACKAGE_BEFORE_PN += "${PN}-utils" +FILES:${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate" +FILES:${PN}-dev += "${bindir}/isc-config.h" +FILES:${PN} += "${sbindir}/generate-rndc-key.sh" + +PACKAGE_BEFORE_PN += "${PN}-libs" +# special arrangement below due to +# https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88 +FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so" +FILES:${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so" +FILES:${PN}-staticdev += "${libdir}/*.la" + +PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}" +FILES:python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \ + ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}" + +RDEPENDS:${PN}-dev = "" +RDEPENDS:python3-bind = "python3-core python3-ply" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb deleted file mode 100644 index becbaa9190..0000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require iproute2.inc - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ - file://0001-libc-compat.h-add-musl-workaround.patch \ - " - -SRC_URI[sha256sum] = "6e384f1b42c75e1a9daac57866da37dcff909090ba86eb25a6e764da7893660e" - -# CFLAGS are computed in Makefile and reference CCOPTS -# -EXTRA_OEMAKE:append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb new file mode 100644 index 0000000000..3e01c70801 --- /dev/null +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb @@ -0,0 +1,11 @@ +require iproute2.inc + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ + file://0001-libc-compat.h-add-musl-workaround.patch \ + " + +SRC_URI[sha256sum] = "5ba3d464d51c8c283550d507ffac3d10f7aec587b7c66b0ccb6950643646389e" + +# CFLAGS are computed in Makefile and reference CCOPTS +# +EXTRA_OEMAKE:append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/iw/iw_5.16.bb b/poky/meta/recipes-connectivity/iw/iw_5.16.bb deleted file mode 100644 index cf176a349f..0000000000 --- a/poky/meta/recipes-connectivity/iw/iw_5.16.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "nl80211 based CLI configuration utility for wireless devices" -DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \ -wireless devices. It supports almost all new drivers that have been added \ -to the kernel recently. " -HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw" -SECTION = "base" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" - -DEPENDS = "libnl" - -SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ - file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \ - file://separate-objdir.patch \ -" - -SRC_URI[sha256sum] = "9c91f2560b258d9660e656ad37fa5bd100ac255865dcfb26076a576b10d8f3a7" - -inherit pkgconfig - -EXTRA_OEMAKE = "\ - -f '${S}/Makefile' \ - \ - 'PREFIX=${prefix}' \ - 'SBINDIR=${sbindir}' \ - 'MANDIR=${mandir}' \ -" - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} diff --git a/poky/meta/recipes-connectivity/iw/iw_5.19.bb b/poky/meta/recipes-connectivity/iw/iw_5.19.bb new file mode 100644 index 0000000000..a19ae304d5 --- /dev/null +++ b/poky/meta/recipes-connectivity/iw/iw_5.19.bb @@ -0,0 +1,31 @@ +SUMMARY = "nl80211 based CLI configuration utility for wireless devices" +DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \ +wireless devices. It supports almost all new drivers that have been added \ +to the kernel recently. " +HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw" +SECTION = "base" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" + +DEPENDS = "libnl" + +SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ + file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \ + file://separate-objdir.patch \ +" + +SRC_URI[sha256sum] = "2a44676d28a87bbc232903d5d573e7618e4fae0cea3a1aff067a26fa66652b75" + +inherit pkgconfig + +EXTRA_OEMAKE = "\ + -f '${S}/Makefile' \ + \ + 'PREFIX=${prefix}' \ + 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' \ +" + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} diff --git a/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch b/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch new file mode 100644 index 0000000000..0249d4181b --- /dev/null +++ b/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch @@ -0,0 +1,55 @@ +From 770aea88c3888cc5cb3ebc94ffcef706c68bc1d2 Mon Sep 17 00:00:00 2001 +From: Tomas Mraz +Date: Wed, 1 Jun 2022 12:06:33 +0200 +Subject: [PATCH] Update expired SCT issuer certificate + +Fixes #15179 + +Reviewed-by: Matt Caswell +Reviewed-by: Dmitry Belyavskiy +(Merged from https://github.com/openssl/openssl/pull/18444) + +Upstream-Status: Backport +[Fixes ptest failures in OE-Core] +--- + test/certs/embeddedSCTs1_issuer.pem | 30 ++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/test/certs/embeddedSCTs1_issuer.pem b/test/certs/embeddedSCTs1_issuer.pem +index 1fa449d5a098..6aa9455f09ed 100644 +--- a/test/certs/embeddedSCTs1_issuer.pem ++++ b/test/certs/embeddedSCTs1_issuer.pem +@@ -1,18 +1,18 @@ + -----BEGIN CERTIFICATE----- +-MIIC0DCCAjmgAwIBAgIBADANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJHQjEk ++MIIC0jCCAjugAwIBAgIBADANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJHQjEk + MCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENBMQ4wDAYDVQQIEwVX +-YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAeFw0xMjA2MDEwMDAwMDBaFw0yMjA2MDEw +-MDAwMDBaMFUxCzAJBgNVBAYTAkdCMSQwIgYDVQQKExtDZXJ0aWZpY2F0ZSBUcmFu +-c3BhcmVuY3kgQ0ExDjAMBgNVBAgTBVdhbGVzMRAwDgYDVQQHEwdFcncgV2VuMIGf +-MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVimhTYhCicRmTbneDIRgcKkATxtB7 +-jHbrkVfT0PtLO1FuzsvRyY2RxS90P6tjXVUJnNE6uvMa5UFEJFGnTHgW8iQ8+EjP +-KDHM5nugSlojgZ88ujfmJNnDvbKZuDnd/iYx0ss6hPx7srXFL8/BT/9Ab1zURmnL +-svfP34b7arnRsQIDAQABo4GvMIGsMB0GA1UdDgQWBBRfnYgNyHPmVNT4DdjmsMEk +-tEfDVTB9BgNVHSMEdjB0gBRfnYgNyHPmVNT4DdjmsMEktEfDVaFZpFcwVTELMAkG +-A1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRyYW5zcGFyZW5jeSBDQTEO +-MAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW6CAQAwDAYDVR0TBAUwAwEB +-/zANBgkqhkiG9w0BAQUFAAOBgQAGCMxKbWTyIF4UbASydvkrDvqUpdryOvw4BmBt +-OZDQoeojPUApV2lGOwRmYef6HReZFSCa6i4Kd1F2QRIn18ADB8dHDmFYT9czQiRy +-f1HWkLxHqd81TbD26yWVXeGJPE3VICskovPkQNJ0tU4b03YmnKliibduyqQQkOFP +-OwqULg== ++YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAgFw0yMjA2MDExMDM4MDJaGA8yMTIyMDUw ++ODEwMzgwMlowVTELMAkGA1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRy ++YW5zcGFyZW5jeSBDQTEOMAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW4w ++gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANWKaFNiEKJxGZNud4MhGBwqQBPG ++0HuMduuRV9PQ+0s7UW7Oy9HJjZHFL3Q/q2NdVQmc0Tq68xrlQUQkUadMeBbyJDz4 ++SM8oMczme6BKWiOBnzy6N+Yk2cO9spm4Od3+JjHSyzqE/HuytcUvz8FP/0BvXNRG ++acuy98/fhvtqudGxAgMBAAGjga8wgawwHQYDVR0OBBYEFF+diA3Ic+ZU1PgN2Oaw ++wSS0R8NVMH0GA1UdIwR2MHSAFF+diA3Ic+ZU1PgN2OawwSS0R8NVoVmkVzBVMQsw ++CQYDVQQGEwJHQjEkMCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENB ++MQ4wDAYDVQQIEwVXYWxlczEQMA4GA1UEBxMHRXJ3IFdlboIBADAMBgNVHRMEBTAD ++AQH/MA0GCSqGSIb3DQEBCwUAA4GBAD0aYh9OkFYfXV7kBfhrtD0PJG2U47OV/1qq +++uFpqB0S1WO06eJT0pzYf1ebUcxjBkajbJZm/FHT85VthZ1lFHsky87aFD8XlJCo ++2IOhKOkvvWKPUdFLoO/ZVXqEVKkcsS1eXK1glFvb07eJZya3JVG0KdMhV2YoDg6c ++Doud4XrO + -----END CERTIFICATE----- diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb index fd88ae807d..35a62755ad 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb @@ -12,6 +12,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ file://afalg.patch \ file://0001-Configure-do-not-tweak-mips-cflags.patch \ + file://770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch \ " SRC_URI:append:class-nativesdk = " \ diff --git a/poky/meta/recipes-core/dbus/dbus_1.14.0.bb b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb index 7598c45f8e..0046b9fda2 100644 --- a/poky/meta/recipes-core/dbus/dbus_1.14.0.bb +++ b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb @@ -24,6 +24,7 @@ EXTRA_OECONF = "--disable-xml-docs \ --enable-tests \ --enable-checks \ --enable-asserts \ + --runstatedir=/run \ " EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl" @@ -131,7 +132,7 @@ do_install() { sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 install -d ${D}${sysconfdir}/default/volatiles - echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \ + echo "d messagebus messagebus 0755 /run/dbus none" \ > ${D}${sysconfdir}/default/volatiles/99_dbus fi diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index 816b790ce7..fb50fff6a5 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From d52b1b530c5d8a1e70ae45d6e2139e9d3f25207f Mon Sep 17 00:00:00 2001 +From a30eb17c20e070124b55523d86729348f2929f95 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb deleted file mode 100644 index c9ccedd81f..0000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb +++ /dev/null @@ -1,53 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://run-ptest \ - file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ - file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ - file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ - file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ - " -SRC_URI:append:class-native = " file://relocate-modules.patch" - -SRC_URI[sha256sum] = "c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2" - -# Find any meson cross files in FILESPATH that are relevant for the current -# build (using siteinfo) and add them to EXTRA_OEMESON. -inherit siteinfo -def find_meson_cross_files(d): - if bb.data.inherits_class('native', d): - return "" - - thisdir = os.path.normpath(d.getVar("THISDIR")) - import collections - sitedata = siteinfo_data(d) - # filename -> found - files = collections.OrderedDict() - for path in d.getVar("FILESPATH").split(":"): - for element in sitedata: - filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) - sanitized_path = filename.replace(thisdir, "${THISDIR}") - if sanitized_path == filename: - if os.path.exists(filename): - bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) - continue - files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) - - items = ["--cross-file=" + k for k,v in files.items() if v] - d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) - items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] - d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) - -python () { - find_meson_cross_files(d) -} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb new file mode 100644 index 0000000000..c4a8a4b8ad --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb @@ -0,0 +1,53 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ + file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + " +SRC_URI:append:class-native = " file://relocate-modules.patch" + +SRC_URI[sha256sum] = "78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de" + +# Find any meson cross files in FILESPATH that are relevant for the current +# build (using siteinfo) and add them to EXTRA_OEMESON. +inherit siteinfo +def find_meson_cross_files(d): + if bb.data.inherits_class('native', d): + return "" + + thisdir = os.path.normpath(d.getVar("THISDIR")) + import collections + sitedata = siteinfo_data(d) + # filename -> found + files = collections.OrderedDict() + for path in d.getVar("FILESPATH").split(":"): + for element in sitedata: + filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) + sanitized_path = filename.replace(thisdir, "${THISDIR}") + if sanitized_path == filename: + if os.path.exists(filename): + bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) + continue + files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) + + items = ["--cross-file=" + k for k,v in files.items() if v] + d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) + items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] + d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) + +python () { + find_meson_cross_files(d) +} diff --git a/poky/meta/recipes-core/glibc/glibc_2.35.bb b/poky/meta/recipes-core/glibc/glibc_2.35.bb index 6ea5b1efb5..96fe39c548 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.35.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.35.bb @@ -16,7 +16,7 @@ CVE_CHECK_IGNORE += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" # Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 CVE_CHECK_IGNORE += "CVE-2019-1010025" -DEPENDS += "gperf-native bison-native make-native" +DEPENDS += "gperf-native bison-native" NATIVESDKFIXES ?= "" NATIVESDKFIXES:class-nativesdk = "\ diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb deleted file mode 100644 index d5c05ff8e5..0000000000 --- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "helper tools for all init systems" -DESCRIPTION = "This package contains helper tools that are necessary for switching between \ -the various init systems that Debian contains (e. g. sysvinit or \ -systemd). An example is deb-systemd-helper, a script that enables systemd unit \ -files without depending on a running systemd. \ -\ -It also includes the \"service\", \"invoke-rc.d\", and \"update-rc.d\" scripts which \ -provide an abstraction for enabling, disabling, starting, and stopping \ -services for all supported Debian init systems as specified by the policy. \ -\ -While this package is maintained by pkg-systemd-maintainers, it is NOT \ -specific to systemd at all. Maintainers of other init systems are welcome to \ -include their helpers in this package." -HOMEPAGE = "https://salsa.debian.org/debian/init-system-helpers" -SECTION = "base" -LICENSE = "BSD-3-Clause & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072" - -SRCREV = "bbe4b508f3216cdc124683ba449e2295974a6b4a" -SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" - -S = "${WORKDIR}/git" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - install -d -m 0755 ${D}${sbindir} - install -m 0755 ${S}/script/invoke-rc.d ${D}${sbindir} - install -m 0755 ${S}/script/service ${D}${sbindir} -} - -PACKAGES += "${PN}-invoke-rc.d ${PN}-service" - -FILES:${PN} = "" -FILES:${PN}-invoke-rc.d = "${sbindir}/invoke-rc.d" -FILES:${PN}-service = "${sbindir}/service" - -ALLOW_EMPTY:${PN} = "1" - -RRECOMMENDS:${PN} += "${PN}-invoke-rc.d ${PN}-service" diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb new file mode 100644 index 0000000000..1251ddf639 --- /dev/null +++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb @@ -0,0 +1,41 @@ +SUMMARY = "helper tools for all init systems" +DESCRIPTION = "This package contains helper tools that are necessary for switching between \ +the various init systems that Debian contains (e. g. sysvinit or \ +systemd). An example is deb-systemd-helper, a script that enables systemd unit \ +files without depending on a running systemd. \ +\ +It also includes the \"service\", \"invoke-rc.d\", and \"update-rc.d\" scripts which \ +provide an abstraction for enabling, disabling, starting, and stopping \ +services for all supported Debian init systems as specified by the policy. \ +\ +While this package is maintained by pkg-systemd-maintainers, it is NOT \ +specific to systemd at all. Maintainers of other init systems are welcome to \ +include their helpers in this package." +HOMEPAGE = "https://salsa.debian.org/debian/init-system-helpers" +SECTION = "base" +LICENSE = "BSD-3-Clause & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072" + +SRCREV = "af94bae943a80954af7fd486c1cab3f900e0975f" +SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d -m 0755 ${D}${sbindir} + install -m 0755 ${S}/script/invoke-rc.d ${D}${sbindir} + install -m 0755 ${S}/script/service ${D}${sbindir} +} + +PACKAGES += "${PN}-invoke-rc.d ${PN}-service" + +FILES:${PN} = "" +FILES:${PN}-invoke-rc.d = "${sbindir}/invoke-rc.d" +FILES:${PN}-service = "${sbindir}/service" + +ALLOW_EMPTY:${PN} = "1" + +RRECOMMENDS:${PN} += "${PN}-invoke-rc.d ${PN}-service" diff --git a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb b/poky/meta/recipes-core/kbd/kbd_2.4.0.bb deleted file mode 100644 index 4b23f1a89d..0000000000 --- a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Keytable files and keyboard utilities" -HOMEPAGE = "http://www.kbd-project.org/" -DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps." -# everything minus console-fonts is GPL-2.0-or-later -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" - -inherit autotools gettext pkgconfig - -DEPENDS += "flex-native" - -RREPLACES:${PN} = "console-tools" -RPROVIDES:${PN} = "console-tools" -RCONFLICTS:${PN} = "console-tools" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \ - " - -SRC_URI[sha256sum] = "55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ - " - -PACKAGECONFIG[pam] = "--enable-vlock, --disable-vlock, libpam," - -PACKAGES += "${PN}-consolefonts ${PN}-keymaps ${PN}-unimaps ${PN}-consoletrans" - -FILES:${PN}-consolefonts = "${datadir}/consolefonts" -FILES:${PN}-consoletrans = "${datadir}/consoletrans" -FILES:${PN}-keymaps = "${datadir}/keymaps" -FILES:${PN}-unimaps = "${datadir}/unimaps" - -do_install:append () { - if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)}" = "yes" ] \ - && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then - mv -f ${D}${sysconfdir}/pam.d/vlock ${D}${sysconfdir}/pam.d/vlock.kbd - fi -} - -inherit update-alternatives - -ALTERNATIVE:${PN} = "chvt deallocvt fgconsole openvt showkey \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'vlock','', d)}" -ALTERNATIVE_PRIORITY = "100" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-core/kbd/kbd_2.5.0.bb b/poky/meta/recipes-core/kbd/kbd_2.5.0.bb new file mode 100644 index 0000000000..c0317a5d84 --- /dev/null +++ b/poky/meta/recipes-core/kbd/kbd_2.5.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Keytable files and keyboard utilities" +HOMEPAGE = "http://www.kbd-project.org/" +DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps." +# everything minus console-fonts is GPL-2.0-or-later +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit autotools gettext pkgconfig + +DEPENDS += "flex-native" + +RREPLACES:${PN} = "console-tools" +RPROVIDES:${PN} = "console-tools" +RCONFLICTS:${PN} = "console-tools" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \ + " + +SRC_URI[sha256sum] = "ad95964a4dede55f9239dd63b455fa4498cf3db3a0075ccd1d65a9f0e622a0fd" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ + " + +PACKAGECONFIG[pam] = "--enable-vlock, --disable-vlock, libpam," + +PACKAGES += "${PN}-consolefonts ${PN}-keymaps ${PN}-unimaps ${PN}-consoletrans" + +FILES:${PN}-consolefonts = "${datadir}/consolefonts" +FILES:${PN}-consoletrans = "${datadir}/consoletrans" +FILES:${PN}-keymaps = "${datadir}/keymaps" +FILES:${PN}-unimaps = "${datadir}/unimaps" + +do_install:append () { + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)}" = "yes" ] \ + && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then + mv -f ${D}${sysconfdir}/pam.d/vlock ${D}${sysconfdir}/pam.d/vlock.kbd + fi +} + +inherit update-alternatives + +ALTERNATIVE:${PN} = "chvt deallocvt fgconsole openvt showkey \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'vlock','', d)}" +ALTERNATIVE_PRIORITY = "100" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb index c8c1cbf115..18af89b53e 100644 --- a/poky/meta/recipes-core/meta/cve-update-db-native.bb +++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb @@ -15,6 +15,7 @@ deltask do_populate_sysroot NVDCVE_URL ?= "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-" # CVE database update interval, in seconds. By default: once a day (24*60*60). # Use 0 to force the update +# Use a negative value to skip the update CVE_DB_UPDATE_INTERVAL ?= "86400" python () { @@ -51,8 +52,9 @@ python do_fetch() { try: import time update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL")) - if (update_interval < 0): - update_interval = 0 + if update_interval < 0: + bb.note("CVE database update skipped") + return if time.time() - os.path.getmtime(db_file) < update_interval: bb.debug(2, "Recently updated, skipping") return diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch deleted file mode 100644 index 23366b4d07..0000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b0a0b7b605aeb8106e7b50d1efeb746f401498cc Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Thu, 24 Mar 2022 20:04:35 +0800 -Subject: [PATCH] BaseTools: fix gcc12 warning - -Sdk/C/LzmaEnc.c: In function ?LzmaEnc_CodeOneMemBlock?: -Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*p.rc.outStream? [-Werror=dangling-pointer=] - 2828 | p->rc.outStream = &outStream.vt; - | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here - 2811 | CLzmaEnc_SeqOutStreamBuf outStream; - | ^~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here -Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*(CLzmaEnc *)pp.rc.outStream? [-Werror=dangling-pointer=] - 2828 | p->rc.outStream = &outStream.vt; - | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here - 2811 | CLzmaEnc_SeqOutStreamBuf outStream; - | ^~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here -cc1: all warnings being treated as errors - -Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/85021f8cf22d1bd4114803c6c610dea5ef0059f1] -Signed-off-by: Gerd Hoffmann -Reviewed-by: Bob Feng ---- - BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -index 4e9b499f8d..4b9f5fa692 100644 ---- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -@@ -2825,12 +2825,13 @@ SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit, - - nowPos64 = p->nowPos64; - RangeEnc_Init(&p->rc); -- p->rc.outStream = &outStream.vt; - - if (desiredPackSize == 0) - return SZ_ERROR_OUTPUT_EOF; - -+ p->rc.outStream = &outStream.vt; - res = LzmaEnc_CodeOneBlock(p, desiredPackSize, *unpackSize); -+ p->rc.outStream = NULL; - - *unpackSize = (UInt32)(p->nowPos64 - nowPos64); - *destLen -= outStream.rem; --- -2.36.1 - diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch deleted file mode 100644 index 91c01647db..0000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 2435c17e56652479315853cec5b91fb0ea0911a3 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Thu, 24 Mar 2022 20:04:34 +0800 -Subject: [PATCH] BaseTools: fix gcc12 warning - -GenFfs.c:545:5: error: pointer ?InFileHandle? used after ?fclose? [-Werror=use-after-free] - 545 | Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -GenFfs.c:544:5: note: call to ?fclose? here - 544 | fclose (InFileHandle); - | ^~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/7b005f344e533cd913c3ca05b266f9872df886d1] -Signed-off-by: Gerd Hoffmann -Reviewed-by: Bob Feng ---- - BaseTools/Source/C/GenFfs/GenFfs.c | 2 +- - BaseTools/Source/C/GenSec/GenSec.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c -index 949025c333..d78d62ab36 100644 ---- a/BaseTools/Source/C/GenFfs/GenFfs.c -+++ b/BaseTools/Source/C/GenFfs/GenFfs.c -@@ -542,7 +542,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment) - PeFileBuffer = (UINT8 *) malloc (PeFileSize); - if (PeFileBuffer == NULL) { - fclose (InFileHandle); -- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); -+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile); - return EFI_OUT_OF_RESOURCES; - } - fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle); -diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c -index d54a4f9e0a..b1d05367ec 100644 ---- a/BaseTools/Source/C/GenSec/GenSec.c -+++ b/BaseTools/Source/C/GenSec/GenSec.c -@@ -1062,7 +1062,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment) - PeFileBuffer = (UINT8 *) malloc (PeFileSize); - if (PeFileBuffer == NULL) { - fclose (InFileHandle); -- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); -+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile); - return EFI_OUT_OF_RESOURCES; - } - fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle); --- -2.36.1 - diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 84e3360a3a..aac30ead30 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb @@ -25,12 +25,10 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ file://0003-ovmf-Update-to-latest.patch \ file://0005-debug-prefix-map.patch \ file://0006-reproducible.patch \ - file://0001-BaseTools-fix-gcc12-warning.patch \ - file://0001-BaseTools-fix-gcc12-warning-1.patch \ " -PV = "edk2-stable202202" -SRCREV = "b24306f15daa2ff8510b06702114724b33895d3c" +PV = "edk2-stable202205" +SRCREV = "16779ede2d366bfc6b702e817356ccf43425bcc8" UPSTREAM_CHECK_GITTAGREGEX = "(?Pedk2-stable.*)" inherit deploy diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index 9523aadd15..772b86b39a 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb @@ -129,7 +129,6 @@ RDEPENDS:packagegroup-self-hosted-extended = "\ libusb1 \ libxml2 \ lsof \ - lzo \ man \ man-pages \ mdadm \ diff --git a/poky/meta/recipes-core/seatd/seatd_0.6.4.bb b/poky/meta/recipes-core/seatd/seatd_0.6.4.bb deleted file mode 100644 index 601736adef..0000000000 --- a/poky/meta/recipes-core/seatd/seatd_0.6.4.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "A minimal seat management daemon, and a universal seat management library." -DESCRIPTION = "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root." -HOMEPAGE = "https://git.sr.ht/~kennylevinsen/seatd" - -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" - -SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;nobranch=1 \ - file://init" -SRCREV = "df13d03f9cfd0dc0c2b3298cd0e5eb4e4a10835e" -S = "${WORKDIR}/git" - -inherit meson pkgconfig update-rc.d - -# https://www.openwall.com/lists/musl/2020/01/20/3 -CFLAGS:append:libc-musl:powerpc64le = " -Wno-error=overflow" - -PACKAGECONFIG ?= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - libseat-builtin \ -" - -PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled" -PACKAGECONFIG[systemd] = ",,systemd" - -do_install:append() { - if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then - install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd - fi -} - -INITSCRIPT_NAME = "seatd" -INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." -INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" diff --git a/poky/meta/recipes-core/seatd/seatd_0.7.0.bb b/poky/meta/recipes-core/seatd/seatd_0.7.0.bb new file mode 100644 index 0000000000..59ef6ad9c1 --- /dev/null +++ b/poky/meta/recipes-core/seatd/seatd_0.7.0.bb @@ -0,0 +1,35 @@ +SUMMARY = "A minimal seat management daemon, and a universal seat management library." +DESCRIPTION = "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root." +HOMEPAGE = "https://git.sr.ht/~kennylevinsen/seatd" + +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" + +SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ + file://init" +SRCREV = "a803ba0502cccf147eec7fbcacd11c5b8643c0e0" +S = "${WORKDIR}/git" + +inherit meson pkgconfig update-rc.d + +# https://www.openwall.com/lists/musl/2020/01/20/3 +CFLAGS:append:libc-musl:powerpc64le = " -Wno-error=overflow" + +PACKAGECONFIG ?= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + libseat-builtin \ +" + +PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled" +PACKAGECONFIG[systemd] = ",,systemd" + +do_install:append() { + if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then + install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd + fi +} + +INITSCRIPT_NAME = "seatd" +INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." +INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" diff --git a/poky/meta/recipes-core/systemd/systemd-boot_250.5.bb b/poky/meta/recipes-core/systemd/systemd-boot_250.5.bb deleted file mode 100644 index b67706b731..0000000000 --- a/poky/meta/recipes-core/systemd/systemd-boot_250.5.bb +++ /dev/null @@ -1,73 +0,0 @@ -require systemd.inc -FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" - -require conf/image-uefi.conf - -DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native python3-jinja2-native" - -inherit meson pkgconfig gettext -inherit deploy - -LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} " - -do_write_config[vardeps] += "CC OBJCOPY" -do_write_config:append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < Date: Fri, 21 Jan 2022 15:15:11 -0800 Subject: [PATCH] pass correct parameters to getdents64 @@ -12,16 +12,16 @@ Fixes n = getdents64(fd, &buffer, sizeof(buffer)); ^~~~~~~ -Upstream-Status: Pending +Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj - +Signed-off-by: Jiaqing Zhao --- src/basic/recurse-dir.c | 2 +- src/basic/stat-util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c -index efa1797b7b..797285e3be 100644 +index efa1797b7b..03ff10ebe9 100644 --- a/src/basic/recurse-dir.c +++ b/src/basic/recurse-dir.c @@ -54,7 +54,7 @@ int readdir_all(int dir_fd, @@ -29,7 +29,7 @@ index efa1797b7b..797285e3be 100644 assert(bs > de->buffer_size); - n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); -+ n = getdents64(dir_fd, de->buffer + de->buffer_size, bs - de->buffer_size); ++ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size); if (n < 0) return -errno; if (n == 0) @@ -46,3 +46,6 @@ index c2269844f8..7cd6c7fa42 100644 if (n < 0) return -errno; +-- +2.34.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch deleted file mode 100644 index 8567283537..0000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ad1428f29196bcc88ae382ee67ff705928e2be24 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 5 May 2022 20:25:37 -0700 -Subject: [PATCH] resolve: Use sockaddr pointer type for bind() - -bind() expects sockaddr* but SERVER_ADDRESS is sockaddr_in type struct - -Fixes errors with clang e.g. - -../git/src/resolve/test-resolved-stream.c:112:32: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types] - assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); - ^~~~~~~~~~~~~~~ -../git/src/resolve/test-resolved-stream.c:251:39: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types] - r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); - -Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/23281] -Signed-off-by: Khem Raj ---- - src/resolve/test-resolved-stream.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c -index f12c729e50..504b532002 100644 ---- a/src/resolve/test-resolved-stream.c -+++ b/src/resolve/test-resolved-stream.c -@@ -109,7 +109,7 @@ static void *tcp_dns_server(void *p) { - - assert_se((bindfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0); - assert_se(setsockopt(bindfd, SOL_SOCKET, SO_REUSEADDR, &(int){1}, sizeof(int)) >= 0); -- assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); -+ assert_se(bind(bindfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); - assert_se(listen(bindfd, 1) >= 0); - assert_se((acceptfd = accept(bindfd, NULL, NULL)) >= 0); - server_handle(acceptfd); -@@ -248,7 +248,7 @@ static void test_dns_stream(bool tls) { - assert_se((clientfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0); - - for (int i = 0; i < 100; i++) { -- r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); -+ r = connect(clientfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); - if (r >= 0) - break; - usleep(EVENT_TIMEOUT_USEC / 100); --- -2.36.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch b/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch new file mode 100644 index 0000000000..2bb9565bf2 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch @@ -0,0 +1,32 @@ +From d6e2c2d34d336398f5948a8b731fefff3dc0ff12 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Thu, 2 Jun 2022 20:49:46 +0200 +Subject: [PATCH] shared/utmp-wtmp: fix build without utmp + +Commit 16618332388442f2f1c3e52b0a9fde00121564a3 changed a function to +add an extra argument. The data types used when building without utmp +missed the change. + +Upstream-Status: Backport [d6e2c2d34d336398f5948a8b731fefff3dc0ff12] +Signed-off-by: Martin Jansa + +--- + src/shared/utmp-wtmp.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/utmp-wtmp.h b/src/shared/utmp-wtmp.h +index 36e4203b4f..188d011fdd 100644 +--- a/src/shared/utmp-wtmp.h ++++ b/src/shared/utmp-wtmp.h +@@ -59,7 +59,7 @@ static inline int utmp_wall( + const char *message, + const char *username, + const char *origin_tty, +- bool (*match_tty)(const char *tty, void *userdata), ++ bool (*match_tty)(const char *tty, bool is_local, void *userdata), + void *userdata) { + return 0; + } +-- +2.36.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch b/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch new file mode 100644 index 0000000000..2449023083 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch @@ -0,0 +1,41 @@ +From 38c87ca2ab96d085158485ecfc46c7cb6af0f166 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Jun 2022 09:32:02 +0200 +Subject: [PATCH] sha256: fix compilation on efi-ia32 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/usr/bin/gcc -c ../src/fundamental/sha256.c -o src/boot/efi/sha256.c.o -Wno-format-signedness -Wno-missing-field-initializers -Wno-unused-parameter -Wdate-time -Wendif-labels -Werror=format=2 -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=overflow -Werror=override-init -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=undef -Wfloat-equal -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wsuggest-attribute=noreturn -Wunused-function -Wwrite-strings -Wno-unused-result -fno-stack-protector -fno-strict-aliasing -fpic -fwide-exec-charset=UCS2 -Wall -Wextra -Wsign-compare -nostdlib -std=gnu99 -ffreestanding -fshort-wchar -fvisibility=hidden -isystem /usr/include/efi -isystem /usr/include/efi/ia32 -I /builddir/build/BUILD/systemd-stable-250.7/src/fundamental -DSD_BOOT -DGNU_EFI_USE_MS_ABI -include src/boot/efi/efi_config.h -include version.h -mno-sse -mno-mmx -flto -O2 -flto=auto +../src/fundamental/sha256.c: In function ‘sha256_finish_ctx’: +../src/fundamental/sha256.c:61:25: error: ‘false’ undeclared (first use in this function) + 61 | # define UNALIGNED_P(p) false + | ^~~~~ +../src/fundamental/sha256.c:136:21: note: in expansion of macro ‘UNALIGNED_P’ + 136 | if (UNALIGNED_P(resbuf)) + | ^~~~~~~~~~~ +../src/fundamental/sha256.c:32:1: note: ‘false’ is defined in header ‘’; did you forget to ‘#include ’? + 31 | #include "sha256.h" + +++ |+#include + 32 | +... + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + src/fundamental/sha256.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/fundamental/sha256.c b/src/fundamental/sha256.c +index 67d83b5f1cd6..f08959479643 100644 +--- a/src/fundamental/sha256.c ++++ b/src/fundamental/sha256.c +@@ -60,7 +60,7 @@ + # define UNALIGNED_P(p) (((size_t) p) % sizeof(uint32_t) != 0) + # endif + #else +-# define UNALIGNED_P(p) false ++# define UNALIGNED_P(p) sd_false + #endif + + /* This array contains the bytes used to pad the buffer to the next diff --git a/poky/meta/recipes-core/systemd/systemd_250.5.bb b/poky/meta/recipes-core/systemd/systemd_250.5.bb deleted file mode 100644 index 006b2f86ea..0000000000 --- a/poky/meta/recipes-core/systemd/systemd_250.5.bb +++ /dev/null @@ -1,790 +0,0 @@ -require systemd.inc - -PROVIDES = "udev" - -PE = "1" - -DEPENDS = "intltool-native gperf-native libcap util-linux python3-jinja2-native" - -SECTION = "base/shell" - -inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check - -# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so -# that we don't build both udev and systemd in world builds. -REQUIRED_DISTRO_FEATURES = "systemd" - -SRC_URI += "file://touchscreen.rules \ - file://00-create-volatile.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ - file://init \ - file://99-default.preset \ - file://systemd-pager.sh \ - file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0003-implment-systemd-sysv-install-for-OE.patch \ - file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \ - file://0001-resolve-Use-sockaddr-pointer-type-for-bind.patch \ - " - -# patches needed by musl -SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" -SRC_URI_MUSL = "\ - file://0003-missing_type.h-add-comparison_fn_t.patch \ - file://0004-add-fallback-parse_printf_format-implementation.patch \ - file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ - file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ - file://0008-add-missing-FTW_-macros-for-musl.patch \ - file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ - file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ - file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ - file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ - file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ - file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ - file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0021-test-json.c-define-M_PIl.patch \ - file://0022-do-not-disable-buffer-in-writing-files.patch \ - file://0025-Handle-__cpu_mask-usage.patch \ - file://0026-Handle-missing-gshadow.patch \ - file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ - file://0001-pass-correct-parameters-to-getdents64.patch \ - file://0002-Add-sys-stat.h-for-S_IFDIR.patch \ - file://0001-Adjust-for-musl-headers.patch \ - " - -PAM_PLUGINS = " \ - pam-plugin-unix \ - pam-plugin-loginuid \ - pam-plugin-keyinit \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', 'link-udev-shared', d)} \ - backlight \ - binfmt \ - gshadow \ - hibernate \ - hostnamed \ - idn \ - ima \ - kmod \ - localed \ - logind \ - machined \ - myhostname \ - networkd \ - nss \ - nss-mymachines \ - nss-resolve \ - quotacheck \ - randomseed \ - resolved \ - set-time-epoch \ - sysusers \ - sysvinit \ - timedated \ - timesyncd \ - userdb \ - utmp \ - vconsole \ - wheel-group \ - zstd \ -" - -PACKAGECONFIG:remove:libc-musl = " \ - gshadow \ - idn \ - localed \ - myhostname \ - nss \ - nss-mymachines \ - nss-resolve \ - sysusers \ - userdb \ - utmp \ -" - -# https://github.com/seccomp/libseccomp/issues/347 -PACKAGECONFIG:remove:mipsarch = "seccomp" - -CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " - -# Some of the dependencies are weak-style recommends - if not available at runtime, -# systemd won't fail but the library-related feature will be skipped with a warning. - -# Use the upstream systemd serial-getty@.service and rely on -# systemd-getty-generator instead of using the OE-core specific -# systemd-serialgetty.bb - not enabled by default. -PACKAGECONFIG[serial-getty-generator] = "" - -PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" -PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" -PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" -PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" -PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" -PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" -PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" -PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" -PACKAGECONFIG[tpm2] = "-Dtpm2=true,-Dtpm2=false,tpm2-tss,tpm2-tss libtss2 libtss2-tcti-device" -PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" -PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" -PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" -PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" -PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" -PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false" -PACKAGECONFIG[homed] = "-Dhomed=true,-Dhomed=false" -# Sign the journal for anti-tampering -PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" -PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" -PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" -PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" -PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" -# importd requires journal-upload/xz/zlib/bzip2/gcrypt -PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" -# Update NAT firewall rules -PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" -PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" -PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" -PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" -PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" -PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" -# Link udev shared with systemd helper library. -# If enabled the udev package depends on the systemd package (which has the needed shared library). -PACKAGECONFIG[link-udev-shared] = "-Dlink-udev-shared=true,-Dlink-udev-shared=false" -PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" -PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" -PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" -PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" -PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" -PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" -PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" -PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" -PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" -PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" -PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" -PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" -PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" -# If polkit is disabled and networkd+hostnamed are in use, enabling this option and -# using dbus-broker will allow networkd to be authorized to change the -# hostname without acquiring additional privileges -PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" -PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" -PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" -PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" -PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" -PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" -PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" -PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" -PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" -PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" -PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" -PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" -# When enabled use reproducble build timestamp if set as time epoch, -# or build time if not. When disabled, time epoch is unset. -def build_epoch(d): - epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" - return '-Dtime-epoch=%d' % int(epoch) -PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" -PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" -PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" -PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" -PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" -PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" -PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" -PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" -PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" -PACKAGECONFIG[wheel-group] = "-Dwheel-group=true, -Dwheel-group=false" -PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" -# Verify keymaps on locale change -PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" -PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" -PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" -PACKAGECONFIG[zstd] = "-Dzstd=true,-Dzstd=false,zstd" - -# Helper variables to clarify locations. This mirrors the logic in systemd's -# build system. -rootprefix ?= "${root_prefix}" -rootlibdir ?= "${base_libdir}" -rootlibexecdir = "${rootprefix}/lib" - -EXTRA_OEMESON += "-Dnobody-user=nobody \ - -Dnobody-group=nobody \ - -Drootlibdir=${rootlibdir} \ - -Drootprefix=${rootprefix} \ - -Ddefault-locale=C \ - -Dmode=release \ - -Dsystem-alloc-uid-min=101 \ - -Dsystem-uid-max=999 \ - -Dsystem-alloc-gid-min=101 \ - -Dsystem-gid-max=999 \ - " - -# Hardcode target binary paths to avoid using paths from sysroot -EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ - -Dkmod-path=${base_bindir}/kmod \ - -Dmount-path=${base_bindir}/mount \ - -Dquotacheck-path=${sbindir}/quotacheck \ - -Dquotaon-path=${sbindir}/quotaon \ - -Dsulogin-path=${base_sbindir}/sulogin \ - -Dnologin-path=${base_sbindir}/nologin \ - -Dumount-path=${base_bindir}/umount" - -do_install() { - meson_do_install - install -d ${D}/${base_sbindir} - if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then - # Provided by a separate recipe - rm ${D}${systemd_system_unitdir}/serial-getty* -f - fi - - # Provide support for initramfs - [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init - [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - - install -d ${D}${sysconfdir}/udev/rules.d/ - install -d ${D}${sysconfdir}/tmpfiles.d - for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do - install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ - done - - install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd - sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd - install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install - fi - - if "${@'true' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR')) else 'false'}"; then - # /var/log is typically a symbolic link to inside /var/volatile, - # which is expected to be empty. - rm -rf ${D}${localstatedir}/log - else - chown root:systemd-journal ${D}${localstatedir}/log/journal - - # journal-remote creates this at start - rm -rf ${D}${localstatedir}/log/journal/remote - fi - - install -d ${D}${systemd_system_unitdir}/graphical.target.wants - install -d ${D}${systemd_system_unitdir}/multi-user.target.wants - install -d ${D}${systemd_system_unitdir}/poweroff.target.wants - install -d ${D}${systemd_system_unitdir}/reboot.target.wants - install -d ${D}${systemd_system_unitdir}/rescue.target.wants - - # Create symlinks for systemd-update-utmp-runlevel.service - if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/reboot.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service - fi - - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it - # for existence else it fails - if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ] && - ! ${@bb.utils.contains('PACKAGECONFIG', 'networkd', 'true', 'false', d)}; then - echo 'd /run/systemd/netif/links 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - fi - if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then - echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - else - sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - fi - if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then - rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf - rm -r ${D}${sysconfdir}/X11 - fi - - # If polkit is setup fixup permissions and ownership - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then - if [ -d ${D}${datadir}/polkit-1/rules.d ]; then - chmod 700 ${D}${datadir}/polkit-1/rules.d - chown polkitd:root ${D}${datadir}/polkit-1/rules.d - fi - fi - - # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to - # request hostname changes via DBUS without elevating its privileges - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ - install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ - install -d ${D}${datadir}/dbus-1/system.d/ - install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ - fi - - # create link for existing udev rules - ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm - - # install default policy for presets - # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto - install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset - - # add a profile fragment to disable systemd pager with busybox less - install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh -} - -python populate_packages:prepend (){ - systemdlibdir = d.getVar("rootlibdir") - do_split_packages(d, systemdlibdir, r'^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) -} -PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" - -PACKAGE_BEFORE_PN = "\ - ${PN}-gui \ - ${PN}-vconsole-setup \ - ${PN}-initramfs \ - ${PN}-analyze \ - ${PN}-kernel-install \ - ${PN}-rpm-macros \ - ${PN}-binfmt \ - ${PN}-zsh-completion \ - ${PN}-container \ - ${PN}-journal-gatewayd \ - ${PN}-journal-upload \ - ${PN}-journal-remote \ - ${PN}-extra-utils \ - ${PN}-udev-rules \ - libsystemd-shared \ - udev \ - udev-hwdb \ -" - -SUMMARY:${PN}-container = "Tools for containers and VMs" -DESCRIPTION:${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." - -SUMMARY:${PN}-journal-gatewayd = "HTTP server for journal events" -DESCRIPTION:${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." - -SUMMARY:${PN}-journal-upload = "Send journal messages over the network" -DESCRIPTION:${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." - -SUMMARY:${PN}-journal-remote = "Receive journal messages over the network" -DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." - -SUMMARY:libsystemd-shared = "Systemd shared library" - -SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service" - -USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -GROUPADD_PARAM:${PN} = "-r systemd-journal;" -GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" -USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" -USERADD_PARAM:${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" -USERADD_PARAM:${PN}-journal-gatewayd = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" -USERADD_PARAM:${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" -USERADD_PARAM:${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" - -FILES:${PN}-analyze = "${bindir}/systemd-analyze" - -FILES:${PN}-initramfs = "/init" -RDEPENDS:${PN}-initramfs = "${PN}" - -FILES:${PN}-gui = "${bindir}/systemadm" - -FILES:${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ - ${systemd_system_unitdir}/systemd-vconsole-setup.service \ - ${systemd_system_unitdir}/sysinit.target.wants/systemd-vconsole-setup.service" - -RDEPENDS:${PN}-kernel-install += "bash" -FILES:${PN}-kernel-install = "${bindir}/kernel-install \ - ${sysconfdir}/kernel/ \ - ${exec_prefix}/lib/kernel \ - " -FILES:${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ - " - -FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions" - -FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ - ${exec_prefix}/lib/binfmt.d \ - ${rootlibexecdir}/systemd/systemd-binfmt \ - ${systemd_system_unitdir}/proc-sys-fs-binfmt_misc.* \ - ${systemd_system_unitdir}/systemd-binfmt.service" -RRECOMMENDS:${PN}-binfmt = "kernel-module-binfmt-misc" - -RRECOMMENDS:${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" - - -FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ - ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ - ${datadir}/systemd/gatewayd/browse.html \ - " -SYSTEMD_SERVICE:${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" - -FILES:${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ - ${systemd_system_unitdir}/systemd-journal-upload.service \ - ${sysconfdir}/systemd/journal-upload.conf \ - " -SYSTEMD_SERVICE:${PN}-journal-upload = "systemd-journal-upload.service" - -FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ - ${sysconfdir}/systemd/journal-remote.conf \ - ${systemd_system_unitdir}/systemd-journal-remote.service \ - ${systemd_system_unitdir}/systemd-journal-remote.socket \ - " -SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" - - -FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ - ${base_bindir}/machinectl \ - ${bindir}/systemd-nspawn \ - ${nonarch_libdir}/systemd/import-pubring.gpg \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machine.slice \ - ${systemd_system_unitdir}/machines.target \ - ${systemd_system_unitdir}/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/systemd-importd.service \ - ${systemd_system_unitdir}/systemd-machined.service \ - ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ - ${systemd_system_unitdir}/var-lib-machines.mount \ - ${rootlibexecdir}/systemd/systemd-import \ - ${rootlibexecdir}/systemd/systemd-importd \ - ${rootlibexecdir}/systemd/systemd-machined \ - ${rootlibexecdir}/systemd/systemd-pull \ - ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ - ${exec_prefix}/lib/tmpfiles.d/README \ - ${systemd_system_unitdir}/systemd-nspawn@.service \ - ${libdir}/libnss_mymachines.so.2 \ - ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ - ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ - ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ - ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ - " - -# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. -RRECOMMENDS:${PN}-container += "\ - ${PN}-journal-gatewayd \ - ${PN}-journal-remote \ - ${PN}-journal-upload \ - kernel-module-dm-mod \ - kernel-module-loop \ - kernel-module-tun \ - tar \ - " - -FILES:${PN}-extra-utils = "\ - ${base_bindir}/systemd-escape \ - ${base_bindir}/systemd-inhibit \ - ${bindir}/systemd-detect-virt \ - ${bindir}/systemd-dissect \ - ${bindir}/systemd-path \ - ${bindir}/systemd-run \ - ${bindir}/systemd-cat \ - ${bindir}/systemd-delta \ - ${bindir}/systemd-cgls \ - ${bindir}/systemd-cgtop \ - ${bindir}/systemd-stdio-bridge \ - ${bindir}/systemd-sysext \ - ${base_bindir}/systemd-ask-password \ - ${base_bindir}/systemd-tty-ask-password-agent \ - ${systemd_system_unitdir}/systemd-ask-password-console.path \ - ${systemd_system_unitdir}/systemd-ask-password-console.service \ - ${systemd_system_unitdir}/systemd-ask-password-wall.path \ - ${systemd_system_unitdir}/systemd-ask-password-wall.service \ - ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-console.path \ - ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-wall.path \ - ${systemd_system_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path \ - ${rootlibexecdir}/systemd/systemd-resolve-host \ - ${rootlibexecdir}/systemd/systemd-ac-power \ - ${rootlibexecdir}/systemd/systemd-activate \ - ${rootlibexecdir}/systemd/systemd-bus-proxyd \ - ${systemd_system_unitdir}/systemd-bus-proxyd.service \ - ${systemd_system_unitdir}/systemd-bus-proxyd.socket \ - ${rootlibexecdir}/systemd/systemd-socket-proxyd \ - ${rootlibexecdir}/systemd/systemd-reply-password \ - ${rootlibexecdir}/systemd/systemd-sleep \ - ${rootlibexecdir}/systemd/system-sleep \ - ${systemd_system_unitdir}/systemd-hibernate.service \ - ${systemd_system_unitdir}/systemd-hybrid-sleep.service \ - ${systemd_system_unitdir}/systemd-suspend.service \ - ${systemd_system_unitdir}/sleep.target \ - ${rootlibexecdir}/systemd/systemd-initctl \ - ${systemd_system_unitdir}/systemd-initctl.service \ - ${systemd_system_unitdir}/systemd-initctl.socket \ - ${systemd_system_unitdir}/sockets.target.wants/systemd-initctl.socket \ - ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ - ${rootlibexecdir}/systemd/systemd-cgroups-agent \ -" - -FILES:${PN}-udev-rules = "\ - ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ - ${rootlibexecdir}/udev/rules.d/71-seat.rules \ - ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ - ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ -" - -CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/networkd.conf \ - ${sysconfdir}/systemd/pstore.conf \ - ${sysconfdir}/systemd/resolved.conf \ - ${sysconfdir}/systemd/sleep.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/timesyncd.conf \ - ${sysconfdir}/systemd/user.conf \ -" - -FILES:${PN} = " ${base_bindir}/* \ - ${base_sbindir}/shutdown \ - ${base_sbindir}/halt \ - ${base_sbindir}/poweroff \ - ${base_sbindir}/runlevel \ - ${base_sbindir}/telinit \ - ${base_sbindir}/resolvconf \ - ${base_sbindir}/reboot \ - ${base_sbindir}/init \ - ${datadir}/dbus-1/services \ - ${datadir}/dbus-1/system-services \ - ${datadir}/polkit-1 \ - ${datadir}/${BPN} \ - ${datadir}/factory \ - ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/modules-load.d/ \ - ${sysconfdir}/pam.d/ \ - ${sysconfdir}/profile.d/ \ - ${sysconfdir}/sysctl.d/ \ - ${sysconfdir}/systemd/ \ - ${sysconfdir}/tmpfiles.d/ \ - ${sysconfdir}/xdg/ \ - ${sysconfdir}/init.d/README \ - ${sysconfdir}/resolv-conf.systemd \ - ${sysconfdir}/X11/xinit/xinitrc.d/* \ - ${rootlibexecdir}/systemd/* \ - ${libdir}/pam.d \ - ${nonarch_libdir}/pam.d \ - ${systemd_unitdir}/* \ - ${base_libdir}/security/*.so \ - /cgroup \ - ${bindir}/systemd* \ - ${bindir}/busctl \ - ${bindir}/coredumpctl \ - ${bindir}/localectl \ - ${bindir}/hostnamectl \ - ${bindir}/resolvectl \ - ${bindir}/timedatectl \ - ${bindir}/bootctl \ - ${bindir}/oomctl \ - ${exec_prefix}/lib/tmpfiles.d/*.conf \ - ${exec_prefix}/lib/systemd \ - ${exec_prefix}/lib/modules-load.d \ - ${exec_prefix}/lib/sysctl.d \ - ${exec_prefix}/lib/sysusers.d \ - ${exec_prefix}/lib/environment.d \ - ${localstatedir} \ - ${rootlibexecdir}/modprobe.d/systemd.conf \ - ${rootlibexecdir}/modprobe.d/README \ - ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.home1.conf \ - " - -FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" - -RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" -RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS:${PN} += "volatile-binds" - -RRECOMMENDS:${PN} += "systemd-extra-utils \ - udev-hwdb \ - e2fsprogs-e2fsck \ - kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ - os-release \ - systemd-conf \ -" - -INSANE_SKIP:${PN} += "dev-so libdir" -INSANE_SKIP:${PN}-dbg += "libdir" -INSANE_SKIP:${PN}-doc += " libdir" -INSANE_SKIP:libsystemd-shared += "libdir" - -FILES:libsystemd-shared = "${rootlibexecdir}/systemd/libsystemd-shared*.so" - -RPROVIDES:udev = "hotplug" - -RDEPENDS:udev-hwdb += "udev" - -FILES:udev += "${base_sbindir}/udevd \ - ${rootlibexecdir}/systemd/network/99-default.link \ - ${rootlibexecdir}/systemd/systemd-udevd \ - ${rootlibexecdir}/udev/accelerometer \ - ${rootlibexecdir}/udev/ata_id \ - ${rootlibexecdir}/udev/cdrom_id \ - ${rootlibexecdir}/udev/collect \ - ${rootlibexecdir}/udev/dmi_memory_id \ - ${rootlibexecdir}/udev/fido_id \ - ${rootlibexecdir}/udev/findkeyboards \ - ${rootlibexecdir}/udev/keyboard-force-release.sh \ - ${rootlibexecdir}/udev/keymap \ - ${rootlibexecdir}/udev/mtd_probe \ - ${rootlibexecdir}/udev/scsi_id \ - ${rootlibexecdir}/udev/v4l_id \ - ${rootlibexecdir}/udev/keymaps \ - ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ - ${rootlibexecdir}/udev/rules.d/60-block.rules \ - ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ - ${rootlibexecdir}/udev/rules.d/60-drm.rules \ - ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ - ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ - ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ - ${rootlibexecdir}/udev/rules.d/60-serial.rules \ - ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ - ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ - ${rootlibexecdir}/udev/rules.d/70-camera.rules \ - ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ - ${rootlibexecdir}/udev/rules.d/70-memory.rules \ - ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ - ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ - ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ - ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ - ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ - ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ - ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ - ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ - ${rootlibexecdir}/udev/rules.d/81-net-dhcp.rules \ - ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ - ${rootlibexecdir}/udev/rules.d/README \ - ${sysconfdir}/udev \ - ${sysconfdir}/init.d/systemd-udevd \ - ${systemd_system_unitdir}/*udev* \ - ${systemd_system_unitdir}/*.wants/*udev* \ - ${base_bindir}/systemd-hwdb \ - ${base_bindir}/udevadm \ - ${base_sbindir}/udevadm \ - ${datadir}/bash-completion/completions/udevadm \ - ${systemd_system_unitdir}/systemd-hwdb-update.service \ - " - -FILES:udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ - " - -RCONFLICTS:${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" - -INITSCRIPT_PACKAGES = "udev" -INITSCRIPT_NAME:udev = "systemd-udevd" -INITSCRIPT_PARAMS:udev = "start 03 S ." - -python __anonymous() { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") - - if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d): - bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]") - - if bb.utils.contains('PACKAGECONFIG', 'homed', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'userdb openssl cryptsetup', True, False, d): - bb.error("PACKAGECONFIG[homed] requires PACKAGECONFIG[userdb], PACKAGECONFIG[openssl] and PACKAGECONFIG[cryptsetup]") -} - -python do_warn_musl() { - if d.getVar('TCLIBC') == "musl": - bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") -} -addtask warn_musl before do_configure - -ALTERNATIVE:${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" - -ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" -ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" - -ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" -ALTERNATIVE_PRIORITY[halt] ?= "300" - -ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" -ALTERNATIVE_PRIORITY[reboot] ?= "300" - -ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" -ALTERNATIVE_PRIORITY[shutdown] ?= "300" - -ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" -ALTERNATIVE_PRIORITY[poweroff] ?= "300" - -ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" -ALTERNATIVE_PRIORITY[runlevel] ?= "300" - -pkg_postinst:${PN}:libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ - -i $D${sysconfdir}/nsswitch.conf -} - -pkg_prerm:${PN}:libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*myhostname//' \ - -i $D${sysconfdir}/nsswitch.conf -} - -PACKAGE_WRITE_DEPS += "qemu-native" -pkg_postinst:udev-hwdb () { - if test -n "$D"; then - $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" - else - udevadm hwdb --update - fi -} - -pkg_prerm:udev-hwdb () { - rm -f $D${sysconfdir}/udev/hwdb.bin -} diff --git a/poky/meta/recipes-core/systemd/systemd_251.2.bb b/poky/meta/recipes-core/systemd/systemd_251.2.bb new file mode 100644 index 0000000000..8370bec0ca --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd_251.2.bb @@ -0,0 +1,798 @@ +require systemd.inc + +PROVIDES = "udev" + +PE = "1" + +DEPENDS = "intltool-native gperf-native libcap util-linux python3-jinja2-native" + +SECTION = "base/shell" + +inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check + +# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so +# that we don't build both udev and systemd in world builds. +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI += "file://touchscreen.rules \ + file://00-create-volatile.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ + file://init \ + file://99-default.preset \ + file://systemd-pager.sh \ + file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ + file://0003-implment-systemd-sysv-install-for-OE.patch \ + file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \ + file://0001-shared-utmp-wtmp-fix-build-without-utmp.patch \ + " + +# patches needed by musl +SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" +SRC_URI_MUSL = "\ + file://0003-missing_type.h-add-comparison_fn_t.patch \ + file://0004-add-fallback-parse_printf_format-implementation.patch \ + file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ + file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ + file://0008-add-missing-FTW_-macros-for-musl.patch \ + file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ + file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ + file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ + file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ + file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ + file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ + file://0021-test-json.c-define-M_PIl.patch \ + file://0022-do-not-disable-buffer-in-writing-files.patch \ + file://0025-Handle-__cpu_mask-usage.patch \ + file://0026-Handle-missing-gshadow.patch \ + file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ + file://0001-pass-correct-parameters-to-getdents64.patch \ + file://0002-Add-sys-stat.h-for-S_IFDIR.patch \ + file://0001-Adjust-for-musl-headers.patch \ + " + +PAM_PLUGINS = " \ + pam-plugin-unix \ + pam-plugin-loginuid \ + pam-plugin-keyinit \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', 'link-udev-shared', d)} \ + backlight \ + binfmt \ + gshadow \ + hibernate \ + hostnamed \ + idn \ + ima \ + kmod \ + localed \ + logind \ + machined \ + myhostname \ + networkd \ + nss \ + nss-mymachines \ + nss-resolve \ + quotacheck \ + randomseed \ + resolved \ + set-time-epoch \ + sysusers \ + sysvinit \ + timedated \ + timesyncd \ + userdb \ + utmp \ + vconsole \ + wheel-group \ + zstd \ +" + +PACKAGECONFIG:remove:libc-musl = " \ + gshadow \ + idn \ + localed \ + myhostname \ + nss \ + nss-mymachines \ + nss-resolve \ + sysusers \ + userdb \ + utmp \ +" + +# https://github.com/seccomp/libseccomp/issues/347 +PACKAGECONFIG:remove:mipsarch = "seccomp" + +CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " + +# Some of the dependencies are weak-style recommends - if not available at runtime, +# systemd won't fail but the library-related feature will be skipped with a warning. + +# Use the upstream systemd serial-getty@.service and rely on +# systemd-getty-generator instead of using the OE-core specific +# systemd-serialgetty.bb - not enabled by default. +PACKAGECONFIG[serial-getty-generator] = "" + +PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" +PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" +PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" +PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" +PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" +PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" +PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" +PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" +PACKAGECONFIG[tpm2] = "-Dtpm2=true,-Dtpm2=false,tpm2-tss,tpm2-tss libtss2 libtss2-tcti-device" +PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" +PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" +PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" +PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" +PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" +PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false" +PACKAGECONFIG[homed] = "-Dhomed=true,-Dhomed=false" +# Sign the journal for anti-tampering +PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" +PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" +PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" +PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" +# importd requires journal-upload/xz/zlib/bzip2/gcrypt +PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" +# Update NAT firewall rules +PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" +PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" +PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" +PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" +PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" +PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" +# Link udev shared with systemd helper library. +# If enabled the udev package depends on the systemd package (which has the needed shared library). +PACKAGECONFIG[link-udev-shared] = "-Dlink-udev-shared=true,-Dlink-udev-shared=false" +PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" +PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" +PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" +PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" +PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" +PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" +PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" +PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" +PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" +PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" +PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" +PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" +# If polkit is disabled and networkd+hostnamed are in use, enabling this option and +# using dbus-broker will allow networkd to be authorized to change the +# hostname without acquiring additional privileges +PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" +PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" +PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" +PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" +PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" +PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" +PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" +PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" +PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" +PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" +PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" +# When enabled use reproducble build timestamp if set as time epoch, +# or build time if not. When disabled, time epoch is unset. +def build_epoch(d): + epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" + return '-Dtime-epoch=%d' % int(epoch) +PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" +PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" +PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" +PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" +PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" +PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" +PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" +PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" +PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" +PACKAGECONFIG[wheel-group] = "-Dwheel-group=true, -Dwheel-group=false" +PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" +# Verify keymaps on locale change +PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" +PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" +PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" +PACKAGECONFIG[zstd] = "-Dzstd=true,-Dzstd=false,zstd" + +# Helper variables to clarify locations. This mirrors the logic in systemd's +# build system. +rootprefix ?= "${root_prefix}" +rootlibdir ?= "${base_libdir}" +rootlibexecdir = "${rootprefix}/lib" + +EXTRA_OEMESON += "-Dnobody-user=nobody \ + -Dnobody-group=nobody \ + -Drootlibdir=${rootlibdir} \ + -Drootprefix=${rootprefix} \ + -Ddefault-locale=C \ + -Dmode=release \ + -Dsystem-alloc-uid-min=101 \ + -Dsystem-uid-max=999 \ + -Dsystem-alloc-gid-min=101 \ + -Dsystem-gid-max=999 \ + " + +# Hardcode target binary paths to avoid using paths from sysroot +EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ + -Dkmod-path=${base_bindir}/kmod \ + -Dmount-path=${base_bindir}/mount \ + -Dquotacheck-path=${sbindir}/quotacheck \ + -Dquotaon-path=${sbindir}/quotaon \ + -Dsulogin-path=${base_sbindir}/sulogin \ + -Dnologin-path=${base_sbindir}/nologin \ + -Dumount-path=${base_bindir}/umount" + +# The 60 seconds is watchdog's default vaule. +WATCHDOG_TIMEOUT ??= "60" + +do_install() { + meson_do_install + install -d ${D}/${base_sbindir} + if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then + # Provided by a separate recipe + rm ${D}${systemd_system_unitdir}/serial-getty* -f + fi + + # Provide support for initramfs + [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init + [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}${sysconfdir}/tmpfiles.d + for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do + install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ + done + + install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd + sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd + install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install + fi + + if "${@'true' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR')) else 'false'}"; then + # /var/log is typically a symbolic link to inside /var/volatile, + # which is expected to be empty. + rm -rf ${D}${localstatedir}/log + else + chown root:systemd-journal ${D}${localstatedir}/log/journal + + # journal-remote creates this at start + rm -rf ${D}${localstatedir}/log/journal/remote + fi + + install -d ${D}${systemd_system_unitdir}/graphical.target.wants + install -d ${D}${systemd_system_unitdir}/multi-user.target.wants + install -d ${D}${systemd_system_unitdir}/poweroff.target.wants + install -d ${D}${systemd_system_unitdir}/reboot.target.wants + install -d ${D}${systemd_system_unitdir}/rescue.target.wants + + # Create symlinks for systemd-update-utmp-runlevel.service + if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/reboot.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service + fi + + # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it + # for existence else it fails + if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ] && + ! ${@bb.utils.contains('PACKAGECONFIG', 'networkd', 'true', 'false', d)}; then + echo 'd /run/systemd/netif/links 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + fi + if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then + echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + else + sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then + rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf + rm -r ${D}${sysconfdir}/X11 + fi + + # If polkit is setup fixup permissions and ownership + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then + if [ -d ${D}${datadir}/polkit-1/rules.d ]; then + chmod 700 ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}${datadir}/polkit-1/rules.d + fi + fi + + # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to + # request hostname changes via DBUS without elevating its privileges + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ + install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ + install -d ${D}${datadir}/dbus-1/system.d/ + install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ + fi + + # create link for existing udev rules + ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm + + # install default policy for presets + # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto + install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset + + # add a profile fragment to disable systemd pager with busybox less + install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh + + if [ -n "${WATCHDOG_TIMEOUT}" ]; then + sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ + ${D}/${sysconfdir}/systemd/system.conf + fi +} + +python populate_packages:prepend (){ + systemdlibdir = d.getVar("rootlibdir") + do_split_packages(d, systemdlibdir, r'^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) +} +PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" + +PACKAGE_BEFORE_PN = "\ + ${PN}-gui \ + ${PN}-vconsole-setup \ + ${PN}-initramfs \ + ${PN}-analyze \ + ${PN}-kernel-install \ + ${PN}-rpm-macros \ + ${PN}-binfmt \ + ${PN}-zsh-completion \ + ${PN}-container \ + ${PN}-journal-gatewayd \ + ${PN}-journal-upload \ + ${PN}-journal-remote \ + ${PN}-extra-utils \ + ${PN}-udev-rules \ + libsystemd-shared \ + udev \ + udev-hwdb \ +" + +SUMMARY:${PN}-container = "Tools for containers and VMs" +DESCRIPTION:${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." + +SUMMARY:${PN}-journal-gatewayd = "HTTP server for journal events" +DESCRIPTION:${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." + +SUMMARY:${PN}-journal-upload = "Send journal messages over the network" +DESCRIPTION:${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." + +SUMMARY:${PN}-journal-remote = "Receive journal messages over the network" +DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." + +SUMMARY:libsystemd-shared = "Systemd shared library" + +SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service" + +USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +GROUPADD_PARAM:${PN} = "-r systemd-journal;" +GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" +USERADD_PARAM:${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" +USERADD_PARAM:${PN}-journal-gatewayd = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" +USERADD_PARAM:${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" +USERADD_PARAM:${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" + +FILES:${PN}-analyze = "${bindir}/systemd-analyze" + +FILES:${PN}-initramfs = "/init" +RDEPENDS:${PN}-initramfs = "${PN}" + +FILES:${PN}-gui = "${bindir}/systemadm" + +FILES:${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ + ${systemd_system_unitdir}/systemd-vconsole-setup.service \ + ${systemd_system_unitdir}/sysinit.target.wants/systemd-vconsole-setup.service" + +RDEPENDS:${PN}-kernel-install += "bash" +FILES:${PN}-kernel-install = "${bindir}/kernel-install \ + ${sysconfdir}/kernel/ \ + ${exec_prefix}/lib/kernel \ + " +FILES:${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ + " + +FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions" + +FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ + ${exec_prefix}/lib/binfmt.d \ + ${rootlibexecdir}/systemd/systemd-binfmt \ + ${systemd_system_unitdir}/proc-sys-fs-binfmt_misc.* \ + ${systemd_system_unitdir}/systemd-binfmt.service" +RRECOMMENDS:${PN}-binfmt = "kernel-module-binfmt-misc" + +RRECOMMENDS:${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" + + +FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ + ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ + ${datadir}/systemd/gatewayd/browse.html \ + " +SYSTEMD_SERVICE:${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" + +FILES:${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ + ${systemd_system_unitdir}/systemd-journal-upload.service \ + ${sysconfdir}/systemd/journal-upload.conf \ + " +SYSTEMD_SERVICE:${PN}-journal-upload = "systemd-journal-upload.service" + +FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ + ${sysconfdir}/systemd/journal-remote.conf \ + ${systemd_system_unitdir}/systemd-journal-remote.service \ + ${systemd_system_unitdir}/systemd-journal-remote.socket \ + " +SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" + + +FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ + ${base_bindir}/machinectl \ + ${bindir}/systemd-nspawn \ + ${nonarch_libdir}/systemd/import-pubring.gpg \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machine.slice \ + ${systemd_system_unitdir}/machines.target \ + ${systemd_system_unitdir}/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/systemd-importd.service \ + ${systemd_system_unitdir}/systemd-machined.service \ + ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ + ${systemd_system_unitdir}/var-lib-machines.mount \ + ${rootlibexecdir}/systemd/systemd-import \ + ${rootlibexecdir}/systemd/systemd-importd \ + ${rootlibexecdir}/systemd/systemd-machined \ + ${rootlibexecdir}/systemd/systemd-pull \ + ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ + ${exec_prefix}/lib/tmpfiles.d/README \ + ${systemd_system_unitdir}/systemd-nspawn@.service \ + ${libdir}/libnss_mymachines.so.2 \ + ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ + ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ + ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ + ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ + " + +# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. +RRECOMMENDS:${PN}-container += "\ + ${PN}-journal-gatewayd \ + ${PN}-journal-remote \ + ${PN}-journal-upload \ + kernel-module-dm-mod \ + kernel-module-loop \ + kernel-module-tun \ + tar \ + " + +FILES:${PN}-extra-utils = "\ + ${base_bindir}/systemd-escape \ + ${base_bindir}/systemd-inhibit \ + ${bindir}/systemd-detect-virt \ + ${bindir}/systemd-dissect \ + ${bindir}/systemd-path \ + ${bindir}/systemd-run \ + ${bindir}/systemd-cat \ + ${bindir}/systemd-delta \ + ${bindir}/systemd-cgls \ + ${bindir}/systemd-cgtop \ + ${bindir}/systemd-stdio-bridge \ + ${bindir}/systemd-sysext \ + ${base_bindir}/systemd-ask-password \ + ${base_bindir}/systemd-tty-ask-password-agent \ + ${systemd_system_unitdir}/systemd-ask-password-console.path \ + ${systemd_system_unitdir}/systemd-ask-password-console.service \ + ${systemd_system_unitdir}/systemd-ask-password-wall.path \ + ${systemd_system_unitdir}/systemd-ask-password-wall.service \ + ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-console.path \ + ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-wall.path \ + ${systemd_system_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path \ + ${rootlibexecdir}/systemd/systemd-resolve-host \ + ${rootlibexecdir}/systemd/systemd-ac-power \ + ${rootlibexecdir}/systemd/systemd-activate \ + ${rootlibexecdir}/systemd/systemd-bus-proxyd \ + ${systemd_system_unitdir}/systemd-bus-proxyd.service \ + ${systemd_system_unitdir}/systemd-bus-proxyd.socket \ + ${rootlibexecdir}/systemd/systemd-socket-proxyd \ + ${rootlibexecdir}/systemd/systemd-reply-password \ + ${rootlibexecdir}/systemd/systemd-sleep \ + ${rootlibexecdir}/systemd/system-sleep \ + ${systemd_system_unitdir}/systemd-hibernate.service \ + ${systemd_system_unitdir}/systemd-hybrid-sleep.service \ + ${systemd_system_unitdir}/systemd-suspend.service \ + ${systemd_system_unitdir}/sleep.target \ + ${rootlibexecdir}/systemd/systemd-initctl \ + ${systemd_system_unitdir}/systemd-initctl.service \ + ${systemd_system_unitdir}/systemd-initctl.socket \ + ${systemd_system_unitdir}/sockets.target.wants/systemd-initctl.socket \ + ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ + ${rootlibexecdir}/systemd/systemd-cgroups-agent \ +" + +FILES:${PN}-udev-rules = "\ + ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ + ${rootlibexecdir}/udev/rules.d/71-seat.rules \ + ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ + ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ +" + +CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ + ${sysconfdir}/systemd/journald.conf \ + ${sysconfdir}/systemd/logind.conf \ + ${sysconfdir}/systemd/networkd.conf \ + ${sysconfdir}/systemd/pstore.conf \ + ${sysconfdir}/systemd/resolved.conf \ + ${sysconfdir}/systemd/sleep.conf \ + ${sysconfdir}/systemd/system.conf \ + ${sysconfdir}/systemd/timesyncd.conf \ + ${sysconfdir}/systemd/user.conf \ +" + +FILES:${PN} = " ${base_bindir}/* \ + ${base_sbindir}/shutdown \ + ${base_sbindir}/halt \ + ${base_sbindir}/poweroff \ + ${base_sbindir}/runlevel \ + ${base_sbindir}/telinit \ + ${base_sbindir}/resolvconf \ + ${base_sbindir}/reboot \ + ${base_sbindir}/init \ + ${datadir}/dbus-1/services \ + ${datadir}/dbus-1/system-services \ + ${datadir}/polkit-1 \ + ${datadir}/${BPN} \ + ${datadir}/factory \ + ${sysconfdir}/dbus-1/ \ + ${sysconfdir}/modules-load.d/ \ + ${sysconfdir}/pam.d/ \ + ${sysconfdir}/profile.d/ \ + ${sysconfdir}/sysctl.d/ \ + ${sysconfdir}/systemd/ \ + ${sysconfdir}/tmpfiles.d/ \ + ${sysconfdir}/xdg/ \ + ${sysconfdir}/init.d/README \ + ${sysconfdir}/resolv-conf.systemd \ + ${sysconfdir}/X11/xinit/xinitrc.d/* \ + ${rootlibexecdir}/systemd/* \ + ${libdir}/pam.d \ + ${nonarch_libdir}/pam.d \ + ${systemd_unitdir}/* \ + ${base_libdir}/security/*.so \ + /cgroup \ + ${bindir}/systemd* \ + ${bindir}/busctl \ + ${bindir}/coredumpctl \ + ${bindir}/localectl \ + ${bindir}/hostnamectl \ + ${bindir}/resolvectl \ + ${bindir}/timedatectl \ + ${bindir}/bootctl \ + ${bindir}/oomctl \ + ${exec_prefix}/lib/tmpfiles.d/*.conf \ + ${exec_prefix}/lib/systemd \ + ${exec_prefix}/lib/modules-load.d \ + ${exec_prefix}/lib/sysctl.d \ + ${exec_prefix}/lib/sysusers.d \ + ${exec_prefix}/lib/environment.d \ + ${localstatedir} \ + ${rootlibexecdir}/modprobe.d/systemd.conf \ + ${rootlibexecdir}/modprobe.d/README \ + ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.home1.conf \ + " + +FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" + +RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" +RDEPENDS:${PN} += "volatile-binds" + +RRECOMMENDS:${PN} += "systemd-extra-utils \ + udev-hwdb \ + e2fsprogs-e2fsck \ + kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ + os-release \ + systemd-conf \ +" + +INSANE_SKIP:${PN} += "dev-so libdir" +INSANE_SKIP:${PN}-dbg += "libdir" +INSANE_SKIP:${PN}-doc += " libdir" +INSANE_SKIP:libsystemd-shared += "libdir" + +FILES:libsystemd-shared = "${rootlibexecdir}/systemd/libsystemd-shared*.so" + +RPROVIDES:udev = "hotplug" + +RDEPENDS:udev-hwdb += "udev" + +FILES:udev += "${base_sbindir}/udevd \ + ${rootlibexecdir}/systemd/network/99-default.link \ + ${rootlibexecdir}/systemd/systemd-udevd \ + ${rootlibexecdir}/udev/accelerometer \ + ${rootlibexecdir}/udev/ata_id \ + ${rootlibexecdir}/udev/cdrom_id \ + ${rootlibexecdir}/udev/collect \ + ${rootlibexecdir}/udev/dmi_memory_id \ + ${rootlibexecdir}/udev/fido_id \ + ${rootlibexecdir}/udev/findkeyboards \ + ${rootlibexecdir}/udev/keyboard-force-release.sh \ + ${rootlibexecdir}/udev/keymap \ + ${rootlibexecdir}/udev/mtd_probe \ + ${rootlibexecdir}/udev/scsi_id \ + ${rootlibexecdir}/udev/v4l_id \ + ${rootlibexecdir}/udev/keymaps \ + ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ + ${rootlibexecdir}/udev/rules.d/60-block.rules \ + ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ + ${rootlibexecdir}/udev/rules.d/60-drm.rules \ + ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ + ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ + ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ + ${rootlibexecdir}/udev/rules.d/60-serial.rules \ + ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ + ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ + ${rootlibexecdir}/udev/rules.d/70-camera.rules \ + ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ + ${rootlibexecdir}/udev/rules.d/70-memory.rules \ + ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ + ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ + ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ + ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ + ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ + ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ + ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ + ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ + ${rootlibexecdir}/udev/rules.d/81-net-dhcp.rules \ + ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ + ${rootlibexecdir}/udev/rules.d/README \ + ${sysconfdir}/udev \ + ${sysconfdir}/init.d/systemd-udevd \ + ${systemd_system_unitdir}/*udev* \ + ${systemd_system_unitdir}/*.wants/*udev* \ + ${base_bindir}/systemd-hwdb \ + ${base_bindir}/udevadm \ + ${base_sbindir}/udevadm \ + ${datadir}/bash-completion/completions/udevadm \ + ${systemd_system_unitdir}/systemd-hwdb-update.service \ + " + +FILES:udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ + " + +RCONFLICTS:${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" + +INITSCRIPT_PACKAGES = "udev" +INITSCRIPT_NAME:udev = "systemd-udevd" +INITSCRIPT_PARAMS:udev = "start 03 S ." + +python __anonymous() { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") + + if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d): + bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]") + + if bb.utils.contains('PACKAGECONFIG', 'homed', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'userdb openssl cryptsetup', True, False, d): + bb.error("PACKAGECONFIG[homed] requires PACKAGECONFIG[userdb], PACKAGECONFIG[openssl] and PACKAGECONFIG[cryptsetup]") +} + +python do_warn_musl() { + if d.getVar('TCLIBC') == "musl": + bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") +} +addtask warn_musl before do_configure + +ALTERNATIVE:${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" + +ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" +ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" + +ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" +ALTERNATIVE_PRIORITY[halt] ?= "300" + +ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" +ALTERNATIVE_PRIORITY[reboot] ?= "300" + +ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" +ALTERNATIVE_PRIORITY[shutdown] ?= "300" + +ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" +ALTERNATIVE_PRIORITY[poweroff] ?= "300" + +ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" +ALTERNATIVE_PRIORITY[runlevel] ?= "300" + +pkg_postinst:${PN}:libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ + -i $D${sysconfdir}/nsswitch.conf +} + +pkg_prerm:${PN}:libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*myhostname//' \ + -i $D${sysconfdir}/nsswitch.conf +} + +PACKAGE_WRITE_DEPS += "qemu-native" +pkg_postinst:udev-hwdb () { + if test -n "$D"; then + $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" + else + udevadm hwdb --update + fi +} + +pkg_prerm:udev-hwdb () { + rm -f $D${sysconfdir}/udev/hwdb.bin +} diff --git a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh index 5ba66e98e2..c8b773bc07 100644 --- a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh +++ b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh @@ -6,6 +6,7 @@ BASE_INIT="`readlink -f "@base_sbindir@/init"`" INIT_SYSTEMD="@systemd_unitdir@/systemd" +MOUNT_BASE="@MOUNT_BASE@" if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then # systemd as init uses systemd-mount to mount block devices @@ -40,7 +41,7 @@ automount_systemd() { # Skip already mounted partitions if [ -f /run/systemd/transient/run-media-$name.mount ]; then - logger "mount.sh/automount" "/run/media/$name already mounted" + logger "mount.sh/automount" "$MOUNT_BASE/$name already mounted" return fi @@ -53,7 +54,7 @@ automount_systemd() { grep "^[[:space:]]*$tmp" /etc/fstab && return done - [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" + [ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name" MOUNT="$MOUNT -o silent" @@ -70,12 +71,12 @@ automount_systemd() { ;; esac - if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name" + if ! $MOUNT --no-block -t auto $DEVNAME "$MOUNT_BASE/$name" then - #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" - rm_dir "/run/media/$name" + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!" + rm_dir "$MOUNT_BASE/$name" else - logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" + logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful" touch "/tmp/.automount-$name" fi } @@ -93,7 +94,7 @@ automount() { # configured in fstab grep -q "^$DEVNAME " /proc/mounts && return - ! test -d "/run/media/$name" && mkdir -p "/run/media/$name" + ! test -d "$MOUNT_BASE/$name" && mkdir -p "$MOUNT_BASE/$name" # Silent util-linux's version of mounting auto if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ; then @@ -113,12 +114,12 @@ automount() { ;; esac - if ! $MOUNT -t auto $DEVNAME "/run/media/$name" + if ! $MOUNT -t auto $DEVNAME "$MOUNT_BASE/$name" then - #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" - rm_dir "/run/media/$name" + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!" + rm_dir "$MOUNT_BASE/$name" else - logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" + logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful" touch "/tmp/.automount-$name" fi } @@ -157,5 +158,5 @@ if [ "$ACTION" = "remove" ] || [ "$ACTION" = "change" ] && [ -x "$UMOUNT" ] && [ # Remove empty directories from auto-mounter name="`basename "$DEVNAME"`" - test -e "/tmp/.automount-$name" && rm_dir "/run/media/$name" + test -e "/tmp/.automount-$name" && rm_dir "$MOUNT_BASE/$name" fi diff --git a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb index 7da04379c0..2b908ac05b 100644 --- a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb +++ b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb @@ -15,6 +15,7 @@ SRC_URI = " \ S = "${WORKDIR}" +MOUNT_BASE = "/run/media" do_install() { install -d ${D}${sysconfdir}/udev/rules.d @@ -31,6 +32,7 @@ do_install() { install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh + sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts } diff --git a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb index 95c25e3036..1d94dd118c 100644 --- a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb +++ b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb @@ -31,8 +31,14 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" # the package is taken from snapshots.debian.org; that source is static and goes stale # so we check the latest upstream from a directory that does get updated UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" - -inherit cmake perlnative bash-completion upstream-version-is-even useradd +# apt seems to follow a peculiar version policy, where every *other* even version +# is considered stable, e.g. 1.0, 1.4, 1.8, 2.2, 2.6, etc. As there is no way +# to express 'divisible by 4 plus 2' in regex (that I know of), let's hardcode a few. +UPSTREAM_CHECK_REGEX = "[^\d\.](?P((2\.2)|(2\.6)|(3\.0)|(3\.4)|(3\.8)|(4\.2))(\.\d+)+)\.tar" +# needs be marked as unknown until 2.6 is out +UPSTREAM_VERSION_UNKNOWN = "1" + +inherit cmake perlnative bash-completion useradd # User is added to allow apt to drop privs, will runtime warn without USERADD_PACKAGES = "${PN}" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb deleted file mode 100644 index 4ab486c465..0000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ - file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \ -" -SECTION = "base" -DEPENDS = "lzo util-linux zlib" - -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " -SRCREV = "31458c9c81935abbed010221261897273a98d2c1" -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= " \ - programs \ - convert \ - python \ - crypto-builtin \ -" -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" -PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" -PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned" -PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" -PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" -PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev" - -# Pick only one crypto provider -PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" -PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" -PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" -PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" - -inherit autotools-brokensep pkgconfig manpages -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)} - -CLEANBROKEN = "1" - -EXTRA_OECONF = "--enable-largefile" -EXTRA_OECONF:append:libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS:class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure:prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - - -do_install:append() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python - fi -} - -RDEPENDS:${PN} = "libgcc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb new file mode 100644 index 0000000000..f5120d3980 --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb @@ -0,0 +1,72 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \ +" +SECTION = "base" +DEPENDS = "util-linux zlib" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " +SRCREV = "f9e303584272b81b05b926a0cc9010f43af12a03" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + programs \ + convert \ + python \ + crypto-builtin \ +" +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native" +PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" +PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" +PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" +PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" +PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev" + +# Pick only one crypto provider +PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" +PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" +PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" +PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" + +inherit autotools-brokensep pkgconfig manpages +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)} + +CLEANBROKEN = "1" + +EXTRA_OECONF = "--enable-largefile" +EXTRA_OECONF:append:libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS:class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure:prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + + +do_install:append() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + fi +} + +RDEPENDS:${PN} = "libgcc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb new file mode 100644 index 0000000000..0d6471ddbc --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "a fast C/C++ compiler cache" +DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ +by caching the result of previous compilations and detecting when the \ +same compilation is being done again. Supported languages are C, C\+\+, \ +Objective-C and Objective-C++." +HOMEPAGE = "http://ccache.samba.org" +SECTION = "devel" + +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=7a19377a02749d8a1281ed608169b0ee" + +DEPENDS = "zstd" + +SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \ + file://0001-xxhash.h-Fix-build-with-gcc-12.patch \ +" +SRC_URI[sha256sum] = "59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc" + +UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" + +inherit cmake + +PATCHTOOL = "patch" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc" +PACKAGECONFIG[redis] = "-DREDIS_STORAGE_BACKEND=ON,-DREDIS_STORAGE_BACKEND=OFF,hiredis" diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.6.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.bb deleted file mode 100644 index f019679cf1..0000000000 --- a/poky/meta/recipes-devtools/ccache/ccache_4.6.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "a fast C/C++ compiler cache" -DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ -by caching the result of previous compilations and detecting when the \ -same compilation is being done again. Supported languages are C, C\+\+, \ -Objective-C and Objective-C++." -HOMEPAGE = "http://ccache.samba.org" -SECTION = "devel" - -LICENSE = "GPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=ff5327dc93e2b286c931dda3d6079da9" - -DEPENDS = "zstd" - -SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" -SRC_URI[sha256sum] = "73a1767ac6b7c0404a1a55f761a746d338e702883c7137fbf587023062258625" - -UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" - -inherit cmake - -PATCHTOOL = "patch" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc" -PACKAGECONFIG[redis] = "-DREDIS_STORAGE_BACKEND=ON,-DREDIS_STORAGE_BACKEND=OFF,hiredis" diff --git a/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch new file mode 100644 index 0000000000..4c2623e69d --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch @@ -0,0 +1,39 @@ +From cfde5ba7d10ae1e9d0c259dd1e7027e9bad8f83c Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Mon, 6 Jun 2022 17:53:20 +0800 +Subject: [PATCH] xxhash.h: Fix build with gcc-12 + +Remove inline attribute to fix below build failure: + | /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:3932:1: error: inlining failed in call to 'always_inline' 'XXH3_accumulate_512_sse2': function not considered for inlining + 3932 | XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc, + | ^~~~~~~~~~~~~~~~~~~~~~~~ + /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:4369:9: note: called from here + 4369 | f_acc512(acc, + | ^~~~~~~~~~~~~ + 4370 | in, + | ~~~ + 4371 | secret + n*XXH_SECRET_CONSUME_RATE); + +Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1089] + +Signed-off-by: Mingli Yu +--- + src/third_party/xxhash.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/third_party/xxhash.h b/src/third_party/xxhash.h +index 08ab794..c754e99 100644 +--- a/src/third_party/xxhash.h ++++ b/src/third_party/xxhash.h +@@ -1501,7 +1501,7 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) + # define XXH_NO_INLINE static + /* enable inlining hints */ + #elif defined(__GNUC__) || defined(__clang__) +-# define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused)) ++# define XXH_FORCE_INLINE static + # define XXH_NO_INLINE static __attribute__((noinline)) + #elif defined(_MSC_VER) /* Visual Studio */ + # define XXH_FORCE_INLINE static __forceinline +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb deleted file mode 100644 index 722a486f20..0000000000 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb +++ /dev/null @@ -1,64 +0,0 @@ -require cmake.inc -inherit native - -DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native" - -SRC_URI += "file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ - file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ - " - -LICENSE:append = " & BSD-1-Clause & MIT & BSD-2-Clause" -LIC_FILES_CHKSUM:append = " \ - file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \ - file://Utilities/cmlibarchive/COPYING;md5=d499814247adaee08d88080841cb5665 \ - file://Utilities/cmexpat/COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9 \ - file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ - file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \ -" - -B = "${WORKDIR}/build" -do_configure[cleandirs] = "${B}" - -CMAKE_EXTRACONF = "\ - -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - -DBUILD_CursesDialog=1 \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ - -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ - -DHAVE_SYS_ACL_H=0 \ -" - -do_configure () { - ${S}/configure --verbose --prefix=${prefix} \ - ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ - ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ - -- ${CMAKE_EXTRACONF} -} - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - # The following codes are here because eSDK needs to provide compatibilty - # for SDK. That is, eSDK could also be used like traditional SDK. - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - mkdir -p ${D}${base_prefix}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh - - # Help docs create tons of files in the native sysroot and aren't needed there - rm -rf ${D}${datadir}/cmake-*/Help -} - -do_compile[progress] = "percent" - -SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb new file mode 100644 index 0000000000..722a486f20 --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb @@ -0,0 +1,64 @@ +require cmake.inc +inherit native + +DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native" + +SRC_URI += "file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ + file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ + " + +LICENSE:append = " & BSD-1-Clause & MIT & BSD-2-Clause" +LIC_FILES_CHKSUM:append = " \ + file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \ + file://Utilities/cmlibarchive/COPYING;md5=d499814247adaee08d88080841cb5665 \ + file://Utilities/cmexpat/COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9 \ + file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ + file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \ +" + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +CMAKE_EXTRACONF = "\ + -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + -DBUILD_CursesDialog=1 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ + -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ + -DHAVE_SYS_ACL_H=0 \ +" + +do_configure () { + ${S}/configure --verbose --prefix=${prefix} \ + ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ + ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ + -- ${CMAKE_EXTRACONF} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + # The following codes are here because eSDK needs to provide compatibilty + # for SDK. That is, eSDK could also be used like traditional SDK. + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + mkdir -p ${D}${base_prefix}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh + + # Help docs create tons of files in the native sysroot and aren't needed there + rm -rf ${D}${datadir}/cmake-*/Help +} + +do_compile[progress] = "percent" + +SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc index 934d577acf..4a6884e871 100644 --- a/poky/meta/recipes-devtools/cmake/cmake.inc +++ b/poky/meta/recipes-devtools/cmake/cmake.inc @@ -21,7 +21,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \ " -SRC_URI[sha256sum] = "33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3" +SRC_URI[sha256sum] = "f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa" UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb b/poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb deleted file mode 100644 index bb7ed83e30..0000000000 --- a/poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb +++ /dev/null @@ -1,67 +0,0 @@ -require cmake.inc - -inherit cmake bash-completion - -DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" - -SRC_URI:append:class-nativesdk = " \ - file://OEToolchainConfig.cmake \ - file://SDKToolchainConfig.cmake.template \ - file://cmake-setup.py \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ -" - -LICENSE:append = " & BSD-1-Clause & MIT" -LIC_FILES_CHKSUM:append = " \ - file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \ - file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ - file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \ -" - -# Strip ${prefix} from ${docdir}, set result into docdir_stripped -python () { - prefix=d.getVar("prefix") - docdir=d.getVar("docdir") - - if not docdir.startswith(prefix): - bb.fatal('docdir must contain prefix as its prefix') - - docdir_stripped = docdir[len(prefix):] - if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': - docdir_stripped = docdir_stripped[1:] - - d.setVar("docdir_stripped", docdir_stripped) -} - -EXTRA_OECMAKE=" \ - -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DKWSYS_CHAR_IS_SIGNED=1 \ - -DBUILD_CursesDialog=0 \ - -DKWSYS_LFS_WORKS=1 \ -" - -do_install:append:class-nativesdk() { - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh - - # install cmake-setup.py to create arch-specific toolchain cmake file from template - install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/ - install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d - install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ -} - -FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" - -FILES:${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" -FILES:${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" -FILES:${PN}-dev = "" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb new file mode 100644 index 0000000000..bb7ed83e30 --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb @@ -0,0 +1,67 @@ +require cmake.inc + +inherit cmake bash-completion + +DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" + +SRC_URI:append:class-nativesdk = " \ + file://OEToolchainConfig.cmake \ + file://SDKToolchainConfig.cmake.template \ + file://cmake-setup.py \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ +" + +LICENSE:append = " & BSD-1-Clause & MIT" +LIC_FILES_CHKSUM:append = " \ + file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \ + file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ + file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \ +" + +# Strip ${prefix} from ${docdir}, set result into docdir_stripped +python () { + prefix=d.getVar("prefix") + docdir=d.getVar("docdir") + + if not docdir.startswith(prefix): + bb.fatal('docdir must contain prefix as its prefix') + + docdir_stripped = docdir[len(prefix):] + if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': + docdir_stripped = docdir_stripped[1:] + + d.setVar("docdir_stripped", docdir_stripped) +} + +EXTRA_OECMAKE=" \ + -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DKWSYS_CHAR_IS_SIGNED=1 \ + -DBUILD_CursesDialog=0 \ + -DKWSYS_LFS_WORKS=1 \ +" + +do_install:append:class-nativesdk() { + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh + + # install cmake-setup.py to create arch-specific toolchain cmake file from template + install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/ + install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d + install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ +} + +FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" + +FILES:${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" +FILES:${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" +FILES:${PN}-dev = "" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb deleted file mode 100644 index d621e72d4e..0000000000 --- a/poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver" -DESCRIPTION = "Software package manager that installs, updates, and removes \ -packages on RPM-based Linux distributions. It automatically computes \ -dependencies and determines the actions required to install packages." -HOMEPAGE = "https://github.com/rpm-software-management/dnf" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \ - " - -SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protocol=https \ - file://0001-Corretly-install-tmpfiles.d-configuration.patch \ - file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \ - file://0005-Do-not-prepend-installroot-to-logdir.patch \ - file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - file://0030-Run-python-scripts-using-env.patch \ - file://0001-set-python-path-for-completion_helper.patch \ - file://0001-dnf-write-the-log-lock-to-root.patch \ - " - -SRCREV = "956b5c74bab2affde27f404e7aee98c10818b188" -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -inherit cmake gettext bash-completion setuptools3-base systemd - -DEPENDS += "libdnf librepo libcomps python3-iniparse" - -# manpages generation requires http://www.sphinx-doc.org/ -EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS:${PN} += " \ - python3-core \ - python3-codecs \ - python3-netclient \ - python3-email \ - python3-threading \ - python3-logging \ - python3-fcntl \ - librepo \ - python3-shell \ - libcomps \ - libdnf \ - python3-sqlite3 \ - python3-compression \ - python3-rpm \ - python3-iniparse \ - python3-json \ - python3-curses \ - python3-misc \ - python3-gpg \ - " - -RDEPENDS:${PN}:class-native = "" - -RRECOMMENDS:${PN}:class-target += "gnupg" - -# Create a symlink called 'dnf' as 'make install' does not do it, but -# .spec file in dnf source tree does (and then Fedora and dnf documentation -# says that dnf binary is plain 'dnf'). -do_install:append() { - ln -rs ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf - ln -rs ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic -} - -# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in -do_install:append:class-native() { - create_wrapper ${D}/${bindir}/dnf \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 -} - -do_install:append:class-nativesdk() { - create_wrapper ${D}/${bindir}/dnf \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 -} - -SYSTEMD_SERVICE:${PN} = "dnf-makecache.service dnf-makecache.timer \ - dnf-automatic.service dnf-automatic.timer \ - dnf-automatic-download.service dnf-automatic-download.timer \ - dnf-automatic-install.service dnf-automatic-install.timer \ - dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \ -" -SYSTEMD_AUTO_ENABLE ?= "disable" - -SKIP_RECIPE[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb new file mode 100644 index 0000000000..bf89ceb275 --- /dev/null +++ b/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb @@ -0,0 +1,90 @@ +SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver" +DESCRIPTION = "Software package manager that installs, updates, and removes \ +packages on RPM-based Linux distributions. It automatically computes \ +dependencies and determines the actions required to install packages." +HOMEPAGE = "https://github.com/rpm-software-management/dnf" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \ + " + +SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protocol=https \ + file://0001-Corretly-install-tmpfiles.d-configuration.patch \ + file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \ + file://0005-Do-not-prepend-installroot-to-logdir.patch \ + file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + file://0030-Run-python-scripts-using-env.patch \ + file://0001-set-python-path-for-completion_helper.patch \ + file://0001-dnf-write-the-log-lock-to-root.patch \ + " + +SRCREV = "ef09e48fc3ebbbaf4dfa478e6e0532706506f091" +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit cmake gettext bash-completion setuptools3-base systemd + +DEPENDS += "libdnf librepo libcomps python3-iniparse" + +# manpages generation requires http://www.sphinx-doc.org/ +EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += " \ + python3-core \ + python3-codecs \ + python3-netclient \ + python3-email \ + python3-threading \ + python3-logging \ + python3-fcntl \ + librepo \ + python3-shell \ + libcomps \ + libdnf \ + python3-sqlite3 \ + python3-compression \ + python3-rpm \ + python3-iniparse \ + python3-json \ + python3-curses \ + python3-misc \ + python3-gpg \ + " + +RDEPENDS:${PN}:class-native = "" + +RRECOMMENDS:${PN}:class-target += "gnupg" + +# Create a symlink called 'dnf' as 'make install' does not do it, but +# .spec file in dnf source tree does (and then Fedora and dnf documentation +# says that dnf binary is plain 'dnf'). +do_install:append() { + ln -rs ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf + ln -rs ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic +} + +# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in +do_install:append:class-native() { + create_wrapper ${D}/${bindir}/dnf \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 +} + +do_install:append:class-nativesdk() { + create_wrapper ${D}/${bindir}/dnf \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 +} + +SYSTEMD_SERVICE:${PN} = "dnf-makecache.service dnf-makecache.timer \ + dnf-automatic.service dnf-automatic.timer \ + dnf-automatic-download.service dnf-automatic-download.timer \ + dnf-automatic-install.service dnf-automatic-install.timer \ + dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \ +" +SYSTEMD_AUTO_ENABLE ?= "disable" + +SKIP_RECIPE[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb deleted file mode 100644 index 902cc03bcd..0000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb +++ /dev/null @@ -1,23 +0,0 @@ -require dpkg.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main \ - file://noman.patch \ - file://remove-tar-no-timestamp.patch \ - file://arch_pm.patch \ - file://add_armeb_triplet_entry.patch \ - file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ - file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ - file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ - file://0006-add-musleabi-to-known-target-tripets.patch \ - file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ - file://0001-dpkg-Support-muslx32-build.patch \ - file://pager.patch \ - file://0001-Add-support-for-riscv32-CPU.patch \ - " - -SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" - -SRCREV = "e61f582015a9c67bbb3791cb93a864cfeb9c7151" - -S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb new file mode 100644 index 0000000000..0d6b43aabb --- /dev/null +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb @@ -0,0 +1,23 @@ +require dpkg.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main \ + file://noman.patch \ + file://remove-tar-no-timestamp.patch \ + file://arch_pm.patch \ + file://add_armeb_triplet_entry.patch \ + file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ + file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ + file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ + file://0006-add-musleabi-to-known-target-tripets.patch \ + file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ + file://0001-dpkg-Support-muslx32-build.patch \ + file://pager.patch \ + file://0001-Add-support-for-riscv32-CPU.patch \ + " + +SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" + +SRCREV = "a154134fe70c0b823ae14905bdc33b64e7dcd454" + +S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb index ec48f419c7..5b2d1921f0 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb @@ -51,6 +51,7 @@ do_install () { oe_multilib_header ext2fs/ext2_types.h install -d ${D}${base_bindir} mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs + mv ${D}${bindir}/lsattr ${D}${base_bindir}/lsattr.e2fsprogs install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ @@ -99,10 +100,12 @@ FILES:libe2p = "${base_libdir}/libe2p.so.*" FILES:libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" FILES:${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" -ALTERNATIVE:${PN} = "chattr" +ALTERNATIVE:${PN} = "chattr lsattr" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr" ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs" +ALTERNATIVE_LINK_NAME[lsattr] = "${base_bindir}/lsattr" +ALTERNATIVE_TARGET[lsattr] = "${base_bindir}/lsattr.e2fsprogs" ALTERNATIVE:${PN}-doc = "fsck.8" ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" diff --git a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc b/poky/meta/recipes-devtools/gcc/gcc-12.1.inc index c8c4ae93e1..250b587e78 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-12.1.inc @@ -11,7 +11,7 @@ BINV = "12.1.0" FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" DEPENDS =+ "mpfr gmp libmpc zlib flex-native" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native zstd-native" LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index 168486bd4e..a87b446c4f 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -175,7 +175,7 @@ do_install () { } ELFUTILS = "nativesdk-elfutils" -DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib" +DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib nativesdk-zstd" RDEPENDS:${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}" SYSTEMHEADERS = "${target_includedir}/" diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb index 0b5301cbff..67ed1eab00 100644 --- a/poky/meta/recipes-devtools/llvm/llvm_git.bb +++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb @@ -19,14 +19,14 @@ inherit cmake pkgconfig PROVIDES += "llvm${PV}" -PV = "14.0.3" +PV = "14.0.4" MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" LLVM_RELEASE = "${PV}" BRANCH = "release/${MAJOR_VERSION}.x" -SRCREV = "1f9140064dfbfb0bbda8e51306ea51080b2f7aac" +SRCREV = "29f1039a7285a5c3a9c353d054140bf2556d4c4d" SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \ file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \ file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ diff --git a/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch b/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch deleted file mode 100644 index 3a8902b97a..0000000000 --- a/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch +++ /dev/null @@ -1,346 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -diff -ruN makedevs-1.0.0-orig/COPYING makedevs-1.0.0/COPYING ---- makedevs-1.0.0-orig/COPYING 1970-01-01 08:00:00.000000000 +0800 -+++ makedevs-1.0.0/COPYING 2010-12-09 16:42:20.274984665 +0800 -@@ -0,0 +1,340 @@ -+ GNU GENERAL PUBLIC LICENSE -+ Version 2, June 1991 -+ -+ Copyright (C) 1989, 1991 Free Software Foundation, Inc. -+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ Everyone is permitted to copy and distribute verbatim copies -+ of this license document, but changing it is not allowed. -+ -+ Preamble -+ -+ The licenses for most software are designed to take away your -+freedom to share and change it. By contrast, the GNU General Public -+License is intended to guarantee your freedom to share and change free -+software--to make sure the software is free for all its users. This -+General Public License applies to most of the Free Software -+Foundation's software and to any other program whose authors commit to -+using it. (Some other Free Software Foundation software is covered by -+the GNU Library General Public License instead.) You can apply it to -+your programs, too. -+ -+ When we speak of free software, we are referring to freedom, not -+price. Our General Public Licenses are designed to make sure that you -+have the freedom to distribute copies of free software (and charge for -+this service if you wish), that you receive source code or can get it -+if you want it, that you can change the software or use pieces of it -+in new free programs; and that you know you can do these things. -+ -+ To protect your rights, we need to make restrictions that forbid -+anyone to deny you these rights or to ask you to surrender the rights. -+These restrictions translate to certain responsibilities for you if you -+distribute copies of the software, or if you modify it. -+ -+ For example, if you distribute copies of such a program, whether -+gratis or for a fee, you must give the recipients all the rights that -+you have. You must make sure that they, too, receive or can get the -+source code. And you must show them these terms so they know their -+rights. -+ -+ We protect your rights with two steps: (1) copyright the software, and -+(2) offer you this license which gives you legal permission to copy, -+distribute and/or modify the software. -+ -+ Also, for each author's protection and ours, we want to make certain -+that everyone understands that there is no warranty for this free -+software. If the software is modified by someone else and passed on, we -+want its recipients to know that what they have is not the original, so -+that any problems introduced by others will not reflect on the original -+authors' reputations. -+ -+ Finally, any free program is threatened constantly by software -+patents. We wish to avoid the danger that redistributors of a free -+program will individually obtain patent licenses, in effect making the -+program proprietary. To prevent this, we have made it clear that any -+patent must be licensed for everyone's free use or not licensed at all. -+ -+ The precise terms and conditions for copying, distribution and -+modification follow. -+ -+ GNU GENERAL PUBLIC LICENSE -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -+ -+ 0. This License applies to any program or other work which contains -+a notice placed by the copyright holder saying it may be distributed -+under the terms of this General Public License. The "Program", below, -+refers to any such program or work, and a "work based on the Program" -+means either the Program or any derivative work under copyright law: -+that is to say, a work containing the Program or a portion of it, -+either verbatim or with modifications and/or translated into another -+language. (Hereinafter, translation is included without limitation in -+the term "modification".) Each licensee is addressed as "you". -+ -+Activities other than copying, distribution and modification are not -+covered by this License; they are outside its scope. The act of -+running the Program is not restricted, and the output from the Program -+is covered only if its contents constitute a work based on the -+Program (independent of having been made by running the Program). -+Whether that is true depends on what the Program does. -+ -+ 1. You may copy and distribute verbatim copies of the Program's -+source code as you receive it, in any medium, provided that you -+conspicuously and appropriately publish on each copy an appropriate -+copyright notice and disclaimer of warranty; keep intact all the -+notices that refer to this License and to the absence of any warranty; -+and give any other recipients of the Program a copy of this License -+along with the Program. -+ -+You may charge a fee for the physical act of transferring a copy, and -+you may at your option offer warranty protection in exchange for a fee. -+ -+ 2. You may modify your copy or copies of the Program or any portion -+of it, thus forming a work based on the Program, and copy and -+distribute such modifications or work under the terms of Section 1 -+above, provided that you also meet all of these conditions: -+ -+ a) You must cause the modified files to carry prominent notices -+ stating that you changed the files and the date of any change. -+ -+ b) You must cause any work that you distribute or publish, that in -+ whole or in part contains or is derived from the Program or any -+ part thereof, to be licensed as a whole at no charge to all third -+ parties under the terms of this License. -+ -+ c) If the modified program normally reads commands interactively -+ when run, you must cause it, when started running for such -+ interactive use in the most ordinary way, to print or display an -+ announcement including an appropriate copyright notice and a -+ notice that there is no warranty (or else, saying that you provide -+ a warranty) and that users may redistribute the program under -+ these conditions, and telling the user how to view a copy of this -+ License. (Exception: if the Program itself is interactive but -+ does not normally print such an announcement, your work based on -+ the Program is not required to print an announcement.) -+ -+These requirements apply to the modified work as a whole. If -+identifiable sections of that work are not derived from the Program, -+and can be reasonably considered independent and separate works in -+themselves, then this License, and its terms, do not apply to those -+sections when you distribute them as separate works. But when you -+distribute the same sections as part of a whole which is a work based -+on the Program, the distribution of the whole must be on the terms of -+this License, whose permissions for other licensees extend to the -+entire whole, and thus to each and every part regardless of who wrote it. -+ -+Thus, it is not the intent of this section to claim rights or contest -+your rights to work written entirely by you; rather, the intent is to -+exercise the right to control the distribution of derivative or -+collective works based on the Program. -+ -+In addition, mere aggregation of another work not based on the Program -+with the Program (or with a work based on the Program) on a volume of -+a storage or distribution medium does not bring the other work under -+the scope of this License. -+ -+ 3. You may copy and distribute the Program (or a work based on it, -+under Section 2) in object code or executable form under the terms of -+Sections 1 and 2 above provided that you also do one of the following: -+ -+ a) Accompany it with the complete corresponding machine-readable -+ source code, which must be distributed under the terms of Sections -+ 1 and 2 above on a medium customarily used for software interchange; or, -+ -+ b) Accompany it with a written offer, valid for at least three -+ years, to give any third party, for a charge no more than your -+ cost of physically performing source distribution, a complete -+ machine-readable copy of the corresponding source code, to be -+ distributed under the terms of Sections 1 and 2 above on a medium -+ customarily used for software interchange; or, -+ -+ c) Accompany it with the information you received as to the offer -+ to distribute corresponding source code. (This alternative is -+ allowed only for noncommercial distribution and only if you -+ received the program in object code or executable form with such -+ an offer, in accord with Subsection b above.) -+ -+The source code for a work means the preferred form of the work for -+making modifications to it. For an executable work, complete source -+code means all the source code for all modules it contains, plus any -+associated interface definition files, plus the scripts used to -+control compilation and installation of the executable. However, as a -+special exception, the source code distributed need not include -+anything that is normally distributed (in either source or binary -+form) with the major components (compiler, kernel, and so on) of the -+operating system on which the executable runs, unless that component -+itself accompanies the executable. -+ -+If distribution of executable or object code is made by offering -+access to copy from a designated place, then offering equivalent -+access to copy the source code from the same place counts as -+distribution of the source code, even though third parties are not -+compelled to copy the source along with the object code. -+ -+ 4. You may not copy, modify, sublicense, or distribute the Program -+except as expressly provided under this License. Any attempt -+otherwise to copy, modify, sublicense or distribute the Program is -+void, and will automatically terminate your rights under this License. -+However, parties who have received copies, or rights, from you under -+this License will not have their licenses terminated so long as such -+parties remain in full compliance. -+ -+ 5. You are not required to accept this License, since you have not -+signed it. However, nothing else grants you permission to modify or -+distribute the Program or its derivative works. These actions are -+prohibited by law if you do not accept this License. Therefore, by -+modifying or distributing the Program (or any work based on the -+Program), you indicate your acceptance of this License to do so, and -+all its terms and conditions for copying, distributing or modifying -+the Program or works based on it. -+ -+ 6. Each time you redistribute the Program (or any work based on the -+Program), the recipient automatically receives a license from the -+original licensor to copy, distribute or modify the Program subject to -+these terms and conditions. You may not impose any further -+restrictions on the recipients' exercise of the rights granted herein. -+You are not responsible for enforcing compliance by third parties to -+this License. -+ -+ 7. If, as a consequence of a court judgment or allegation of patent -+infringement or for any other reason (not limited to patent issues), -+conditions are imposed on you (whether by court order, agreement or -+otherwise) that contradict the conditions of this License, they do not -+excuse you from the conditions of this License. If you cannot -+distribute so as to satisfy simultaneously your obligations under this -+License and any other pertinent obligations, then as a consequence you -+may not distribute the Program at all. For example, if a patent -+license would not permit royalty-free redistribution of the Program by -+all those who receive copies directly or indirectly through you, then -+the only way you could satisfy both it and this License would be to -+refrain entirely from distribution of the Program. -+ -+If any portion of this section is held invalid or unenforceable under -+any particular circumstance, the balance of the section is intended to -+apply and the section as a whole is intended to apply in other -+circumstances. -+ -+It is not the purpose of this section to induce you to infringe any -+patents or other property right claims or to contest validity of any -+such claims; this section has the sole purpose of protecting the -+integrity of the free software distribution system, which is -+implemented by public license practices. Many people have made -+generous contributions to the wide range of software distributed -+through that system in reliance on consistent application of that -+system; it is up to the author/donor to decide if he or she is willing -+to distribute software through any other system and a licensee cannot -+impose that choice. -+ -+This section is intended to make thoroughly clear what is believed to -+be a consequence of the rest of this License. -+ -+ 8. If the distribution and/or use of the Program is restricted in -+certain countries either by patents or by copyrighted interfaces, the -+original copyright holder who places the Program under this License -+may add an explicit geographical distribution limitation excluding -+those countries, so that distribution is permitted only in or among -+countries not thus excluded. In such case, this License incorporates -+the limitation as if written in the body of this License. -+ -+ 9. The Free Software Foundation may publish revised and/or new versions -+of the General Public License from time to time. Such new versions will -+be similar in spirit to the present version, but may differ in detail to -+address new problems or concerns. -+ -+Each version is given a distinguishing version number. If the Program -+specifies a version number of this License which applies to it and "any -+later version", you have the option of following the terms and conditions -+either of that version or of any later version published by the Free -+Software Foundation. If the Program does not specify a version number of -+this License, you may choose any version ever published by the Free Software -+Foundation. -+ -+ 10. If you wish to incorporate parts of the Program into other free -+programs whose distribution conditions are different, write to the author -+to ask for permission. For software which is copyrighted by the Free -+Software Foundation, write to the Free Software Foundation; we sometimes -+make exceptions for this. Our decision will be guided by the two goals -+of preserving the free status of all derivatives of our free software and -+of promoting the sharing and reuse of software generally. -+ -+ NO WARRANTY -+ -+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -+REPAIR OR CORRECTION. -+ -+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -+POSSIBILITY OF SUCH DAMAGES. -+ -+ END OF TERMS AND CONDITIONS -+ -+ How to Apply These Terms to Your New Programs -+ -+ If you develop a new program, and you want it to be of the greatest -+possible use to the public, the best way to achieve this is to make it -+free software which everyone can redistribute and change under these terms. -+ -+ To do so, attach the following notices to the program. It is safest -+to attach them to the start of each source file to most effectively -+convey the exclusion of warranty; and each file should have at least -+the "copyright" line and a pointer to where the full notice is found. -+ -+ -+ Copyright (C) -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+If the program is interactive, make it output a short notice like this -+when it starts in an interactive mode: -+ -+ Gnomovision version 69, Copyright (C) year name of author -+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. -+ This is free software, and you are welcome to redistribute it -+ under certain conditions; type `show c' for details. -+ -+The hypothetical commands `show w' and `show c' should show the appropriate -+parts of the General Public License. Of course, the commands you use may -+be called something other than `show w' and `show c'; they could even be -+mouse-clicks or menu items--whatever suits your program. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the program, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program -+ `Gnomovision' (which makes passes at compilers) written by James Hacker. -+ -+ , 1 April 1989 -+ Ty Coon, President of Vice -+ -+This General Public License does not permit incorporating your program into -+proprietary programs. If your program is a subroutine library, you may -+consider it more useful to permit linking proprietary applications with the -+library. If this is what you want to do, use the GNU Library General -+Public License instead of this License. diff --git a/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c b/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c index 32b9872932..df2e3cfad5 100644 --- a/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c +++ b/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c @@ -1,3 +1,7 @@ +/* + * SPDX-License-Identifier: GPL-2.0-only + */ + #define _GNU_SOURCE #include #include diff --git a/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb b/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb index 007ebbca89..0d6c7a01eb 100644 --- a/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb +++ b/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb @@ -1,10 +1,9 @@ SUMMARY = "Tool for creating device nodes" DESCRIPTION = "${SUMMARY}" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +LIC_FILES_CHKSUM = "file://makedevs.c;beginline=2;endline=2;md5=c3817b10013a30076c68a90e40a55570" SECTION = "base" -SRC_URI = "file://makedevs.c \ - file://COPYING.patch" +SRC_URI = "file://makedevs.c" S = "${WORKDIR}" diff --git a/poky/meta/recipes-devtools/meson/meson_0.62.1.bb b/poky/meta/recipes-devtools/meson/meson_0.62.1.bb deleted file mode 100644 index dabdcaab01..0000000000 --- a/poky/meta/recipes-devtools/meson/meson_0.62.1.bb +++ /dev/null @@ -1,134 +0,0 @@ -HOMEPAGE = "http://mesonbuild.com" -SUMMARY = "A high performance build system" -DESCRIPTION = "Meson is a build system designed to increase programmer \ -productivity. It does this by providing a fast, simple and easy to use \ -interface for modern software development tools and practices." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \ - file://meson-setup.py \ - file://meson-wrapper \ - file://0001-python-module-do-not-manipulate-the-environment-when.patch \ - file://disable-rpath-handling.patch \ - file://0001-Make-CPU-family-warnings-fatal.patch \ - file://0002-Support-building-allarch-recipes-again.patch \ - file://0001-is_debianlike-always-return-False.patch \ - file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \ - " -SRC_URI[sha256sum] = "a0f5caa1e70da12d5e63aa6a9504273759b891af36c8d87de381a4ed1380e845" - -UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" -UPSTREAM_CHECK_REGEX = "meson-(?P\d+(\.\d+)+)\.tar" - -inherit python_setuptools_build_meta - -RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources" - -FILES:${PN} += "${datadir}/polkit-1" - -do_install:append () { - # As per the same issue in the python recipe itself: - # Unfortunately the following pyc files are non-deterministc due to 'frozenset' - # being written without strict ordering, even with PYTHONHASHSEED = 0 - # Upstream is discussing ways to solve the issue properly, until then let's - # just not install the problematic files. - # More info: http://benno.id.au/blog/2013/01/15/python-determinism - rm ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython* -} - -BBCLASSEXTEND = "native nativesdk" - -inherit meson-routines - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -def var_list2str(var, d): - items = d.getVar(var).split() - return items[0] if len(items) == 1 else ', '.join(repr(s) for s in items) - -def generate_native_link_template(d): - val = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', - '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}', - '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${libdir_native}', - '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${base_libdir_native}', - '-Wl,--allow-shlib-undefined' - ] - build_arch = d.getVar('BUILD_ARCH') - if 'x86_64' in build_arch: - loader = 'ld-linux-x86-64.so.2' - elif 'i686' in build_arch: - loader = 'ld-linux.so.2' - elif 'aarch64' in build_arch: - loader = 'ld-linux-aarch64.so.1' - elif 'ppc64le' in build_arch: - loader = 'ld64.so.2' - - if loader: - val += ['-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}${base_libdir_native}/' + loader] - - return repr(val) - -do_install:append:class-nativesdk() { - install -d ${D}${datadir}/meson - - cat >${D}${datadir}/meson/meson.native.template <${D}${datadir}/meson/meson.cross.template <${D}${datadir}/meson/meson.native.template <${D}${datadir}/meson/meson.cross.template < Date: Tue, 13 Jun 2017 14:55:52 +0300 Subject: [PATCH] Disabled reading host configs. @@ -12,10 +12,10 @@ Signed-off-by: Ed Bartosh 1 file changed, 8 deletions(-) diff --git a/config.c b/config.c -index 173eae0..0654cc1 100644 +index 630f99d..07dbf53 100644 --- a/config.c +++ b/config.c -@@ -836,14 +836,6 @@ void read_config(void) +@@ -834,14 +834,6 @@ void read_config(void) memcpy(devices, const_devices, nr_const_devices*sizeof(struct device)); diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb deleted file mode 100644 index 564ef02aee..0000000000 --- a/poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Utilities to access MS-DOS disks without mounting them" -DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." -HOMEPAGE = "http://www.gnu.org/software/mtools/" -SECTION = "optional" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS += "virtual/libiconv" - -RDEPENDS:${PN}:libc-glibc = "glibc-gconv-ibm850" -RRECOMMENDS:${PN}:libc-glibc = "\ - glibc-gconv-ibm437 \ - glibc-gconv-ibm737 \ - glibc-gconv-ibm775 \ - glibc-gconv-ibm851 \ - glibc-gconv-ibm852 \ - glibc-gconv-ibm855 \ - glibc-gconv-ibm857 \ - glibc-gconv-ibm860 \ - glibc-gconv-ibm861 \ - glibc-gconv-ibm862 \ - glibc-gconv-ibm863 \ - glibc-gconv-ibm865 \ - glibc-gconv-ibm866 \ - glibc-gconv-ibm869 \ - " -SRC_URI[sha256sum] = "397f1e2b7b7a2a270eb7970fa363e445f956926ec51e8170c3869da85b0987bd" - -SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ - file://mtools-makeinfo.patch \ - file://clang_UNUSED.patch \ - " - -SRC_URI:append:class-native = " file://disable-hardcoded-configs.patch" - -inherit autotools texinfo - -EXTRA_OECONF = "--without-x" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" - -do_install:prepend () { - # Create bindir to fix parallel installation issues - mkdir -p ${D}/${bindir} - mkdir -p ${D}/${datadir} -} diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb new file mode 100644 index 0000000000..200c7c7681 --- /dev/null +++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb @@ -0,0 +1,49 @@ +SUMMARY = "Utilities to access MS-DOS disks without mounting them" +DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." +HOMEPAGE = "http://www.gnu.org/software/mtools/" +SECTION = "optional" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS += "virtual/libiconv" + +RDEPENDS:${PN}:libc-glibc = "glibc-gconv-ibm850" +RRECOMMENDS:${PN}:libc-glibc = "\ + glibc-gconv-ibm437 \ + glibc-gconv-ibm737 \ + glibc-gconv-ibm775 \ + glibc-gconv-ibm851 \ + glibc-gconv-ibm852 \ + glibc-gconv-ibm855 \ + glibc-gconv-ibm857 \ + glibc-gconv-ibm860 \ + glibc-gconv-ibm861 \ + glibc-gconv-ibm862 \ + glibc-gconv-ibm863 \ + glibc-gconv-ibm865 \ + glibc-gconv-ibm866 \ + glibc-gconv-ibm869 \ + " +SRC_URI[sha256sum] = "a22fca42354011dd2293a7f51f228b46ebbd802e7740b0975912afecb79d5df4" + +SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ + file://mtools-makeinfo.patch \ + file://clang_UNUSED.patch \ + " + +SRC_URI:append:class-native = " file://disable-hardcoded-configs.patch" + +inherit autotools texinfo + +EXTRA_OECONF = "--without-x" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" + +do_install:prepend () { + # Create bindir to fix parallel installation issues + mkdir -p ${D}/${bindir} + mkdir -p ${D}/${datadir} +} diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb b/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb deleted file mode 100644 index 7270321d6e..0000000000 --- a/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Ninja is a small build system with a focus on speed." -HOMEPAGE = "https://ninja-build.org/" -DESCRIPTION = "Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible." -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" - -DEPENDS = "re2c-native ninja-native" - -SRCREV = "e72d1d581c945c158ed68d9bc48911063022a2c6" - -SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P.*)" - -S = "${WORKDIR}/git" - -do_configure[noexec] = "1" - -do_compile:class-native() { - python3 ./configure.py --bootstrap -} - -do_compile() { - python3 ./configure.py - ninja -} - -do_install() { - install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb b/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb new file mode 100644 index 0000000000..4ec361cc1a --- /dev/null +++ b/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Ninja is a small build system with a focus on speed." +HOMEPAGE = "https://ninja-build.org/" +DESCRIPTION = "Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" + +DEPENDS = "re2c-native ninja-native" + +SRCREV = "51edeeb063a82693573db43782d9e3733b2840e4" + +SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P.*)" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile:class-native() { + python3 ./configure.py --bootstrap +} + +do_compile() { + python3 ./configure.py + ninja +} + +do_install() { + install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb deleted file mode 100644 index e91d7250bc..0000000000 --- a/poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "Open Package Manager" -SUMMARY:libopkg = "Open Package Manager library" -SECTION = "base" -HOMEPAGE = "http://code.google.com/p/opkg/" -DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg." -BUGTRACKER = "http://code.google.com/p/opkg/issues/list" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae" - -DEPENDS = "libarchive" - -PE = "1" - -SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ - file://opkg.conf \ - file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ - file://run-ptest \ -" - -SRC_URI[sha256sum] = "559c3e1b893abaa1dd473ce3a9a5f7dd3f60ceb6cd14caaef76ddf0f7721ad1c" - -# This needs to be before ptest inherit, otherwise all ptest files end packaged -# in libopkg package if OPKGLIBDIR == libdir, because default -# PTEST_PATH ?= "${libdir}/${BPN}/ptest" -PACKAGES =+ "libopkg" - -inherit autotools pkgconfig ptest - -target_localstatedir := "${localstatedir}" -OPKGLIBDIR ??= "${target_localstatedir}/lib" - -PACKAGECONFIG ??= "libsolv" - -PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ - gnupg gpgme libgpg-error,\ - ${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\ - " -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" -PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" -PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" -PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" - -EXTRA_OECONF:class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}" - -do_install:append () { - install -d ${D}${sysconfdir}/opkg - install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf - echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf - - # We need to create the lock directory - install -d ${D}${OPKGLIBDIR}/opkg -} - -do_install_ptest () { - sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile - sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile -} - -RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" -RDEPENDS:${PN}:class-native = "" -RDEPENDS:${PN}:class-nativesdk = "" -RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression" -RREPLACES:${PN} = "opkg-nogpg opkg-collateral" -RCONFLICTS:${PN} = "opkg-collateral" -RPROVIDES:${PN} = "opkg-collateral" - -FILES:libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/" - -BBCLASSEXTEND = "native nativesdk" - -CONFFILES:${PN} = "${sysconfdir}/opkg/opkg.conf" diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb new file mode 100644 index 0000000000..7b351e8123 --- /dev/null +++ b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb @@ -0,0 +1,72 @@ +SUMMARY = "Open Package Manager" +SUMMARY:libopkg = "Open Package Manager library" +SECTION = "base" +HOMEPAGE = "http://code.google.com/p/opkg/" +DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg." +BUGTRACKER = "http://code.google.com/p/opkg/issues/list" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae" + +DEPENDS = "libarchive" + +PE = "1" + +SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://opkg.conf \ + file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ + file://run-ptest \ +" + +SRC_URI[sha256sum] = "56844722eff237daf14aa6e681436f3245213c5590ed0cda37a79df637ff3a4c" + +# This needs to be before ptest inherit, otherwise all ptest files end packaged +# in libopkg package if OPKGLIBDIR == libdir, because default +# PTEST_PATH ?= "${libdir}/${BPN}/ptest" +PACKAGES =+ "libopkg" + +inherit autotools pkgconfig ptest + +target_localstatedir := "${localstatedir}" +OPKGLIBDIR ??= "${target_localstatedir}/lib" + +PACKAGECONFIG ??= "libsolv" + +PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ + gnupg gpgme libgpg-error,\ + ${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\ + " +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" +PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" +PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" +PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" + +EXTRA_OECONF:class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}" + +do_install:append () { + install -d ${D}${sysconfdir}/opkg + install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf + echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf + + # We need to create the lock directory + install -d ${D}${OPKGLIBDIR}/opkg +} + +do_install_ptest () { + sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile + sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile +} + +RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" +RDEPENDS:${PN}:class-native = "" +RDEPENDS:${PN}:class-nativesdk = "" +RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression" +RREPLACES:${PN} = "opkg-nogpg opkg-collateral" +RCONFLICTS:${PN} = "opkg-collateral" +RPROVIDES:${PN} = "opkg-collateral" + +FILES:libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/" + +BBCLASSEXTEND = "native nativesdk" + +CONFFILES:${PN} = "${sysconfdir}/opkg/opkg.conf" diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch new file mode 100644 index 0000000000..80388fa9b0 --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch @@ -0,0 +1,24 @@ +From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 4 Jun 2022 13:00:12 +0200 +Subject: [PATCH] Makefile: correctly list modules when cleaning them + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133] +Signed-off-by: Alexander Kanavin +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 6b35fb0..9ef9324 100644 +--- a/Makefile ++++ b/Makefile +@@ -462,7 +462,7 @@ clean-subdirs: + + # assuming modules w/o Makefiles were never built and need no cleaning + clean-modules: config.h +- @for i in $(modules disabled); do \ ++ @for i in $(modules) $(disabled); do \ + test -f $$i/Makefile && \ + touch $$i/Makefile && \ + $(MAKE) -C $$i clean \ diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch new file mode 100644 index 0000000000..cbb935c71b --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch @@ -0,0 +1,28 @@ +From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 4 Jun 2022 13:45:20 +0200 +Subject: [PATCH] Makefile: do not clean config.h/xconfig.h + +These are generated by ./configure and not by make. + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134] +Signed-off-by: Alexander Kanavin +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 9ef9324..3de2c2e 100644 +--- a/Makefile ++++ b/Makefile +@@ -473,7 +473,6 @@ clean-generated-files: + -rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM) + -rm -f git_version.h lib/re.pm lib/Config_git.pl + -rm -f perlmini.c perlmain.c +- -rm -f config.h xconfig.h + -rm -f pod/perlmodlib.pod + -rm -f ext.libs static.list + -rm -f $(patsubst %,%/ppport.h,$(mkppport_lst)) +-- +2.30.2 + diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb deleted file mode 100644 index 99a9ca1027..0000000000 --- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Perl-cross build system" -HOMEPAGE = "https://github.com/arsv/perl-cross" -DESCRIPTION = "perl-cross provides configure script, top-level Makefile and some auxiliary files for perl, \ -with the primary emphasis on cross-compiling the source." -SECTION = "devel" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" -# README.md is taken from https://github.com/arsv/perl-cross/blob/master/README.md -# but is not provided inside the release tarballs -LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" - -inherit allarch - -SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \ - file://README.md \ - file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ - file://determinism.patch \ - file://0001-Makefile-check-the-file-if-patched-or-not.patch \ - " -UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" - -SRC_URI[perl-cross.sha256sum] = "77f13ca84a63025053852331b72d4046c1f90ded98bd45ccedea738621907335" - -S = "${WORKDIR}/perl-cross-${PV}" - -do_configure () { -} - -do_compile () { -} - -do_install:class-native() { - mkdir -p ${D}/${datadir}/perl-cross/ - cp -rf ${S}/* ${D}/${datadir}/perl-cross/ - rm -rf ${D}/${datadir}/perl-cross/patches/ -} - -BBCLASSEXTEND = "native" - diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb new file mode 100644 index 0000000000..2704976e17 --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb @@ -0,0 +1,40 @@ +SUMMARY = "Perl-cross build system" +HOMEPAGE = "https://github.com/arsv/perl-cross" +DESCRIPTION = "perl-cross provides configure script, top-level Makefile and some auxiliary files for perl, \ +with the primary emphasis on cross-compiling the source." +SECTION = "devel" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" +# README.md is taken from https://github.com/arsv/perl-cross/blob/master/README.md +# but is not provided inside the release tarballs +LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" + +inherit allarch + +SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \ + file://README.md \ + file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ + file://determinism.patch \ + file://0001-Makefile-check-the-file-if-patched-or-not.patch \ + file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \ + file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \ + " +UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" + +SRC_URI[perl-cross.sha256sum] = "be9d9f9f7148edff7a2f9695ba3cb7e3975eff6b25a9a81dd311725fd757aa91" + +S = "${WORKDIR}/perl-cross-${PV}" + +do_configure () { +} + +do_compile () { +} + +do_install:class-native() { + mkdir -p ${D}/${datadir}/perl-cross/ + cp -rf ${S}/* ${D}/${datadir}/perl-cross/ + rm -rf ${D}/${datadir}/perl-cross/patches/ +} + +BBCLASSEXTEND = "native" + diff --git a/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch b/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch new file mode 100644 index 0000000000..1d98e1389b --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch @@ -0,0 +1,143 @@ +From ee957eb9e4ec29a462cdbb2f3bbe29d4270534ef Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 2 Jun 2022 13:01:37 +0800 +Subject: [PATCH] proto.h: Fix build with gcc-12 + +Fixes: + In function 'dynprep', + inlined from 'S_sortsv_flags_impl' at pp_sort.c:358:20, + inlined from 'sortsv_amagic_i_ncmp' at pp_sort.c:572:5: + pp_sort.c:1232:1: error: inlining failed in call to 'always_inline' 'S_amagic_i_ncmp': function not considered for inlining + 1232 | S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b) + +Upstream-Status: Submitted [https://github.com/Perl/perl5/pull/19808] + +Signed-off-by: Mingli Yu +--- + proto.h | 42 ++++++++++++++---------------------------- + 1 file changed, 14 insertions(+), 28 deletions(-) + +diff --git a/proto.h b/proto.h +index faca6d1..3a76c04 100644 +--- a/proto.h ++++ b/proto.h +@@ -5606,50 +5606,43 @@ STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c + #endif + #if defined(PERL_IN_PP_SORT_C) + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_AMAGIC_CMP \ + assert(str1); assert(str2) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \ + assert(str1); assert(str2) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_AMAGIC_NCMP \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_CMP_DESC \ + assert(str1); assert(str2) + #endif +@@ -5671,51 +5664,44 @@ PERL_STATIC_FORCE_INLINE void S_sortsv_flags_impl(pTHX_ SV** array, size_t num_e + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_SV_I_NCMP \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_SV_NCMP \ + assert(a); assert(b) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b); + #define PERL_ARGS_ASSERT_SV_NCMP_DESC \ + assert(a); assert(b) + #endif + + # if defined(USE_LOCALE_COLLATE) + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \ + assert(str1); assert(str2) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \ + assert(str1); assert(str2) + #endif + + #ifndef PERL_NO_INLINE_FUNCTIONS +-PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) +- __attribute__always_inline__; ++PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2); + #define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \ + assert(str1); assert(str2) + #endif +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch index 15189a0c04..f80de88974 100644 --- a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch +++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch @@ -1,4 +1,4 @@ -From 1f7cc5db2ca549c37c6a7923368e1a0104f31b99 Mon Sep 17 00:00:00 2001 +From 055d4c31f41611b7d7fb6b0e38b3818a053de38d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 27 May 2007 21:04:11 +0000 Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) diff --git a/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch index b49e6e4066..887f7c0f7f 100644 --- a/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch +++ b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch @@ -22,7 +22,7 @@ Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL + my $hostlib = $ENV{PERLHOSTLIB}; + my $hostarchlib = $ENV{PERLHOSTARCHLIB}; + print STDERR "*** Module name IN: $modlibname\n"; -+ ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/; ++ my ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/; + print STDERR "*** p1: $p1 p3: $p3 p5: $p5 p7: $p7\n"; + if ( $p1 ne "" ) { + $modlibname = $hostlib.$p7; diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt index 74c24c3bb5..e5f45bf291 100644 --- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt +++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt @@ -131,28 +131,23 @@ RDEPENDS:perl-module-b-concise += "perl-module-strict" RDEPENDS:perl-module-b-concise += "perl-module-warnings" RDEPENDS:perl-module-benchmark += "perl-module-exporter" RDEPENDS:perl-module-benchmark += "perl-module-strict" +RDEPENDS:perl-module-bigfloat += "perl-module-constant" +RDEPENDS:perl-module-bigfloat += "perl-module-exporter" +RDEPENDS:perl-module-bigfloat += "perl-module-overload" +RDEPENDS:perl-module-bigfloat += "perl-module-strict" +RDEPENDS:perl-module-bigfloat += "perl-module-warnings" RDEPENDS:perl-module-bigint += "perl-module-constant" RDEPENDS:perl-module-bigint += "perl-module-exporter" -RDEPENDS:perl-module-bigint += "perl-module-math-bigint" -RDEPENDS:perl-module-bigint += "perl-module-math-bigint-trace" RDEPENDS:perl-module-bigint += "perl-module-overload" RDEPENDS:perl-module-bigint += "perl-module-strict" RDEPENDS:perl-module-bigint += "perl-module-warnings" -RDEPENDS:perl-module-bignum += "perl-module-bigint" +RDEPENDS:perl-module-bignum += "perl-module-constant" RDEPENDS:perl-module-bignum += "perl-module-exporter" -RDEPENDS:perl-module-bignum += "perl-module-math-bigfloat" -RDEPENDS:perl-module-bignum += "perl-module-math-bigfloat-trace" -RDEPENDS:perl-module-bignum += "perl-module-math-bigint" -RDEPENDS:perl-module-bignum += "perl-module-math-bigint-trace" RDEPENDS:perl-module-bignum += "perl-module-overload" RDEPENDS:perl-module-bignum += "perl-module-strict" RDEPENDS:perl-module-bignum += "perl-module-warnings" -RDEPENDS:perl-module-bigrat += "perl-module-bigint" +RDEPENDS:perl-module-bigrat += "perl-module-constant" RDEPENDS:perl-module-bigrat += "perl-module-exporter" -RDEPENDS:perl-module-bigrat += "perl-module-math-bigfloat" -RDEPENDS:perl-module-bigrat += "perl-module-math-bigint" -RDEPENDS:perl-module-bigrat += "perl-module-math-bigint-trace" -RDEPENDS:perl-module-bigrat += "perl-module-math-bigrat" RDEPENDS:perl-module-bigrat += "perl-module-overload" RDEPENDS:perl-module-bigrat += "perl-module-strict" RDEPENDS:perl-module-bigrat += "perl-module-warnings" @@ -166,6 +161,8 @@ RDEPENDS:perl-module-b-showlex += "perl-module-strict" RDEPENDS:perl-module-b-terse += "perl-module-b" RDEPENDS:perl-module-b-terse += "perl-module-b-concise" RDEPENDS:perl-module-b-terse += "perl-module-strict" +RDEPENDS:perl-module-builtin += "perl-module-strict" +RDEPENDS:perl-module-builtin += "perl-module-warnings" RDEPENDS:perl-module-b-xref += "perl-module-b" RDEPENDS:perl-module-b-xref += "perl-module-config" RDEPENDS:perl-module-b-xref += "perl-module-strict" @@ -257,7 +254,6 @@ RDEPENDS:perl-module-cwd += "perl-module-errno" RDEPENDS:perl-module-cwd += "perl-module-exporter" RDEPENDS:perl-module-cwd += "perl-module-strict" RDEPENDS:perl-module-cwd += "perl-module-xsloader" -RDEPENDS:perl-module-data-dumper += "perl-module-config" RDEPENDS:perl-module-data-dumper += "perl-module-constant" RDEPENDS:perl-module-data-dumper += "perl-module-exporter" RDEPENDS:perl-module-data-dumper += "perl-module-strict" @@ -313,6 +309,8 @@ RDEPENDS:perl-module-digest-sha += "perl-module-vars" RDEPENDS:perl-module-digest-sha += "perl-module-warnings" RDEPENDS:perl-module-digest-sha += "perl-module-xsloader" RDEPENDS:perl-module-dynaloader += "perl-module-config" +RDEPENDS:perl-module-dynaloader += "perl-module-strict" +RDEPENDS:perl-module-dynaloader += "perl-module-vars" RDEPENDS:perl-module-encode-alias += "perl-module-constant" RDEPENDS:perl-module-encode-alias += "perl-module-encode" RDEPENDS:perl-module-encode-alias += "perl-module-exporter" @@ -796,11 +794,12 @@ RDEPENDS:perl-module-file-basename += "perl-module-warnings" RDEPENDS:perl-module-filecache += "perl-module-parent" RDEPENDS:perl-module-filecache += "perl-module-strict" RDEPENDS:perl-module-file-compare += "perl-module-exporter" -RDEPENDS:perl-module-file-compare += "perl-module-strict" RDEPENDS:perl-module-file-compare += "perl-module-warnings" +RDEPENDS:perl-module-file-copy += "perl-module-builtin" RDEPENDS:perl-module-file-copy += "perl-module-config" RDEPENDS:perl-module-file-copy += "perl-module-exporter" RDEPENDS:perl-module-file-copy += "perl-module-file-basename" +RDEPENDS:perl-module-file-copy += "perl-module-overload" RDEPENDS:perl-module-file-copy += "perl-module-strict" RDEPENDS:perl-module-file-copy += "perl-module-warnings" RDEPENDS:perl-module-file-dosglob += "perl-module-strict" @@ -887,10 +886,12 @@ RDEPENDS:perl-module-getopt-long += "perl-module-warnings" RDEPENDS:perl-module-getopt-std += "perl-module-exporter" RDEPENDS:perl-module-getopt-std += "perl-module-strict" RDEPENDS:perl-module-getopt-std += "perl-module-warnings" +RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-builtin" RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-exporter" RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-strict" RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-warnings" RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-xsloader" +RDEPENDS:perl-module-hash-util += "perl-module-builtin" RDEPENDS:perl-module-hash-util += "perl-module-exporter" RDEPENDS:perl-module-hash-util += "perl-module-hash-util-fieldhash" RDEPENDS:perl-module-hash-util += "perl-module-strict" @@ -1258,6 +1259,7 @@ RDEPENDS:perl-module-math-bigint-calc += "perl-module-integer" RDEPENDS:perl-module-math-bigint-calc += "perl-module-math-bigint-lib" RDEPENDS:perl-module-math-bigint-calc += "perl-module-strict" RDEPENDS:perl-module-math-bigint-calc += "perl-module-warnings" +RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-config" RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc" RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-strict" RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-warnings" @@ -1278,9 +1280,15 @@ RDEPENDS:perl-module-math-bigint-trace += "perl-module-strict" RDEPENDS:perl-module-math-bigint-trace += "perl-module-warnings" RDEPENDS:perl-module-math-bigrat += "perl-module-math-bigfloat" RDEPENDS:perl-module-math-bigrat += "perl-module-math-bigint" +RDEPENDS:perl-module-math-bigrat += "perl-module-math-complex" RDEPENDS:perl-module-math-bigrat += "perl-module-overload" RDEPENDS:perl-module-math-bigrat += "perl-module-strict" RDEPENDS:perl-module-math-bigrat += "perl-module-warnings" +RDEPENDS:perl-module-math-bigrat-trace += "perl-module-exporter" +RDEPENDS:perl-module-math-bigrat-trace += "perl-module-math-bigrat" +RDEPENDS:perl-module-math-bigrat-trace += "perl-module-overload" +RDEPENDS:perl-module-math-bigrat-trace += "perl-module-strict" +RDEPENDS:perl-module-math-bigrat-trace += "perl-module-warnings" RDEPENDS:perl-module-math-complex += "perl-module-config" RDEPENDS:perl-module-math-complex += "perl-module-exporter" RDEPENDS:perl-module-math-complex += "perl-module-overload" @@ -1665,6 +1673,7 @@ RDEPENDS:perl-module-socket += "perl-module-strict" RDEPENDS:perl-module-socket += "perl-module-warnings-register" RDEPENDS:perl-module-socket += "perl-module-xsloader" RDEPENDS:perl-module-sort += "perl-module-strict" +RDEPENDS:perl-module-sort += "perl-module-warnings" RDEPENDS:perl-module-storable += "perl-module-exporter" RDEPENDS:perl-module-storable += "perl-module-io-file" RDEPENDS:perl-module-subs += "perl-module-strict" @@ -1697,6 +1706,7 @@ RDEPENDS:perl-module-tap-base += "perl-module-constant" RDEPENDS:perl-module-tap-base += "perl-module-strict" RDEPENDS:perl-module-tap-base += "perl-module-warnings" RDEPENDS:perl-module-tap-formatter-base += "perl-module-base" +RDEPENDS:perl-module-tap-formatter-base += "perl-module-config" RDEPENDS:perl-module-tap-formatter-base += "perl-module-posix" RDEPENDS:perl-module-tap-formatter-base += "perl-module-strict" RDEPENDS:perl-module-tap-formatter-base += "perl-module-tap-formatter-color" @@ -1770,6 +1780,7 @@ RDEPENDS:perl-module-tap-parser-iterator-stream += "perl-module-strict" RDEPENDS:perl-module-tap-parser-iterator-stream += "perl-module-warnings" RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-base" RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-constant" +RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-errno" RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-io-select" RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-strict" RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-warnings" @@ -1947,6 +1958,7 @@ RDEPENDS:perl-module-test2-api += "perl-module-test2-hub-interceptor-terminator" RDEPENDS:perl-module-test2-api += "perl-module-test2-hub-subtest" RDEPENDS:perl-module-test2-api += "perl-module-test2-util" RDEPENDS:perl-module-test2-api += "perl-module-test2-util-trace" +RDEPENDS:perl-module-test2-api += "perl-module-time-hires" RDEPENDS:perl-module-test2-api += "perl-module-warnings" RDEPENDS:perl-module-test2-api-stack += "perl-module-strict" RDEPENDS:perl-module-test2-api-stack += "perl-module-test2-api" @@ -2197,14 +2209,11 @@ RDEPENDS:perl-module-text-balanced += "perl-module-strict" RDEPENDS:perl-module-text-balanced += "perl-module-vars" RDEPENDS:perl-module-text-parsewords += "perl-module-exporter" RDEPENDS:perl-module-text-parsewords += "perl-module-strict" -RDEPENDS:perl-module-text-tabs += "perl-module-exporter" +RDEPENDS:perl-module-text-parsewords += "perl-module-warnings" RDEPENDS:perl-module-text-tabs += "perl-module-strict" -RDEPENDS:perl-module-text-tabs += "perl-module-vars" -RDEPENDS:perl-module-text-wrap += "perl-module-exporter" RDEPENDS:perl-module-text-wrap += "perl-module-re" RDEPENDS:perl-module-text-wrap += "perl-module-strict" RDEPENDS:perl-module-text-wrap += "perl-module-text-tabs" -RDEPENDS:perl-module-text-wrap += "perl-module-vars" RDEPENDS:perl-module-text-wrap += "perl-module-warnings-register" RDEPENDS:perl-module-thread += "perl-module-config" RDEPENDS:perl-module-thread += "perl-module-exporter" @@ -2246,6 +2255,8 @@ RDEPENDS:perl-module-tie-scalar += "perl-module-warnings-register" RDEPENDS:perl-module-tie-stdhandle += "perl-module-strict" RDEPENDS:perl-module-tie-stdhandle += "perl-module-tie-handle" RDEPENDS:perl-module-tie-substrhash += "perl-module-integer" +RDEPENDS:perl-module-tie-substrhash += "perl-module-strict" +RDEPENDS:perl-module-tie-substrhash += "perl-module-warnings" RDEPENDS:perl-module-time-gmtime += "perl-module-exporter" RDEPENDS:perl-module-time-gmtime += "perl-module-strict" RDEPENDS:perl-module-time-gmtime += "perl-module-time-tm" @@ -2295,6 +2306,7 @@ RDEPENDS:perl-module-unicode-collate += "perl-module-constant" RDEPENDS:perl-module-unicode-collate += "perl-module-strict" RDEPENDS:perl-module-unicode-collate += "perl-module-warnings" RDEPENDS:perl-module-unicode-collate += "perl-module-xsloader" +RDEPENDS:perl-module-unicode-normalize += "perl-module-bytes" RDEPENDS:perl-module-unicode-normalize += "perl-module-exporter" RDEPENDS:perl-module-unicode-normalize += "perl-module-strict" RDEPENDS:perl-module-unicode-normalize += "perl-module-warnings" @@ -2323,3 +2335,4 @@ RDEPENDS:perl-module-version += "perl-module-version-regex" RDEPENDS:perl-module-version += "perl-module-warnings-register" RDEPENDS:perl-module-version-regex += "perl-module-strict" RDEPENDS:perl-module-xsloader += "perl-module-dynaloader" +RDEPENDS:perl-module-xsloader += "perl-module-strict" diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.1.bb b/poky/meta/recipes-devtools/perl/perl_5.34.1.bb deleted file mode 100644 index 0e9d0c032e..0000000000 --- a/poky/meta/recipes-devtools/perl/perl_5.34.1.bb +++ /dev/null @@ -1,413 +0,0 @@ -SUMMARY = "Perl scripting language" -HOMEPAGE = "http://www.perl.org/" -DESCRIPTION = "Perl is a highly capable, feature-rich programming language" -SECTION = "devel" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" -LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ - file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ - " - - -SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ - file://perl-rdepends.txt \ - file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ - file://errno_ver.diff \ - file://native-perlinc.patch \ - file://perl-dynloader.patch \ - file://0002-Constant-Fix-up-shebang.patch \ - file://determinism.patch \ - file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \ - " -SRC_URI:append:class-native = " \ - file://perl-configpm-switch.patch \ -" -SRC_URI:append:class-target = " \ - file://encodefix.patch \ -" - -SRC_URI[perl.sha256sum] = "357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1" - -S = "${WORKDIR}/perl-${PV}" - -inherit upstream-version-is-even update-alternatives - -DEPENDS += "perlcross-native zlib virtual/crypt" - -PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" - -PACKAGECONFIG ??= "gdbm" -PACKAGECONFIG[bdb] = ",-Ui_db,db" -PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" - -# Don't generate comments in enc2xs output files. They are not reproducible -export ENC2XS_NO_COMMENTS = "1" - -do_configure:prepend() { - cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S} -} - -do_configure:class-target() { - ./configure --prefix=${prefix} --libdir=${libdir} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dusethreads \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Dvendorlibdir=${libdir} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ - -Dlibpth='${libdir} ${base_libdir}' \ - -Dglibpth='${libdir} ${base_libdir}' \ - -Alddlflags=' ${LDFLAGS}' \ - ${PACKAGECONFIG_CONFARGS} - - #perl.c uses an ARCHLIB_EXP define to generate compile-time code that - #adds the archlibexp path to @INC during run-time initialization of a - #new perl interpreter. - - #Because we've changed this value in a temporary way to make it - #possible to use ExtUtils::Embed in the target build (the temporary - #value in config.sh gets re-stripped out during packaging), the - #ARCHLIB_EXP value that gets generated still uses the temporary version - #instead of the original expected version (i.e. becauses it's in the - #generated config.h, it doesn't get stripped out during packaging like - #the others in config.sh). - - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure:class-nativesdk() { - ./configure --prefix=${prefix} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dusethreads \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ - -Alddlflags=' ${LDFLAGS}' \ - ${PACKAGECONFIG_CONFARGS} - - # See the comment above - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure:class-native() { - ./configure --prefix=${prefix} \ - -Dbin=${bindir}/perl-native \ - -Duseshrplib \ - -Dusethreads \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Ui_xlocale \ - -Alddlflags=' ${LDFLAGS}' \ - ${PACKAGECONFIG_CONFARGS} -} - -do_configure:append() { - if [ -n "$SOURCE_DATE_EPOCH" ]; then - PERL_BUILD_DATE="$(${PYTHON} -c "\ -from datetime import datetime, timezone; \ -print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ - ")" - echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h - fi -} - -do_compile() { - oe_runmake - # This isn't generated reliably so delete and re-generate. - # https://github.com/arsv/perl-cross/issues/86 - - if [ -e pod/perltoc.pod ]; then - bbnote Rebuilding perltoc.pod - rm -f pod/perltoc.pod - oe_runmake pod/perltoc.pod - fi -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${libdir}/perl5 - install -d ${D}${libdir}/perl5/${PV}/ - install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Save native config - install config.sh ${D}${libdir}/perl5 - install lib/Config.pm ${D}${libdir}/perl5/${PV}/ - install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Fix up shared library - dir=$(echo ${D}/${libdir}/perl5/${PV}/*/CORE) - rm $dir/libperl.so - ln -sf ../../../../libperl.so.${PERL_LIB_VER} $dir/libperl.so - - # Try to catch Bug #13946 - if [ -e ${D}/${libdir}/perl5/${PV}/Storable.pm ]; then - bbfatal 'non-arch specific Storable.pm found! See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13946' - fi -} - -do_install:append:class-target() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - - # This contains host-specific information used for building miniperl (a helper executable built with host compiler) - # and therefore isn't reproducible. I believe the file isn't actually needed on target. - rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h -} - -do_install:append:class-nativesdk() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - - create_wrapper ${D}${bindir}/perl \ - PERL5LIB='$PERL5LIB:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/site_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/vendor_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/${PV}' -} - -do_install:append:class-native () { - # Those wrappers mean that perl installed from sstate (which may change - # path location) works and that in the nativesdk case, the SDK can be - # installed to a different location from the one it was built for. - create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' - - # Use /usr/bin/env nativeperl for the perl script. - for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do - sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f - done -} - -PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" - -perl_package_preprocess () { - # Fix up installed configuration - sed -i -e "s,${D},,g" \ - -e "s,${DEBUG_PREFIX_MAP},,g" \ - -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ - -e "s,-isystem${STAGING_INCDIR} ,,g" \ - -e "s,${STAGING_LIBDIR},${libdir},g" \ - -e "s,${STAGING_BINDIR},${bindir},g" \ - -e "s,${STAGING_INCDIR},${includedir},g" \ - -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ - -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ - -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ - -e 's:${RECIPE_SYSROOT}::g' \ - ${PKGD}${bindir}/h2xs.perl \ - ${PKGD}${bindir}/h2ph.perl \ - ${PKGD}${bindir}/pod2man.perl \ - ${PKGD}${bindir}/pod2text.perl \ - ${PKGD}${bindir}/pod2usage.perl \ - ${PKGD}${bindir}/podchecker.perl \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ - ${PKGD}${libdir}/perl5/${PV}/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ - ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ - ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ - ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ - ${PKGD}${libdir}/perl5/config.sh -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \ - piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \ - prove ptar ptardiff ptargrep shasum splain streamzip xsubpp zipdetails" -ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist" -ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan" -ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs" -ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess" -ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph" -ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs" -ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh" -ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp" -ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg" -ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv" -ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm" -ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html" -ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man" -ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text" -ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage" -ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker" -ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove" -ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar" -ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff" -ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep" -ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum" -ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain" -ALTERNATIVE_LINK_NAME[streamzip] = "${bindir}/streamzip" -ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp" -ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" - -require perl-ptest.inc - -FILES:${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ - ${libdir}/perl5/site_perl \ - ${libdir}/perl5/${PV}/Config.pm \ - ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ - ${libdir}/perl5/${PV}/*/Config_git.pl \ - ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ - ${libdir}/perl5/config.sh \ - ${libdir}/perl5/${PV}/strict.pm \ - ${libdir}/perl5/${PV}/warnings.pm \ - ${libdir}/perl5/${PV}/warnings \ - ${libdir}/perl5/${PV}/vars.pm \ - ${libdir}/perl5/site_perl \ - ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ - ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ - ${libdir}/perl5/${PV}/ExtUtils/typemap \ - " -RPROVIDES:${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ - perl-module-warnings-register" - -FILES:${PN}-staticdev:append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" - -FILES:${PN}-dev:append = " ${libdir}/perl5/${PV}/*/CORE" - -FILES:${PN}-doc:append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ - ${libdir}/perl5/${PV}/*/.packlist \ - ${libdir}/perl5/${PV}/Encode/encode.h \ - " -PACKAGES += "${PN}-misc" - -FILES:${PN}-misc = "${bindir}/*" - -PACKAGES += "${PN}-pod" - -FILES:${PN}-pod = "${libdir}/perl5/${PV}/pod \ - ${libdir}/perl5/${PV}/*.pod \ - ${libdir}/perl5/${PV}/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*/*.pod \ - " - -PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" - -FILES:${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ - " -FILES:${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" - -ALTERNATIVE_PRIORITY = "40" -ALTERNATIVE:${PN}-doc = "Thread.3" -ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3" - -# Create a perl-modules package recommending all the other perl -# packages (actually the non modules packages and not created too) -ALLOW_EMPTY:${PN}-modules = "1" -PACKAGES += "${PN}-modules " - -PACKAGESPLITFUNCS:prepend = "split_perl_packages " - -python split_perl_packages () { - libdir = d.expand('${libdir}/perl5/${PV}') - do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|.*linux\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - - # perl-modules should recommend every perl module, and only the - # modules. Don't attempt to use the result of do_split_packages() as some - # modules are manually split (eg. perl-module-unicore). - packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) - d.setVar(d.expand("RRECOMMENDS:${PN}-modules"), ' '.join(packages)) - - # Read the pre-generated dependency file, and use it to set module dependecies - for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): - splitline = line.split() - # Filter empty lines and comments - if len(splitline) == 0 or splitline[0].startswith("#"): - continue - if bb.data.inherits_class('native', d): - module = splitline[0] + '-native' - depends = "perl-native" - else: - module = splitline[0].replace("RDEPENDS:perl", "RDEPENDS:${PN}") - depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") - d.appendVar(d.expand(module), " " + depends) -} - -python() { - if d.getVar('CLASSOVERRIDE') == "class-target": - d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(? ${WORKDIR}/perl-rdepends.inc - -# Some additional dependencies that the above doesn't manage to figure out -RDEPENDS:${PN}-module-file-spec += "${PN}-module-file-spec-unix" -RDEPENDS:${PN}-module-scalar-util += "${PN}-module-list-util" -RDEPENDS:${PN}-module-file-temp += "${PN}-module-scalar-util" -RDEPENDS:${PN}-module-file-temp += "${PN}-module-file-spec" -RDEPENDS:${PN}-module-io-file += "${PN}-module-symbol" -RDEPENDS:${PN}-module-io-file += "${PN}-module-carp" -RDEPENDS:${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" -RDEPENDS:${PN}-module-test-builder += "${PN}-module-list-util" -RDEPENDS:${PN}-module-test-builder += "${PN}-module-scalar-util" -RDEPENDS:${PN}-module-test-builder-formatter += "${PN}-module-test2-formatter-tap" -RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-fail" -RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-pass" -RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-v2" -RDEPENDS:${PN}-module-test2-formatter-tap += "${PN}-module-test2-formatter" -RDEPENDS:${PN}-module-thread-queue += "${PN}-module-attributes" -RDEPENDS:${PN}-module-overload += "${PN}-module-overloading" - -# Generated depends list beyond this line -EOPREAMBLE - test -e packages-split.new && rm -rf packages-split.new - cp -r packages-split packages-split.new && cd packages-split.new - find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' - egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;s/)//;" | tr [:upper:] [:lower:] | \ - awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ - grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ - sort -u | \ - sed 's/^/RDEPENDS:/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ - egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ - egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-l|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-io-uncompress-unxz|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' > ${WORKDIR}/perl-rdepends.generated - cat ${WORKDIR}/perl-rdepends.inc ${WORKDIR}/perl-rdepends.generated > ${THISDIR}/files/perl-rdepends.txt -} - -# bitbake perl -c create_rdepends_inc -addtask do_create_rdepends_inc - -SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" - -perl_sysroot_create_wrapper () { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - # Create a wrapper that /usr/bin/env perl will use to get perl-native. - # This MUST live in the normal bindir. - cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF -#!/bin/sh -realpath=\`readlink -fn \$0\` -exec \`dirname \$realpath\`/perl-native/perl "\$@" -EOF - chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl - cat ${SYSROOT_DESTDIR}${bindir}/nativeperl -} - -SSTATE_HASHEQUIV_FILEMAP = " \ - populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${TMPDIR} \ - populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${COREBASE} \ - populate_sysroot:*/lib*/perl5/config.sh:${TMPDIR} \ - populate_sysroot:*/lib*/perl5/config.sh:${COREBASE} \ - " diff --git a/poky/meta/recipes-devtools/perl/perl_5.36.0.bb b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb new file mode 100644 index 0000000000..4456cdbcfb --- /dev/null +++ b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb @@ -0,0 +1,410 @@ +SUMMARY = "Perl scripting language" +HOMEPAGE = "http://www.perl.org/" +DESCRIPTION = "Perl is a highly capable, feature-rich programming language" +SECTION = "devel" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" +LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ + file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ + " + + +SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ + file://perl-rdepends.txt \ + file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ + file://errno_ver.diff \ + file://native-perlinc.patch \ + file://perl-dynloader.patch \ + file://0002-Constant-Fix-up-shebang.patch \ + file://determinism.patch \ + file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \ + file://0001-Fix-build-with-gcc-12.patch \ + " +SRC_URI:append:class-native = " \ + file://perl-configpm-switch.patch \ +" +SRC_URI:append:class-target = " \ + file://encodefix.patch \ +" + +SRC_URI[perl.sha256sum] = "e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a" + +S = "${WORKDIR}/perl-${PV}" + +inherit upstream-version-is-even update-alternatives + +DEPENDS += "perlcross-native zlib virtual/crypt" +# make 4.1 has race issues with the double-colon usage of MakeMaker, see #14096 +DEPENDS += "make-native" + +PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" + +PACKAGECONFIG ??= "gdbm" +PACKAGECONFIG[bdb] = ",-Ui_db,db" +PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" + +# Don't generate comments in enc2xs output files. They are not reproducible +export ENC2XS_NO_COMMENTS = "1" + +do_configure:prepend() { + cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S} +} + +do_configure:class-target() { + ./configure --prefix=${prefix} --libdir=${libdir} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dusethreads \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Dvendorlibdir=${libdir} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + -Dlibpth='${libdir} ${base_libdir}' \ + -Dglibpth='${libdir} ${base_libdir}' \ + -Alddlflags=' ${LDFLAGS}' \ + -Dd_gnulibc=define \ + ${PACKAGECONFIG_CONFARGS} + + #perl.c uses an ARCHLIB_EXP define to generate compile-time code that + #adds the archlibexp path to @INC during run-time initialization of a + #new perl interpreter. + + #Because we've changed this value in a temporary way to make it + #possible to use ExtUtils::Embed in the target build (the temporary + #value in config.sh gets re-stripped out during packaging), the + #ARCHLIB_EXP value that gets generated still uses the temporary version + #instead of the original expected version (i.e. becauses it's in the + #generated config.h, it doesn't get stripped out during packaging like + #the others in config.sh). + + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure:class-nativesdk() { + ./configure --prefix=${prefix} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dusethreads \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + -Alddlflags=' ${LDFLAGS}' \ + ${PACKAGECONFIG_CONFARGS} + + # See the comment above + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure:class-native() { + ./configure --prefix=${prefix} \ + -Dbin=${bindir}/perl-native \ + -Duseshrplib \ + -Dusethreads \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Ui_xlocale \ + -Alddlflags=' ${LDFLAGS}' \ + ${PACKAGECONFIG_CONFARGS} +} + +do_configure:append() { + if [ -n "$SOURCE_DATE_EPOCH" ]; then + PERL_BUILD_DATE="$(${PYTHON} -c "\ +from datetime import datetime, timezone; \ +print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ + ")" + echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h + fi + oe_runmake clean +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${libdir}/perl5 + install -d ${D}${libdir}/perl5/${PV}/ + install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Save native config + install config.sh ${D}${libdir}/perl5 + install lib/Config.pm ${D}${libdir}/perl5/${PV}/ + install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Fix up shared library + dir=$(echo ${D}/${libdir}/perl5/${PV}/*/CORE) + rm $dir/libperl.so + ln -sf ../../../../libperl.so.${PERL_LIB_VER} $dir/libperl.so + + # Try to catch Bug #13946 + if [ -e ${D}/${libdir}/perl5/${PV}/Storable.pm ]; then + bbfatal 'non-arch specific Storable.pm found! See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13946' + fi +} + +do_install:append:class-target() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + + # This contains host-specific information used for building miniperl (a helper executable built with host compiler) + # and therefore isn't reproducible. I believe the file isn't actually needed on target. + rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h +} + +do_install:append:class-nativesdk() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + + create_wrapper ${D}${bindir}/perl \ + PERL5LIB='$PERL5LIB:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/site_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/vendor_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/${PV}' +} + +do_install:append:class-native () { + # Those wrappers mean that perl installed from sstate (which may change + # path location) works and that in the nativesdk case, the SDK can be + # installed to a different location from the one it was built for. + create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' + + # Use /usr/bin/env nativeperl for the perl script. + for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do + sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f + done +} + +PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" + +perl_package_preprocess () { + # Fix up installed configuration + sed -i -e "s,${D},,g" \ + -e "s,${DEBUG_PREFIX_MAP},,g" \ + -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ + -e "s,-isystem${STAGING_INCDIR} ,,g" \ + -e "s,${STAGING_LIBDIR},${libdir},g" \ + -e "s,${STAGING_BINDIR},${bindir},g" \ + -e "s,${STAGING_INCDIR},${includedir},g" \ + -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ + -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ + -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ + -e 's:${RECIPE_SYSROOT}::g' \ + ${PKGD}${bindir}/h2xs.perl \ + ${PKGD}${bindir}/h2ph.perl \ + ${PKGD}${bindir}/pod2man.perl \ + ${PKGD}${bindir}/pod2text.perl \ + ${PKGD}${bindir}/pod2usage.perl \ + ${PKGD}${bindir}/podchecker.perl \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ + ${PKGD}${libdir}/perl5/${PV}/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ + ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ + ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ + ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ + ${PKGD}${libdir}/perl5/config.sh +} + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \ + piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \ + prove ptar ptardiff ptargrep shasum splain streamzip xsubpp zipdetails" +ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist" +ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan" +ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs" +ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess" +ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph" +ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs" +ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh" +ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp" +ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg" +ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv" +ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm" +ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html" +ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man" +ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text" +ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage" +ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker" +ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove" +ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar" +ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff" +ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep" +ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum" +ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain" +ALTERNATIVE_LINK_NAME[streamzip] = "${bindir}/streamzip" +ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp" +ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" + +require perl-ptest.inc + +FILES:${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ + ${libdir}/perl5/site_perl \ + ${libdir}/perl5/${PV}/Config.pm \ + ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ + ${libdir}/perl5/${PV}/*/Config_git.pl \ + ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ + ${libdir}/perl5/config.sh \ + ${libdir}/perl5/${PV}/strict.pm \ + ${libdir}/perl5/${PV}/warnings.pm \ + ${libdir}/perl5/${PV}/warnings \ + ${libdir}/perl5/${PV}/vars.pm \ + ${libdir}/perl5/site_perl \ + ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ + ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ + ${libdir}/perl5/${PV}/ExtUtils/typemap \ + " +RPROVIDES:${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ + perl-module-warnings-register" + +FILES:${PN}-staticdev:append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" + +FILES:${PN}-dev:append = " ${libdir}/perl5/${PV}/*/CORE" + +FILES:${PN}-doc:append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ + ${libdir}/perl5/${PV}/*/.packlist \ + ${libdir}/perl5/${PV}/Encode/encode.h \ + " +PACKAGES += "${PN}-misc" + +FILES:${PN}-misc = "${bindir}/*" + +PACKAGES += "${PN}-pod" + +FILES:${PN}-pod = "${libdir}/perl5/${PV}/pod \ + ${libdir}/perl5/${PV}/*.pod \ + ${libdir}/perl5/${PV}/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*/*.pod \ + " + +PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" + +FILES:${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ + " +FILES:${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" + +ALTERNATIVE_PRIORITY = "40" +ALTERNATIVE:${PN}-doc = "Thread.3" +ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3" + +# Create a perl-modules package recommending all the other perl +# packages (actually the non modules packages and not created too) +ALLOW_EMPTY:${PN}-modules = "1" +PACKAGES += "${PN}-modules " + +PACKAGESPLITFUNCS:prepend = "split_perl_packages " + +python split_perl_packages () { + libdir = d.expand('${libdir}/perl5/${PV}') + do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|.*linux\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + + # perl-modules should recommend every perl module, and only the + # modules. Don't attempt to use the result of do_split_packages() as some + # modules are manually split (eg. perl-module-unicore). + packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) + d.setVar(d.expand("RRECOMMENDS:${PN}-modules"), ' '.join(packages)) + + # Read the pre-generated dependency file, and use it to set module dependecies + for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): + splitline = line.split() + # Filter empty lines and comments + if len(splitline) == 0 or splitline[0].startswith("#"): + continue + if bb.data.inherits_class('native', d): + module = splitline[0] + '-native' + depends = "perl-native" + else: + module = splitline[0].replace("RDEPENDS:perl", "RDEPENDS:${PN}") + depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") + d.appendVar(d.expand(module), " " + depends) +} + +python() { + if d.getVar('CLASSOVERRIDE') == "class-target": + d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(? ${WORKDIR}/perl-rdepends.inc + +# Some additional dependencies that the above doesn't manage to figure out +RDEPENDS:${PN}-module-file-spec += "${PN}-module-file-spec-unix" +RDEPENDS:${PN}-module-scalar-util += "${PN}-module-list-util" +RDEPENDS:${PN}-module-file-temp += "${PN}-module-scalar-util" +RDEPENDS:${PN}-module-file-temp += "${PN}-module-file-spec" +RDEPENDS:${PN}-module-io-file += "${PN}-module-symbol" +RDEPENDS:${PN}-module-io-file += "${PN}-module-carp" +RDEPENDS:${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" +RDEPENDS:${PN}-module-test-builder += "${PN}-module-list-util" +RDEPENDS:${PN}-module-test-builder += "${PN}-module-scalar-util" +RDEPENDS:${PN}-module-test-builder-formatter += "${PN}-module-test2-formatter-tap" +RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-fail" +RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-pass" +RDEPENDS:${PN}-module-test2-api += "${PN}-module-test2-event-v2" +RDEPENDS:${PN}-module-test2-formatter-tap += "${PN}-module-test2-formatter" +RDEPENDS:${PN}-module-thread-queue += "${PN}-module-attributes" +RDEPENDS:${PN}-module-overload += "${PN}-module-overloading" + +# Generated depends list beyond this line +EOPREAMBLE + test -e packages-split.new && rm -rf packages-split.new + cp -r packages-split packages-split.new && cd packages-split.new + find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' + egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;s/)//;" | tr [:upper:] [:lower:] | \ + awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ + grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ + sort -u | \ + sed 's/^/RDEPENDS:/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ + egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ + egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-l|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-io-uncompress-unxz|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' > ${WORKDIR}/perl-rdepends.generated + cat ${WORKDIR}/perl-rdepends.inc ${WORKDIR}/perl-rdepends.generated > ${THISDIR}/files/perl-rdepends.txt +} + +# bitbake perl -c create_rdepends_inc +addtask do_create_rdepends_inc + +SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" + +perl_sysroot_create_wrapper () { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + # Create a wrapper that /usr/bin/env perl will use to get perl-native. + # This MUST live in the normal bindir. + cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF +#!/bin/sh +realpath=\`readlink -fn \$0\` +exec \`dirname \$realpath\`/perl-native/perl "\$@" +EOF + chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl + cat ${SYSROOT_DESTDIR}${bindir}/nativeperl +} + +SSTATE_HASHEQUIV_FILEMAP = " \ + populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${TMPDIR} \ + populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${COREBASE} \ + populate_sysroot:*/lib*/perl5/config.sh:${TMPDIR} \ + populate_sysroot:*/lib*/perl5/config.sh:${COREBASE} \ + " diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch index a2b7a519af..b28865291c 100644 --- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch @@ -1,4 +1,4 @@ -From d1b4fa4a99774878035a0f664ec0d9686e7f0c89 Mon Sep 17 00:00:00 2001 +From d03595e69cc532e27c0d3d535f08107349669d3d Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Tue, 17 Jul 2018 10:13:38 +0800 Subject: [PATCH] conditionally do not fetch code by easy_install diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc index 5050dfd427..ab8c4d65f3 100644 --- a/poky/meta/recipes-devtools/python/python-cython.inc +++ b/poky/meta/recipes-devtools/python/python-cython.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" PYPI_PACKAGE = "Cython" BBCLASSEXTEND = "native nativesdk" -SRC_URI[sha256sum] = "d6fac2342802c30e51426828fe084ff4deb1b3387367cf98976bb2e64b6f8e45" +SRC_URI[sha256sum] = "2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3" UPSTREAM_CHECK_REGEX = "Cython-(?P.*)\.tar" inherit pypi diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb b/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb deleted file mode 100644 index 4c376da897..0000000000 --- a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python package for providing Mozilla's CA Bundle." -DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ -Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ -which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." -HOMEPAGE = " http://certifi.io/" - -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8" - -SRC_URI[sha256sum] = "78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb b/poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb new file mode 100644 index 0000000000..ff460d40b9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Python package for providing Mozilla's CA Bundle." +DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ +Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ +which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." +HOMEPAGE = " http://certifi.io/" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8" + +SRC_URI[sha256sum] = "9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb index d7a720bf2b..470cf4388c 100644 --- a/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb +++ b/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb @@ -104,6 +104,9 @@ do_install_ptest() { install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/ install -d ${D}${PTEST_PATH}/tests cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + # remove test_x509.py as it needs benchmark and we don't + # want to introduce the benchmark dependency + rm -rf ${D}${PTEST_PATH}/tests/bench/test_x509.py install -d ${D}${PTEST_PATH}/tests/hazmat cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/ diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb deleted file mode 100644 index 26333cb271..0000000000 --- a/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb +++ /dev/null @@ -1,37 +0,0 @@ -inherit setuptools3 -require python-cython.inc - -RDEPENDS:${PN} += "\ - python3-setuptools \ -" - -# running build_ext a second time during install fails, because Python -# would then attempt to import cythonized modules built for the target -# architecture. -SETUPTOOLS_INSTALL_ARGS += "--skip-build" - -do_install:append() { - # rename scripts that would conflict with the Python 2 build of Cython - mv ${D}${bindir}/cython ${D}${bindir}/cython3 - mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 - mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 -} - -PACKAGEBUILDPKGD += "cython_fix_sources" - -cython_fix_sources () { - for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \ - ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do - if [ -e $f ]; then - sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f - fi - done -} - diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb new file mode 100644 index 0000000000..26333cb271 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb @@ -0,0 +1,37 @@ +inherit setuptools3 +require python-cython.inc + +RDEPENDS:${PN} += "\ + python3-setuptools \ +" + +# running build_ext a second time during install fails, because Python +# would then attempt to import cythonized modules built for the target +# architecture. +SETUPTOOLS_INSTALL_ARGS += "--skip-build" + +do_install:append() { + # rename scripts that would conflict with the Python 2 build of Cython + mv ${D}${bindir}/cython ${D}${bindir}/cython3 + mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 + mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 +} + +PACKAGEBUILDPKGD += "cython_fix_sources" + +cython_fix_sources () { + for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \ + ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do + if [ -e $f ]; then + sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f + fi + done +} + diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb deleted file mode 100644 index 7bc89c844c..0000000000 --- a/poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Tooling for devicetree validation using YAML and jsonschema" -HOMEPAGE = "https://github.com/devicetree-org/dt-schema" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=457495c8fa03540db4a576bf7869e811" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "dtschema" - -SRC_URI[sha256sum] = "c70a644e0100b5bacd44839a2316291d8eee91f6535a8419459de59fd0fcf6ce" - -DEPENDS += "python3-setuptools-scm-native" -RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb new file mode 100644 index 0000000000..0520dd76aa --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Tooling for devicetree validation using YAML and jsonschema" +HOMEPAGE = "https://github.com/devicetree-org/dt-schema" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=457495c8fa03540db4a576bf7869e811" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "dtschema" + +SRC_URI[sha256sum] = "147ff18bf446131d3ba14bc751febd84f4fdedf06130f53e193d3370052dfe3f" + +DEPENDS += "python3-setuptools-scm-native" +RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb new file mode 100644 index 0000000000..1d9772d4ff --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb @@ -0,0 +1,38 @@ +SUMMARY = "A library for property-based testing" +HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" + +PYPI_PACKAGE = "hypothesis" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ + file://test_binary_search.py \ + file://test_rle.py \ + " + +SRC_URI[sha256sum] = "f5c1cf61b24b094355577a6b8fbbb8eb54c1b0216fbc0519af97c46bddf43c42" + +RDEPENDS:${PN} += " \ + python3-attrs \ + python3-compression \ + python3-core \ + python3-json \ + python3-sortedcontainers \ + python3-statistics \ + python3-unittest \ + " + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + " + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/examples + install -m 0755 ${WORKDIR}/test_binary_search.py ${D}${PTEST_PATH}/examples/ + install -m 0755 ${WORKDIR}/test_rle.py ${D}${PTEST_PATH}/examples/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb deleted file mode 100644 index 86d6793670..0000000000 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "A library for property-based testing" -HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" - -PYPI_PACKAGE = "hypothesis" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ - file://test_binary_search.py \ - file://test_rle.py \ - " - -SRC_URI[sha256sum] = "f5c24a3d3f8a0d8de2dd33079bf1580a3cfbfe74763187d47570fc9beea84c9b" - -RDEPENDS:${PN} += " \ - python3-attrs \ - python3-compression \ - python3-core \ - python3-json \ - python3-sortedcontainers \ - python3-statistics \ - python3-unittest \ - " - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - " - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/examples - install -m 0755 ${WORKDIR}/test_binary_search.py ${D}${PTEST_PATH}/examples/ - install -m 0755 ${WORKDIR}/test_rle.py ${D}${PTEST_PATH}/examples/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb deleted file mode 100644 index d8e56ccb25..0000000000 --- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Read metadata from Python packages" -HOMEPAGE = "https://pypi.org/project/importlib-metadata/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "importlib_metadata" -UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" - -SRC_URI[sha256sum] = "ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539" - -S = "${WORKDIR}/importlib_metadata-${PV}" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" -RDEPENDS:${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" -RDEPENDS:${PN}:append:class-target = " python3-misc" -RDEPENDS:${PN}:append:class-nativesdk = " python3-misc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb new file mode 100644 index 0000000000..807a16d6db --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Read metadata from Python packages" +HOMEPAGE = "https://pypi.org/project/importlib-metadata/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "importlib_metadata" +UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" + +SRC_URI[sha256sum] = "5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700" + +S = "${WORKDIR}/importlib_metadata-${PV}" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" +RDEPENDS:${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" +RDEPENDS:${PN}:append:class-target = " python3-misc" +RDEPENDS:${PN}:append:class-nativesdk = " python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb deleted file mode 100644 index efc8b6daaa..0000000000 --- a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "File type identification using libmagic" -DESCRIPTION = "This module uses ctypes to access the libmagic file type \ - identification library. It makes use of the local magic database and supports \ - both textual and MIME-type output." -HOMEPAGE = "http://github.com/ahupp/python-magic" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" - -PYPI_PACKAGE = "python-magic" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "21f5f542aa0330f5c8a64442528542f6215c8e18d2466b399b0d9d39356d83fc" - -RDEPENDS:${PN} += "file \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-shell" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb new file mode 100644 index 0000000000..89495ecc7c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb @@ -0,0 +1,22 @@ +SUMMARY = "File type identification using libmagic" +DESCRIPTION = "This module uses ctypes to access the libmagic file type \ + identification library. It makes use of the local magic database and supports \ + both textual and MIME-type output." +HOMEPAGE = "http://github.com/ahupp/python-magic" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" + +PYPI_PACKAGE = "python-magic" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "8262c13001f904ad5b724d38b5e5b5f17ec0450ae249def398a62e4e33108a50" + +RDEPENDS:${PN} += "file \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-shell" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb b/poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb new file mode 100644 index 0000000000..5fe59a4762 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb @@ -0,0 +1,65 @@ +SUMMARY = "The PyPA recommended tool for installing Python packages" +HOMEPAGE = "https://pypi.org/project/pip" +SECTION = "devel/python" +LICENSE = "MIT & Apache-2.0 & MPL-2.0 & LGPL-2.1-only & BSD-3-Clause & PSF-2.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030 \ + file://src/pip/_vendor/cachecontrol/LICENSE.txt;md5=6572692148079ebbbd800be4b9f36c6d \ + file://src/pip/_vendor/certifi/LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8 \ + file://src/pip/_vendor/chardet/LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://src/pip/_vendor/colorama/LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26 \ + file://src/pip/_vendor/distlib/LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc \ + file://src/pip/_vendor/distro/LICENSE;md5=d2794c0df5b907fdace235a619d80314 \ + file://src/pip/_vendor/html5lib/LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c \ + file://src/pip/_vendor/idna/LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1 \ + file://src/pip/_vendor/msgpack/COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751 \ + file://src/pip/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ + file://src/pip/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \ + file://src/pip/_vendor/pep517/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \ + file://src/pip/_vendor/pkg_resources/LICENSE;md5=9a33897f1bca1160d7aad3835152e158 \ + file://src/pip/_vendor/platformdirs/LICENSE.txt;md5=282c970bb844954c8535dd6e9733db7f \ + file://src/pip/_vendor/pygments/LICENSE;md5=98419e351433ac106a24e3ad435930bc \ + file://src/pip/_vendor/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \ + file://src/pip/_vendor/requests/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \ + file://src/pip/_vendor/resolvelib/LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5 \ + file://src/pip/_vendor/rich/LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303 \ + file://src/pip/_vendor/six.LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d \ + file://src/pip/_vendor/tenacity/LICENSE;md5=175792518e4ac015ab6696d16c4f607e \ + file://src/pip/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ + file://src/pip/_vendor/typing_extensions.LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f \ + file://src/pip/_vendor/urllib3/LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c \ + file://src/pip/_vendor/webencodings/LICENSE;md5=81fb24cd7823cce23b69f721993dce4d \ +" + +inherit pypi python_setuptools_build_meta + +SRC_URI += "file://0001-change-shebang-to-python3.patch" +SRC_URI += "file://no_shebang_mangling.patch" +SRC_URI += "file://reproducible.patch" + +SRC_URI[sha256sum] = "6d55b27e10f506312894a87ccc59f280136bad9061719fac9101bdad5a6bce69" + +do_install:append() { + rm -f ${D}/${bindir}/pip +} + +RDEPENDS:${PN} = "\ + python3-compile \ + python3-io \ + python3-html \ + python3-json \ + python3-multiprocessing \ + python3-netserver \ + python3-setuptools \ + python3-unixadmin \ + python3-xmlrpc \ + python3-pickle \ + python3-distutils \ + python3-image \ +" + +BBCLASSEXTEND = "native nativesdk" + +# This used to use the bootstrap install which didn't compile. Until we bump the +# tmpdir version we can't compile the native otherwise the sysroot unpack fails +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.1.bb b/poky/meta/recipes-devtools/python/python3-pip_22.1.bb deleted file mode 100644 index 1aef9bca33..0000000000 --- a/poky/meta/recipes-devtools/python/python3-pip_22.1.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "The PyPA recommended tool for installing Python packages" -HOMEPAGE = "https://pypi.org/project/pip" -SECTION = "devel/python" -LICENSE = "MIT & Apache-2.0 & MPL-2.0 & LGPL-2.1-only & BSD-3-Clause & PSF-2.0 & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030 \ - file://src/pip/_vendor/cachecontrol/LICENSE.txt;md5=6572692148079ebbbd800be4b9f36c6d \ - file://src/pip/_vendor/certifi/LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8 \ - file://src/pip/_vendor/chardet/LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://src/pip/_vendor/colorama/LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26 \ - file://src/pip/_vendor/distlib/LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc \ - file://src/pip/_vendor/distro/LICENSE;md5=d2794c0df5b907fdace235a619d80314 \ - file://src/pip/_vendor/html5lib/LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c \ - file://src/pip/_vendor/idna/LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1 \ - file://src/pip/_vendor/msgpack/COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751 \ - file://src/pip/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ - file://src/pip/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \ - file://src/pip/_vendor/pep517/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \ - file://src/pip/_vendor/pkg_resources/LICENSE;md5=9a33897f1bca1160d7aad3835152e158 \ - file://src/pip/_vendor/platformdirs/LICENSE.txt;md5=282c970bb844954c8535dd6e9733db7f \ - file://src/pip/_vendor/pygments/LICENSE;md5=98419e351433ac106a24e3ad435930bc \ - file://src/pip/_vendor/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \ - file://src/pip/_vendor/requests/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \ - file://src/pip/_vendor/resolvelib/LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5 \ - file://src/pip/_vendor/rich/LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303 \ - file://src/pip/_vendor/six.LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d \ - file://src/pip/_vendor/tenacity/LICENSE;md5=175792518e4ac015ab6696d16c4f607e \ - file://src/pip/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ - file://src/pip/_vendor/typing_extensions.LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f \ - file://src/pip/_vendor/urllib3/LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c \ - file://src/pip/_vendor/webencodings/LICENSE;md5=81fb24cd7823cce23b69f721993dce4d \ -" - -inherit pypi python_setuptools_build_meta - -SRC_URI += "file://0001-change-shebang-to-python3.patch" -SRC_URI += "file://no_shebang_mangling.patch" -SRC_URI += "file://reproducible.patch" - -SRC_URI[sha256sum] = "2debf847016cfe643fa1512e2d781d3ca9e5c878ba0652583842d50cc2bcc605" - -do_install:append() { - rm -f ${D}/${bindir}/pip -} - -RDEPENDS:${PN} = "\ - python3-compile \ - python3-io \ - python3-html \ - python3-json \ - python3-multiprocessing \ - python3-netserver \ - python3-setuptools \ - python3-unixadmin \ - python3-xmlrpc \ - python3-pickle \ -" - -BBCLASSEXTEND = "native nativesdk" - -# This used to use the bootstrap install which didn't compile. Until we bump the -# tmpdir version we can't compile the native otherwise the sysroot unpack fails -INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb index 3f2895a061..2935acf95f 100644 --- a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb @@ -24,3 +24,5 @@ do_install_ptest() { install -d ${D}${PTEST_PATH}/testing cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/ } + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch deleted file mode 100644 index 99bfccca3f..0000000000 --- a/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 8b4e38958ff8bdbb3ece4796bfa2d3b6f7536f71 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Wed, 23 Feb 2022 11:54:40 +0800 -Subject: [PATCH] fix failure test cases - -The test cases is not robust enough. skip some cases that is -not suitable for all conditions. - -* test_io_counters failed when kernel config CONFIG_TASKSTATS - and CONFIG_TASK_IO_ACCOUNTING are not enable in OE -* test_setup_script failed since oe don't install setup.py -* test_used failed since oe use git source for free, so the version - is 3.3.17-dirty -* test_weird_environ failed since gcc not installed -* test_debug failed since it is designed to run when PSUTIL_DEBUG is set -* test_against_findmnt/test_comparisons/test_disk_partitions_mocked/ - test_disk_partitions is not suitable for Linux nfs boot - -Upstream-Status: Submitted [https://github.com/giampaolo/psutil/pull/2097] - -Signed-off-by: Changqing Li ---- - psutil/tests/test_contracts.py | 1 + - psutil/tests/test_linux.py | 8 ++++++-- - psutil/tests/test_misc.py | 4 ++++ - psutil/tests/test_process.py | 5 +++++ - psutil/tests/test_system.py | 1 + - psutil/tests/test_unicode.py | 4 +++- - 6 files changed, 20 insertions(+), 3 deletions(-) - -diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py -index 7401cc1..bf0fca0 100755 ---- a/psutil/tests/test_contracts.py -+++ b/psutil/tests/test_contracts.py -@@ -172,6 +172,7 @@ class TestAvailProcessAPIs(PsutilTestCase): - def test_rlimit(self): - self.assertEqual(hasattr(psutil.Process, "rlimit"), LINUX or FREEBSD) - -+ @unittest.skip("broken on OE since kernel config maye not be enabled") - def test_io_counters(self): - hasit = hasattr(psutil.Process, "io_counters") - self.assertEqual(hasit, False if MACOS or SUNOS else True) -diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py -index 20e28d2..66b6dda 100755 ---- a/psutil/tests/test_linux.py -+++ b/psutil/tests/test_linux.py -@@ -196,8 +196,9 @@ def get_free_version_info(): - out = sh(["free", "-V"]).strip() - if 'UNKNOWN' in out: - raise unittest.SkipTest("can't determine free version") -- return tuple(map(int, out.split()[-1].split('.'))) -- -+ vlist = out.split()[-1].split('.') -+ vlist[:] = [n.split('-')[0] for n in vlist] -+ return tuple(map(int, vlist)) - - @contextlib.contextmanager - def mock_open_content(for_path, content): -@@ -1289,6 +1290,7 @@ class TestRootFsDeviceFinder(PsutilTestCase): - finder.ask_sys_class_block() - - @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS") -+ @unittest.skip("Broken for oe") - def test_comparisons(self): - finder = RootFsDeviceFinder() - self.assertIsNotNone(finder.find()) -@@ -1311,11 +1313,13 @@ class TestRootFsDeviceFinder(PsutilTestCase): - - @unittest.skipIf(not which("findmnt"), "findmnt utility not available") - @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS") -+ @unittest.skip("Broken for oe") - def test_against_findmnt(self): - psutil_value = RootFsDeviceFinder().find() - findmnt_value = sh("findmnt -o SOURCE -rn /") - self.assertEqual(psutil_value, findmnt_value) - -+ @unittest.skip("Broken for oe") - def test_disk_partitions_mocked(self): - with mock.patch( - 'psutil._pslinux.cext.disk_partitions', -diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py -index d946eb6..121004a 100755 ---- a/psutil/tests/test_misc.py -+++ b/psutil/tests/test_misc.py -@@ -54,6 +54,8 @@ from psutil.tests import unittest - # =================================================================== - - -+PSUTIL_DEBUG = bool(os.getenv('PSUTIL_DEBUG', 0)) -+ - class TestMisc(PsutilTestCase): - - def test_process__repr__(self, func=repr): -@@ -368,6 +370,7 @@ class TestMisc(PsutilTestCase): - - # XXX: https://github.com/pypa/setuptools/pull/2896 - @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug") -+ @unittest.skip("OE run this test outof source tree") - def test_setup_script(self): - setup_py = os.path.join(ROOT_DIR, 'setup.py') - if CI_TESTING and not os.path.exists(setup_py): -@@ -401,6 +404,7 @@ class TestMisc(PsutilTestCase): - reload_module(psutil) - self.assertIn("version conflict", str(cm.exception).lower()) - -+ @unittest.skipIf(not PSUTIL_DEBUG, "env PSUTIL_DEBUG not set") - def test_debug(self): - if PY3: - from io import StringIO -diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py -index c9059e3..a34ba3d 100755 ---- a/psutil/tests/test_process.py -+++ b/psutil/tests/test_process.py -@@ -36,6 +36,7 @@ from psutil._compat import PY3 - from psutil._compat import FileNotFoundError - from psutil._compat import long - from psutil._compat import super -+from psutil._compat import which - from psutil.tests import APPVEYOR - from psutil.tests import CI_TESTING - from psutil.tests import GITHUB_ACTIONS -@@ -726,6 +727,7 @@ class TestProcess(PsutilTestCase): - self.assertEqual(' '.join(p.cmdline()), ' '.join(cmdline)) - - @unittest.skipIf(PYPY, "broken on PYPY") -+ @unittest.skipIf(not which("gcc"), "gcc not installed") - def test_long_cmdline(self): - testfn = self.get_testfn() - create_exe(testfn) -@@ -740,6 +742,7 @@ class TestProcess(PsutilTestCase): - assert pyexe.startswith(name), (pyexe, name) - - @unittest.skipIf(PYPY, "unreliable on PYPY") -+ @unittest.skipIf(not which("gcc"), "gcc not installed") - def test_long_name(self): - testfn = self.get_testfn(suffix="0123456789" * 2) - create_exe(testfn) -@@ -750,6 +753,7 @@ class TestProcess(PsutilTestCase): - @unittest.skipIf(SUNOS, "broken on SUNOS") - @unittest.skipIf(AIX, "broken on AIX") - @unittest.skipIf(PYPY, "broken on PYPY") -+ @unittest.skipIf(not which("gcc"), "gcc not installed") - def test_prog_w_funky_name(self): - # Test that name(), exe() and cmdline() correctly handle programs - # with funky chars such as spaces and ")", see: -@@ -1408,6 +1412,7 @@ class TestProcess(PsutilTestCase): - - @unittest.skipIf(not HAS_ENVIRON, "not supported") - @unittest.skipIf(not POSIX, "POSIX only") -+ @unittest.skipIf(not which("gcc"), "gcc not installed") - def test_weird_environ(self): - # environment variables can contain values without an equals sign - code = textwrap.dedent(""" -diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py -index db2cb34..5ee519f 100755 ---- a/psutil/tests/test_system.py -+++ b/psutil/tests/test_system.py -@@ -580,6 +580,7 @@ class TestDiskAPIs(PsutilTestCase): - def test_disk_usage_bytes(self): - psutil.disk_usage(b'.') - -+ @unittest.skip("Broken for oe") - def test_disk_partitions(self): - def check_ntuple(nt): - self.assertIsInstance(nt.device, str) -diff --git a/psutil/tests/test_unicode.py b/psutil/tests/test_unicode.py -index e635726..7ba5b0f 100755 ---- a/psutil/tests/test_unicode.py -+++ b/psutil/tests/test_unicode.py -@@ -86,6 +86,7 @@ from psutil import POSIX - from psutil import WINDOWS - from psutil._compat import PY3 - from psutil._compat import u -+from psutil._compat import which - from psutil.tests import APPVEYOR - from psutil.tests import ASCII_FS - from psutil.tests import CI_TESTING -@@ -156,7 +157,7 @@ def try_unicode(suffix): - # FS APIs - # =================================================================== - -- -+@unittest.skipIf(not which("gcc"), "gcc not installed") - class BaseUnicodeTest(PsutilTestCase): - funky_suffix = None - -@@ -169,6 +170,7 @@ class BaseUnicodeTest(PsutilTestCase): - @serialrun - @unittest.skipIf(ASCII_FS, "ASCII fs") - @unittest.skipIf(PYPY and not PY3, "too much trouble on PYPY2") -+@unittest.skipIf(not which("gcc"), "gcc not installed") - class TestFSAPIs(BaseUnicodeTest): - """Test FS APIs with a funky, valid, UTF8 path name.""" - --- -2.25.1 - diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb deleted file mode 100644 index df304f01e6..0000000000 --- a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "A cross-platform process and system utilities module for Python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" -HOMEPAGE = "https://pypi.org/project/psutil/" - -SRC_URI[sha256sum] = "869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25" - -inherit pypi setuptools3 - -SRC_URI += "file://0001-fix-failure-test-cases.patch" - -PACKAGES =+ "${PN}-tests" - -FILES:${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \ - ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ -" - - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-xml \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-resource \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb new file mode 100644 index 0000000000..04b6fb02de --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "A cross-platform process and system utilities module for Python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" +HOMEPAGE = "https://pypi.org/project/psutil/" + +SRC_URI[sha256sum] = "57f1819b5d9e95cdfb0c881a8a5b7d542ed0b7c522d575706a80bedc848c8954" + +inherit pypi setuptools3 + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ +" + + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-resource \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb deleted file mode 100644 index 060a6ff6cf..0000000000 --- a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "unittest subTest() support and subtests fixture." -DESCRIPTION = "Adds support for TestCase.subTest.\ -New subtests fixture, providing similar functionality for pure pytest tests." -HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests" -BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" - -SRC_URI[sha256sum] = "95c44c77e3fbede9848bb88ca90b384815fcba8090ef9a9f55659ab163b1681c" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-pytest \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb new file mode 100644 index 0000000000..b092912b32 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "unittest subTest() support and subtests fixture." +DESCRIPTION = "Adds support for TestCase.subTest.\ +New subtests fixture, providing similar functionality for pure pytest tests." +HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests" +BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" + +SRC_URI[sha256sum] = "46eb376022e926950816ccc23502de3277adcc1396652ddb3328ce0289052c4d" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-pytest \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb new file mode 100644 index 0000000000..0a24ca9ebc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A library implementing the 'SemVer' scheme." +DESCRIPTION = "Semantic version comparison for Python (see http://semver.org/)" +HOMEPAGE = "https://github.com/rbarrois/python-semanticversion" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2" + +SRC_URI[sha256sum] = "bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c" + +PYPI_PACKAGE = "semantic_version" +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-pkg-resources \ +" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/semantic-version/(?P(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb deleted file mode 100644 index 4101f48043..0000000000 --- a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "A library implementing the 'SemVer' scheme." -DESCRIPTION = "Semantic version comparison for Python (see http://semver.org/)" -HOMEPAGE = "https://github.com/rbarrois/python-semanticversion" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2" - -SRC_URI[sha256sum] = "abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2" - -PYPI_PACKAGE = "semantic_version" -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_REGEX = "/semantic-version/(?P(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb deleted file mode 100644 index c9367c180f..0000000000 --- a/poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" -HOMEPAGE = "https://pypi.org/project/setuptools" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" - -inherit pypi python_setuptools_build_meta - -SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" - -SRC_URI += "file://0001-change-shebang-to-python3.patch \ - file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" - -SRC_URI[sha256sum] = "28c79c24d83c42a5e6d6cc711e5e9a6c1b89326229feaa5807fc277040658600" - -DEPENDS += "${PYTHON_PN}" - -RDEPENDS:${PN} = "\ - ${PYTHON_PN}-2to3 \ - ${PYTHON_PN}-compile \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkg-resources \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" - -BBCLASSEXTEND = "native nativesdk" - -# The pkg-resources module can be used by itself, without the package downloader -# and easy_install. Ship it in a separate package so that it can be used by -# minimal distributions. -PACKAGES =+ "${PYTHON_PN}-pkg-resources " -FILES:${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" -RDEPENDS:${PYTHON_PN}-pkg-resources = "\ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-pprint \ -" - -# This used to use the bootstrap install which didn't compile. Until we bump the -# tmpdir version we can't compile the native otherwise the sysroot unpack fails -INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb new file mode 100644 index 0000000000..406a4bd4e7 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb @@ -0,0 +1,55 @@ +SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" +HOMEPAGE = "https://pypi.org/project/setuptools" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" + +inherit pypi python_setuptools_build_meta + +SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" + +SRC_URI += "file://0001-change-shebang-to-python3.patch \ + file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" + +SRC_URI[sha256sum] = "a43bdedf853c670e5fed28e5623403bad2f73cf02f9a2774e91def6bda8265a7" + +DEPENDS += "${PYTHON_PN}" + +RDEPENDS:${PN} = "\ + ${PYTHON_PN}-2to3 \ + ${PYTHON_PN}-compile \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkg-resources \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" + +BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "${PYTHON_PN}-pkg-resources " +FILES:${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +RDEPENDS:${PYTHON_PN}-pkg-resources = "\ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-pprint \ +" + +# This used to use the bootstrap install which didn't compile. Until we bump the +# tmpdir version we can't compile the native otherwise the sysroot unpack fails +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb deleted file mode 100644 index f4d27f3275..0000000000 --- a/poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "Python documentation generator" -HOMEPAGE = "http://sphinx-doc.org/" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause & MIT & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=72c536e78c21c567311b193fe00cd253" - -PYPI_PACKAGE = "Sphinx" - -SRC_URI[sha256sum] = "7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6" - -inherit setuptools3 pypi - - -do_install:append () { - # The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?) - rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex* -} - -RDEPENDS:${PN} = "\ - python3-packaging python3-docutils python3-requests \ - python3-imagesize python3-alabaster python3-jinja2 \ - python3-babel python3-pygments python3-snowballstemmer \ - python3-sphinxcontrib-applehelp python3-sphinxcontrib-devhelp \ - python3-sphinxcontrib-jsmath python3-sphinxcontrib-htmlhelp \ - python3-sphinxcontrib-serializinghtml python3-sphinxcontrib-qthelp \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb new file mode 100644 index 0000000000..93edd9db7e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Python documentation generator" +HOMEPAGE = "http://sphinx-doc.org/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause & MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=72c536e78c21c567311b193fe00cd253" + +PYPI_PACKAGE = "Sphinx" + +SRC_URI[sha256sum] = "464d9c1bd5613bcebe76b46658763f3f3dbb184da7406e632a84596d3cd8ee90" + +inherit setuptools3 pypi + + +do_install:append () { + # The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?) + rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex* +} + +RDEPENDS:${PN} = "\ + python3-packaging python3-docutils python3-requests \ + python3-imagesize python3-alabaster python3-jinja2 \ + python3-babel python3-pygments python3-snowballstemmer \ + python3-sphinxcontrib-applehelp python3-sphinxcontrib-devhelp \ + python3-sphinxcontrib-jsmath python3-sphinxcontrib-htmlhelp \ + python3-sphinxcontrib-serializinghtml python3-sphinxcontrib-qthelp \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb b/poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb deleted file mode 100644 index 26dbe51767..0000000000 --- a/poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Simple Python module for working with HTML/CSS color definitions." -HOMEPAGE = "https://pypi.org/project/webcolors/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=25b90379a52351261c51272e7923d240" - -SRC_URI[md5sum] = "54d28a7c80b3e4d974ec2fee86768be9" -SRC_URI[sha256sum] = "76f360636957d1c976db7466bc71dcb713bb95ac8911944dffc55c01cb516de6" - -inherit pypi setuptools3 ptest - -RDEPENDS:${PN}:class-target = "\ - ${PYTHON_PN}-stringold \ -" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb new file mode 100644 index 0000000000..39ff19c2b8 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb @@ -0,0 +1,27 @@ +SUMMARY = "Simple Python module for working with HTML/CSS color definitions." +HOMEPAGE = "https://pypi.org/project/webcolors/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bcf737478d2fa8af5bc954231df056c6" + +SRC_URI[sha256sum] = "16d043d3a08fd6a1b1b7e3e9e62640d09790dce80d2bdd4792a175b35fe794a9" + +inherit pypi setuptools3 ptest + +RDEPENDS:${PN}:class-target = "\ + ${PYTHON_PN}-stringold \ +" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch new file mode 100644 index 0000000000..296b413cab --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch @@ -0,0 +1,32 @@ +There are two issues here. Firstly, the modules are accessed in on disk order. This +means behaviour seen on one system might not reproduce on another and is a real headache. + +Secondly, empty directories left behind by previous modules might be looked at. This +has caused a long string of different issues for us. + +As a result, patch this to a behaviour which works for us. + +Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes] +Signed-off-by: Richard Purdie + + +Index: Python-3.10.4/Lib/importlib/metadata/__init__.py +=================================================================== +--- Python-3.10.4.orig/Lib/importlib/metadata/__init__.py ++++ Python-3.10.4/Lib/importlib/metadata/__init__.py +@@ -819,7 +819,14 @@ class Lookup: + self.infos = FreezableDefaultDict(list) + self.eggs = FreezableDefaultDict(list) + +- for child in path.children(): ++ for child in sorted(path.children()): ++ childpath = pathlib.Path(path.root, child) ++ try: ++ if childpath.is_dir() and not any(childpath.iterdir()): ++ # Empty directories aren't interesting ++ continue ++ except PermissionError: ++ continue + low = child.lower() + if low.endswith((".dist-info", ".egg-info")): + # rpartition is faster than splitext and suitable for this purpose. diff --git a/poky/meta/recipes-devtools/python/python3_3.10.4.bb b/poky/meta/recipes-devtools/python/python3_3.10.4.bb index 2ef320350e..6bd3a6aba8 100644 --- a/poky/meta/recipes-devtools/python/python3_3.10.4.bb +++ b/poky/meta/recipes-devtools/python/python3_3.10.4.bb @@ -33,6 +33,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \ file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \ + file://deterministic_imports.patch \ " SRC_URI:append:class-native = " \ @@ -165,6 +166,9 @@ do_install:append:class-native() { # tarballs and sysroot creation. find ${D} -name *.pyc -delete + # Nothing should be looking into ${B} for python3-native + sed -i -e 's:${B}:/build/path/unavailable/:g' \ + ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile } do_install:append() { @@ -175,15 +179,16 @@ do_install:append() { mkdir -p ${D}${libdir}/python-sysconfigdata sysconfigfile=`find ${D} -name _sysconfig*.py` - cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py - sed -i \ -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \ -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \ -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \ - ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py + -e "s,${B},/build/path/unavailable/,g" \ + $sysconfigfile + cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py + # Unfortunately the following pyc files are non-deterministc due to 'frozenset' # being written without strict ordering, even with PYTHONHASHSEED = 0 diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 5f303992be..e4ced6ac27 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -9,7 +9,7 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only" RDEPENDS:${PN}-ptest = "bash" require qemu-targets.inc -inherit pkgconfig ptest python3-dir +inherit pkgconfig ptest LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" @@ -111,11 +111,7 @@ do_configure:prepend:class-native() { } do_configure() { - # This is taken from meson.bbclass to avoid errors when updating to a - # new version of meson. - rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || : - - ${S}/configure ${EXTRA_OECONF} + ${S}/configure ${EXTRA_OECONF} } do_configure[cleandirs] += "${B}" diff --git a/poky/meta/recipes-devtools/repo/repo_2.25.bb b/poky/meta/recipes-devtools/repo/repo_2.25.bb deleted file mode 100644 index b7332515c8..0000000000 --- a/poky/meta/recipes-devtools/repo/repo_2.25.bb +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-License-Identifier: MIT -# Copyright (C) 2021 iris-GmbH infrared & intelligent sensors - -SUMMARY = "Tool for managing many Git repositories" -DESCRIPTION = "Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow." -HOMEPAGE = "https://android.googlesource.com/tools/repo" -SECTION = "console/utils" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ - file://0001-python3-shebang.patch \ - " -SRCREV = "501733c2abb1180679f25b2f78970d73a2f8d413" - -MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" - -S = "${WORKDIR}/git" - -do_configure:prepend() { - sed -Ei "s/REPO_REV\s*=\s*('|\")stable('|\")/REPO_REV = '${SRCREV}'/g" ${S}/repo -} - -do_install() { - install -D ${WORKDIR}/git/repo ${D}${bindir}/repo -} - -RDEPENDS:${PN} = "python3 git" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/repo/repo_2.26.bb b/poky/meta/recipes-devtools/repo/repo_2.26.bb new file mode 100644 index 0000000000..ff5b7eb6aa --- /dev/null +++ b/poky/meta/recipes-devtools/repo/repo_2.26.bb @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) 2021 iris-GmbH infrared & intelligent sensors + +SUMMARY = "Tool for managing many Git repositories" +DESCRIPTION = "Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow." +HOMEPAGE = "https://android.googlesource.com/tools/repo" +SECTION = "console/utils" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ + file://0001-python3-shebang.patch \ + " +SRCREV = "bdcba7dc36f1c8e6041681eb5b3b5229c93c7c5c" + +MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" + +S = "${WORKDIR}/git" + +do_configure:prepend() { + sed -Ei "s/REPO_REV\s*=\s*('|\")stable('|\")/REPO_REV = '${SRCREV}'/g" ${S}/repo +} + +do_install() { + install -D ${WORKDIR}/git/repo ${D}${bindir}/repo +} + +RDEPENDS:${PN} = "python3 git" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb index 4e009d2625..0a7e0f2a52 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" -PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" +PACKAGECONFIG ??= "gzip xz lz4 lzma xattr zstd reproducible" PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch index 9f1da7bac6..073713c139 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch @@ -10,7 +10,7 @@ implementation. Fixes | cc1: warning: switch -mcpu=cortex-a8 conflicts with -march=armv7ve switch -Upstream-Status: Pending +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346] Signed-off-by: Khem Raj --- diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch b/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch index 5fcfec0015..82b8344279 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch @@ -8,7 +8,7 @@ test 64-bit float copies when building for ARM. Allow it to do so if possible, but fallback to C when building for ARM targets which don't support neon. -Upstream-Status: Pending +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346] Signed-off-by: Andre McCurdy --- diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch index adea405213..f15d04b173 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch @@ -15,7 +15,7 @@ over-ride that). See similar cases in none/tests/arm/Makefile.am -Upstream-Status: Pending +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346] Signed-off-by: Andre McCurdy --- diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb deleted file mode 100644 index 4ab9edbce4..0000000000 --- a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages" -DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \ -articles, books and UNIX man pages." - -HOMEPAGE = "http://asciidoc.org/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \ - file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - " - -SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main" -SRCREV = "c724bbf95b1840b04bb298a61a72b6a5ea94c2ef" - -DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" - -S = "${WORKDIR}/git" - -# Tell xmllint where to find the DocBook XML catalogue, because right now it -# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch -export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" - -inherit setuptools3 -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$" diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb new file mode 100644 index 0000000000..e112eb513d --- /dev/null +++ b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages" +DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \ +articles, books and UNIX man pages." + +HOMEPAGE = "http://asciidoc.org/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \ + file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + " + +SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main" +SRCREV = "545b79b8d7dae70d12bf0657359bdd36de0c5c26" + +DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +S = "${WORKDIR}/git" + +# Tell xmllint where to find the DocBook XML catalogue, because right now it +# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch +export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" + +inherit setuptools3 +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$" diff --git a/poky/meta/recipes-extended/bash/bash/makerace2.patch b/poky/meta/recipes-extended/bash/bash/makerace2.patch index 43cdd04157..abb51a5086 100644 --- a/poky/meta/recipes-extended/bash/bash/makerace2.patch +++ b/poky/meta/recipes-extended/bash/bash/makerace2.patch @@ -11,7 +11,7 @@ moved or are being rewritten. See [YOCTO #14227] -Upstream-Status: Pending +Upstream-Status: Submitted [https://savannah.gnu.org/patch/index.php?10210] Signed-off-by: Richard Purdie Index: bash-5.1.8/builtins/Makefile.in diff --git a/poky/meta/recipes-extended/cups/cups_2.4.1.bb b/poky/meta/recipes-extended/cups/cups_2.4.1.bb deleted file mode 100644 index 27c88f82c7..0000000000 --- a/poky/meta/recipes-extended/cups/cups_2.4.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "c7339f75f8d4f2dec50c673341a45fc06b6885bb6d4366d6bf59a4e6c10ae178" diff --git a/poky/meta/recipes-extended/cups/cups_2.4.2.bb b/poky/meta/recipes-extended/cups/cups_2.4.2.bb new file mode 100644 index 0000000000..f5ca749bac --- /dev/null +++ b/poky/meta/recipes-extended/cups/cups_2.4.2.bb @@ -0,0 +1,5 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908" diff --git a/poky/meta/recipes-extended/less/less_600.bb b/poky/meta/recipes-extended/less/less_600.bb index 9ebe39daab..f51083e1de 100644 --- a/poky/meta/recipes-extended/less/less_600.bb +++ b/poky/meta/recipes-extended/less/less_600.bb @@ -31,6 +31,7 @@ SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \ SRC_URI[sha256sum] = "6633d6aa2b3cc717afb2c205778c7c42c4620f63b1d682f3d12c98af0be74d20" UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html" +UPSTREAM_VERSION_UNKNOWN = "1" inherit autotools update-alternatives diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb index c795b41628..761cfca647 100644 --- a/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb +++ b/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d499814247adaee08d88080841cb5665" DEPENDS = "e2fsprogs-native" -PACKAGECONFIG ?= "zlib bz2 xz lzo zstd" +PACKAGECONFIG ?= "zlib bz2 xz zstd" PACKAGECONFIG:append:class-target = "\ ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \ diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb deleted file mode 100644 index 2a60d9b31f..0000000000 --- a/poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Rotates, compresses, removes and mails system log files" -SECTION = "console/utils" -HOMEPAGE = "https://github.com/logrotate/logrotate/" -DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files." -LICENSE = "GPL-2.0-only" - -# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? - -DEPENDS="coreutils popt" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" - -SRC_URI[sha256sum] = "ddd5274d684c5c99ca724e8069329f343ebe376e07493d537d9effdc501214ba" - -# These CVEs are debian, gentoo or SUSE specific on the way logrotate was installed/used -CVE_CHECK_IGNORE += "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" - -PACKAGECONFIG[acl] = ",,acl" -PACKAGECONFIG[selinux] = ",,libselinux" - -CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \ - ${sysconfdir}/logrotate.conf \ - ${sysconfdir}/logrotate.d/btmp \ - ${sysconfdir}/logrotate.d/wtmp" - -# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our -# optimization variables, so use it rather than EXTRA_CFLAGS. -EXTRA_OEMAKE = "\ - LFS= \ - OS_NAME='${OS_NAME}' \ - 'CC=${CC}' \ - 'RPM_OPT_FLAGS=${CFLAGS}' \ - 'EXTRA_LDFLAGS=${LDFLAGS}' \ - ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ -" - -# OS_NAME in the makefile defaults to `uname -s`. The behavior for -# freebsd/netbsd is questionable, so leave it as Linux, which only sets -# INSTALL=install and BASEDIR=/usr. -OS_NAME = "Linux" - -inherit autotools systemd - -SYSTEMD_SERVICE:${PN} = "\ - ${BPN}.service \ - ${BPN}.timer \ -" - -LOGROTATE_OPTIONS ?= "" - -LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" -LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" -LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true" - -do_install(){ - oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} - mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${localstatedir}/lib - install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf - install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp - install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp - touch ${D}${localstatedir}/lib/logrotate.status - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service - install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer - [ -z "${LOGROTATE_OPTIONS}" ] || - sed -ri \ - -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \ - ${D}${systemd_system_unitdir}/logrotate.service - sed -ri \ - -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \ - -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \ - -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \ - ${D}${systemd_system_unitdir}/logrotate.timer - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - mkdir -p ${D}${sysconfdir}/cron.daily - install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate - fi -} diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb new file mode 100644 index 0000000000..35977535aa --- /dev/null +++ b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb @@ -0,0 +1,91 @@ +SUMMARY = "Rotates, compresses, removes and mails system log files" +SECTION = "console/utils" +HOMEPAGE = "https://github.com/logrotate/logrotate/" +DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files." +LICENSE = "GPL-2.0-only" + +# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? + +DEPENDS="coreutils popt" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" + +SRC_URI[sha256sum] = "742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094" + +# These CVEs are debian, gentoo or SUSE specific on the way logrotate was installed/used +CVE_CHECK_IGNORE += "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" + +PACKAGECONFIG[acl] = ",,acl" +PACKAGECONFIG[selinux] = ",,libselinux" + +CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \ + ${sysconfdir}/logrotate.conf \ + ${sysconfdir}/logrotate.d/btmp \ + ${sysconfdir}/logrotate.d/wtmp" + +# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our +# optimization variables, so use it rather than EXTRA_CFLAGS. +EXTRA_OEMAKE = "\ + LFS= \ + OS_NAME='${OS_NAME}' \ + 'CC=${CC}' \ + 'RPM_OPT_FLAGS=${CFLAGS}' \ + 'EXTRA_LDFLAGS=${LDFLAGS}' \ + ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ +" + +# OS_NAME in the makefile defaults to `uname -s`. The behavior for +# freebsd/netbsd is questionable, so leave it as Linux, which only sets +# INSTALL=install and BASEDIR=/usr. +OS_NAME = "Linux" + +inherit autotools systemd + +SYSTEMD_SERVICE:${PN} = "\ + ${BPN}.service \ + ${BPN}.timer \ +" + +LOGROTATE_OPTIONS ?= "" + +LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" +LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" +LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true" + +do_install(){ + oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} + mkdir -p ${D}${sysconfdir}/logrotate.d + mkdir -p ${D}${localstatedir}/lib + install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf + install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp + install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp + touch ${D}${localstatedir}/lib/logrotate.status + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service + install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer + [ -z "${LOGROTATE_OPTIONS}" ] || + sed -ri \ + -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \ + ${D}${systemd_system_unitdir}/logrotate.service + sed -ri \ + -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \ + -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \ + -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \ + ${D}${systemd_system_unitdir}/logrotate.timer + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + mkdir -p ${D}${sysconfdir}/cron.daily + install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + fi +} diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch b/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch deleted file mode 100644 index e8d9f212a9..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4aad23f208cc7725cd61bbe5aaadb9994c794cd0 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 26 Jan 2022 20:58:46 +0100 -Subject: [PATCH] metadata/parse.sh: sort filelist for reproducibility - -find does not guarantee the order of the files. - -Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/907] -Signed-off-by: Alexander Kanavin ---- - metadata/parse.sh | 2 +- - -diff --git a/metadata/parse.sh b/metadata/parse.sh -index b43d024c68..1811665bfe 100755 ---- a/metadata/parse.sh -+++ b/metadata/parse.sh -@@ -29,7 +29,7 @@ echo ' "tests": {' - - first=1 - --for test in `find testcases/ -name '*.c'`; do -+for test in `find testcases/ -name '*.c'|sort`; do - a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test") - if [ -n "$a" ]; then - if [ -z "$first" ]; then --- -2.20.1 - diff --git a/poky/meta/recipes-extended/ltp/ltp_20220121.bb b/poky/meta/recipes-extended/ltp/ltp_20220121.bb deleted file mode 100644 index 8a13dcf9d0..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp_20220121.bb +++ /dev/null @@ -1,138 +0,0 @@ -SUMMARY = "Linux Test Project" -DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." -HOMEPAGE = "https://linux-test-project.github.io/" -SECTION = "console/utils" -LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ - file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \ -" - -DEPENDS = "attr libaio libcap acl openssl zip-native" -DEPENDS:append:libc-musl = " fts " -EXTRA_OEMAKE:append:libc-musl = " LIBC=musl " -EXTRA_OECONF:append:libc-musl = " LIBS=-lfts " - -# since ltp contains x86-64 assembler which uses the frame-pointer register, -# set -fomit-frame-pointer x86-64 to handle cases where optimisation -# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer -# earlier in CFLAGS, etc. -CFLAGS:append:x86-64 = " -fomit-frame-pointer" - -CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" -CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" -SRCREV = "b0561ad8d9ee9fe1244b5385e941eb65a21e91a1" - -SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ - file://0001-Remove-OOM-tests-from-runtest-mm.patch \ - file://0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch \ - file://disable_hanging_tests.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig - -TARGET_CC_ARCH += "${LDFLAGS}" - -export prefix = "/opt/${PN}" -export exec_prefix = "/opt/${PN}" - -PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," -EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" -EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " -# ltp network/rpc test cases ftbfs when libtirpc is found -EXTRA_OECONF += " --without-tirpc " - -do_compile() { - oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" -} - -do_install(){ - install -d ${D}${prefix}/ - oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install - - # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run - # as it lacks dependency on some perl moudle such as LWP::Simple - # And this script previously works as a tool for analyzing failures from LTP - # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses - # http://khack.osdl.org to retrieve ltp test results run on - # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible - rm -rf ${D}${prefix}/bin/STPfailure_report.pl - - # Copy POSIX test suite into ${D}${prefix}/testcases by manual - cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases - - # Makefile were configured in the build system - find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ - -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*--sysroot=[^ "]*@@g' - - # The controllers memcg_stree test seems to cause us hangs and takes 900s - # (maybe we expect more regular output?), anyhow, skip it - sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers -} - -RDEPENDS:${PN} = "\ - attr \ - bash \ - bc \ - coreutils \ - cpio \ - cronie \ - curl \ - e2fsprogs \ - e2fsprogs-mke2fs \ - expect \ - file \ - gawk \ - gdb \ - gzip \ - iproute2 \ - ldd \ - libaio \ - logrotate \ - net-tools \ - perl \ - python3-core \ - procps \ - quota \ - unzip \ - util-linux \ - which \ - tar \ -" - -FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" - -# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail -INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" -INSANE_SKIP:${PN} += "already-stripped staticdev" - -remove_broken_musl_sources() { - [ "${TCLIBC}" = "musl" ] || return 0 - - cd ${S} - echo "WARNING: remove unsupported tests (until they're fixed)" - - # sync with upstream - # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33 - rm -rfv \ - testcases/kernel/syscalls/confstr/confstr01.c \ - testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ - testcases/kernel/syscalls/getcontext/getcontext01.c \ - testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ - testcases/kernel/syscalls/timer_create/timer_create01.c \ - testcases/kernel/syscalls/timer_create/timer_create03.c \ - utils/benchmark/ebizzy-0.3 -} -do_patch[postfuncs] += "remove_broken_musl_sources" - -# Avoid file dependency scans, as LTP checks for things that may or may not -# exist on the running system. For instance it has specific checks for -# csh and ksh which are not typically part of OpenEmbedded systems (but -# can be added via additional layers.) -SKIP_FILEDEPS:${PN} = '1' diff --git a/poky/meta/recipes-extended/ltp/ltp_20220527.bb b/poky/meta/recipes-extended/ltp/ltp_20220527.bb new file mode 100644 index 0000000000..b3ef8f5910 --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp_20220527.bb @@ -0,0 +1,143 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "https://linux-test-project.github.io/" +SECTION = "console/utils" +LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ + file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \ +" + +DEPENDS = "attr libaio libcap acl openssl zip-native" +DEPENDS:append:libc-musl = " fts " +EXTRA_OEMAKE:append:libc-musl = " LIBC=musl " +EXTRA_OECONF:append:libc-musl = " LIBS=-lfts " + +# since ltp contains x86-64 assembler which uses the frame-pointer register, +# set -fomit-frame-pointer x86-64 to handle cases where optimisation +# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer +# earlier in CFLAGS, etc. +CFLAGS:append:x86-64 = " -fomit-frame-pointer" + +CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" +SRCREV = "6f88e0f6f1d6eb12c48c902f50f47ecbd3b0f18a" + +SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ + file://0001-Remove-OOM-tests-from-runtest-mm.patch \ + file://disable_hanging_tests.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to +# SORT_NONE in linker script which isn't supported by gold: +# https://sourceware.org/bugzilla/show_bug.cgi?id=18097 +# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36 +LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}" + +TARGET_CC_ARCH += "${LDFLAGS}" + +export prefix = "/opt/${PN}" +export exec_prefix = "/opt/${PN}" + +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" +EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " +# ltp network/rpc test cases ftbfs when libtirpc is found +EXTRA_OECONF += " --without-tirpc " + +do_compile() { + oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" +} + +do_install(){ + install -d ${D}${prefix}/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install + + # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run + # as it lacks dependency on some perl moudle such as LWP::Simple + # And this script previously works as a tool for analyzing failures from LTP + # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses + # http://khack.osdl.org to retrieve ltp test results run on + # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible + rm -rf ${D}${prefix}/bin/STPfailure_report.pl + + # Copy POSIX test suite into ${D}${prefix}/testcases by manual + cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases + + # Makefile were configured in the build system + find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*--sysroot=[^ "]*@@g' + + # The controllers memcg_stree test seems to cause us hangs and takes 900s + # (maybe we expect more regular output?), anyhow, skip it + sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers +} + +RDEPENDS:${PN} = "\ + attr \ + bash \ + bc \ + coreutils \ + cpio \ + cronie \ + curl \ + e2fsprogs \ + e2fsprogs-mke2fs \ + expect \ + file \ + gawk \ + gdb \ + gzip \ + iproute2 \ + ldd \ + libaio \ + logrotate \ + net-tools \ + perl \ + python3-core \ + procps \ + quota \ + unzip \ + util-linux \ + which \ + tar \ +" + +FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" + +# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail +INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" +INSANE_SKIP:${PN} += "already-stripped staticdev" + +remove_broken_musl_sources() { + [ "${TCLIBC}" = "musl" ] || return 0 + + cd ${S} + echo "WARNING: remove unsupported tests (until they're fixed)" + + # sync with upstream + # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33 + rm -rfv \ + testcases/kernel/syscalls/confstr/confstr01.c \ + testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ + testcases/kernel/syscalls/getcontext/getcontext01.c \ + testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ + testcases/kernel/syscalls/timer_create/timer_create01.c \ + testcases/kernel/syscalls/timer_create/timer_create03.c \ + utils/benchmark/ebizzy-0.3 +} +do_patch[postfuncs] += "remove_broken_musl_sources" + +# Avoid file dependency scans, as LTP checks for things that may or may not +# exist on the running system. For instance it has specific checks for +# csh and ksh which are not typically part of OpenEmbedded systems (but +# can be added via additional layers.) +SKIP_FILEDEPS:${PN} = '1' diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb deleted file mode 100644 index 7043f3d391..0000000000 --- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "System Log Daemons" -DESCRIPTION = "The sysklogd package implements system log daemons: syslogd" -HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/" -SECTION = "base" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \ - file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \ - " - -inherit update-rc.d update-alternatives systemd autotools - -SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \ - file://sysklogd \ - " - -SRCREV = "03c2c9c68d5d02675326527774e7e9cba3490ba0" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" - -do_install:append () { - install -d ${D}${sysconfdir} - install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog -} - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "syslogd.service" -SYSTEMD_AUTO_ENABLE = "enable" - -INITSCRIPT_NAME = "syslog" -CONFFILES:${PN} = "${sysconfdir}/syslog.conf" -RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng" - -FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN}-doc = "syslogd.8" -ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" - -pkg_prerm:${PN} () { - if test "x$D" = "x"; then - if test "$1" = "upgrade" -o "$1" = "remove"; then - /etc/init.d/syslog stop || : - fi - fi -} - -python () { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") -} diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb new file mode 100644 index 0000000000..4e6da70e4a --- /dev/null +++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb @@ -0,0 +1,56 @@ +SUMMARY = "System Log Daemons" +DESCRIPTION = "The sysklogd package implements system log daemons: syslogd" +HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/" +SECTION = "base" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \ + file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \ + " + +inherit update-rc.d update-alternatives systemd autotools + +SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \ + file://sysklogd \ + " + +SRCREV = "7dc4783af8e8e0d200d38a87b6a4bc9bbec5ce92" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" + +do_install:append () { + install -d ${D}${sysconfdir} + install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog +} + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "syslogd.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_NAME = "syslog" +CONFFILES:${PN} = "${sysconfdir}/syslog.conf" +RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng" + +FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN}-doc = "syslogd.8" +ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" + +pkg_prerm:${PN} () { + if test "x$D" = "x"; then + if test "$1" = "upgrade" -o "$1" = "remove"; then + /etc/init.d/syslog stop || : + fi + fi +} + +python () { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb deleted file mode 100644 index fe3db4d8a5..0000000000 --- a/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb +++ /dev/null @@ -1,7 +0,0 @@ -require sysstat.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" - -SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch" - -SRC_URI[sha256sum] = "ef445acea301bbb996e410842f6290a8d049e884d4868cfef7e85dc04b7eee5b" diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb new file mode 100644 index 0000000000..273c5c1815 --- /dev/null +++ b/poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb @@ -0,0 +1,7 @@ +require sysstat.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" + +SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch" + +SRC_URI[sha256sum] = "699fd948836d77f9ad0541fd5dcf75cd2505f9da4ec14df669286ad047c23d97" diff --git a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch index 716766de29..5a6d1946f6 100644 --- a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch +++ b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch @@ -6,7 +6,7 @@ Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step Ensures that right flags from recipes are honored, otherwise tests fail which otherwise should not. -Upstream-Status: Pending +Upstream-Status: Inactive-Upstream Signed-off-by: Khem Raj --- unix/configure | 28 ++++++++++++++-------------- diff --git a/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch b/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch index 6ba2b879a3..c0103444fc 100644 --- a/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch +++ b/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch @@ -20,7 +20,7 @@ Regenerated to apply without offsets. CVE: CVE-2021-4217 -Upstream-Status: Pending [infozip upstream inactive] +Upstream-Status: Inactive-Upstream [infozip upstream inactive] Signed-off-by: Joe Slater diff --git a/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch b/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch index e0c89d81b7..70bedc8381 100644 --- a/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch +++ b/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch @@ -1,4 +1,4 @@ -Upstream-Status: Inappropriate [need a new release] +Upstream-Status: Inactive-Upstream [need a new release] unix/Makefile: remove hard coded strip commands diff --git a/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch b/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch index dc554c32cb..dd01c01400 100644 --- a/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch +++ b/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch @@ -1,6 +1,6 @@ Pass LDFLAGS to the linker -Upstream-Status: Inappropriate [need a new release] +Upstream-Status: Inactive-Upstream [need a new release] Signed-off-by: Mikhail Durnev diff --git a/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch index ba6ead3b5e..2889c652d4 100644 --- a/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch +++ b/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch @@ -5,7 +5,7 @@ Fix security formatting issues related to sprintf parameters expeted. [YOCTO #9551] [https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551] -Upstream-Status: Inappropriate [need a new release] +Upstream-Status: Inactive-Upstream [need a new release] Signed-off-by: Edwin Plauchu diff --git a/poky/meta/recipes-extended/unzip/unzip/symlink.patch b/poky/meta/recipes-extended/unzip/unzip/symlink.patch index c1d82ac187..26f1c8ba86 100644 --- a/poky/meta/recipes-extended/unzip/unzip/symlink.patch +++ b/poky/meta/recipes-extended/unzip/unzip/symlink.patch @@ -6,7 +6,7 @@ a symlink entry." This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427) -Upstream-Status: Inappropriate [need a new release] +Upstream-Status: Inactive-Upstream [need a new release] Signed-off-by: Ross Burton --- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200 diff --git a/poky/meta/recipes-extended/watchdog/watchdog-config.bb b/poky/meta/recipes-extended/watchdog/watchdog-config.bb index a28d28033b..f138952128 100644 --- a/poky/meta/recipes-extended/watchdog/watchdog-config.bb +++ b/poky/meta/recipes-extended/watchdog/watchdog-config.bb @@ -13,8 +13,15 @@ SRC_URI = " \ file://watchdog.conf \ " +# The default value is 60 seconds when null. +WATCHDOG_TIMEOUT ??= "" + do_install() { install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf + + if [ -n "${WATCHDOG_TIMEOUT}" ]; then + echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf + fi } diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch index 475a653f28..92d0d5db58 100644 --- a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch +++ b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch @@ -8,7 +8,7 @@ linking, link fails otherwise without them, which can result in configure detection go wrong, ensure these flags are used along with CC when tests involve linking -Upstream-Status: Pending +Upstream-Status: Inactive-Upstream Signed-off-by: Khem Raj --- unix/configure | 16 ++++++++-------- diff --git a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch index 244ddea363..6fd04df1c6 100644 --- a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch +++ b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch @@ -2,7 +2,7 @@ From: Santiago Vila Subject: Remove (optional) build date to make the build reproducible Bug-Debian: http://bugs.debian.org/779042 -Upstream-Status: Inappropriate [no upstream] +Upstream-Status: Inactive-Upstream [no upstream] Signed-off-by: Joshua Watt diff --git a/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch b/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch index 5cdbf22a54..f85fddbc60 100644 --- a/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch +++ b/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch @@ -14,7 +14,7 @@ zip.c:1228:5: error: format not a string literal and no format arguments [-Werro [YOCTO #9552] [https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552] -Upstream-Status: Inappropriate [need a new release] +Upstream-Status: Inactive-Upstream [need a new release] Signed-off-by: Edwin Plauchu diff --git a/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch b/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch index ce6caff83e..77ade40a04 100644 --- a/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch +++ b/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch @@ -4,7 +4,7 @@ https://bugs.archlinux.org/task/47713 Signed-off-by: Jate Sujjavanich -Upstream-Status: Inappropriate [no upstream] +Upstream-Status: Inactive-Upstream [no upstream] diff --git a/zipnote.c b/zipnote.c index 5e02cb6..996f012 100644 diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb index 717c31c325..b6e591fb6e 100644 --- a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb +++ b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb @@ -22,7 +22,10 @@ SRC_URI += "file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \ SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}" +PACKAGECONFIG ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \ +" PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3" FILES:${PN} += " \ diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb deleted file mode 100644 index fb9e29dd8c..0000000000 --- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb +++ /dev/null @@ -1,17 +0,0 @@ -require gtk+3.inc - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ - file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ - file://0003-Add-disable-opengl-configure-option.patch \ - file://link_fribidi.patch \ - " -SRC_URI[sha256sum] = "588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801" - -S = "${WORKDIR}/gtk+-${PV}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb new file mode 100644 index 0000000000..f862e143d4 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb @@ -0,0 +1,17 @@ +require gtk+3.inc + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ + file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ + file://0003-Add-disable-opengl-configure-option.patch \ + file://link_fribidi.patch \ + " +SRC_URI[sha256sum] = "dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec" + +S = "${WORKDIR}/gtk+-${PV}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb deleted file mode 100644 index 05d5aefd87..0000000000 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Text shaping library" -DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \ - file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \ - " - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "harfbuzz-(?P\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1" - -inherit meson pkgconfig lib_package gtk-doc gobject-introspection - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_ENABLE_FLAG = 'enabled' -GTKDOC_MESON_DISABLE_FLAG = 'disabled' - -PACKAGECONFIG ??= "cairo freetype glib icu" -PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" -PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" -PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" -PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" -PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu" - -PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" - -LEAD_SONAME = "libharfbuzz.so" - -do_install:append() { - # If no tools are installed due to PACKAGECONFIG then this directory is - #still installed, so remove it to stop packaging wanings. - rmdir --ignore-fail-on-non-empty ${D}${bindir} -} - -FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ - ${libdir}/libharfbuzz-icu.so \ - ${libdir}/pkgconfig/harfbuzz-icu.pc \ -" -FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb new file mode 100644 index 0000000000..909b8c57d9 --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb @@ -0,0 +1,48 @@ +SUMMARY = "Text shaping library" +DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \ + file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \ + " + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "harfbuzz-(?P\d+(\.\d+)+).tar" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530" + +inherit meson pkgconfig lib_package gtk-doc gobject-introspection + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG ??= "cairo freetype glib icu" +PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" +PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" +PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" +PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" +PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu" + +PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" + +LEAD_SONAME = "libharfbuzz.so" + +do_install:append() { + # If no tools are installed due to PACKAGECONFIG then this directory is + #still installed, so remove it to stop packaging wanings. + rmdir --ignore-fail-on-non-empty ${D}${bindir} +} + +FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ + ${libdir}/libharfbuzz-icu.so \ + ${libdir}/pkgconfig/harfbuzz-icu.pc \ +" +FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb index b112d63784..8519e7f732 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb @@ -43,7 +43,9 @@ EXTRA_OECMAKE = "-DSDL_OSS=OFF -DSDL_ESD=OFF -DSDL_ARTS=OFF \ -DSDL_PTHREADS=ON \ -DSDL_RPATH=OFF \ -DSDL_SNDIO=OFF \ + -DSDL_X11_XVM=OFF \ -DSDL_X11_XCURSOR=OFF \ + -DSDL_X11_XINERAMA=OFF \ -DSDL_X11_XDBE=OFF \ -DSDL_X11_XFIXES=OFF \ -DSDL_X11_XINPUT=OFF \ diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch deleted file mode 100644 index e31827d4a3..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch +++ /dev/null @@ -1,382 +0,0 @@ -From 779438770bedf3d53e6ad8f7cd6889b7f50daf3b Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Wed, 9 Jul 2014 14:23:41 +0200 -Subject: [PATCH] configure: Allow to disable demos which require GLEW or GLU - -* in some systems without X11 support we don't have GLEW, but - mesa-demos are still useful - -This isn't currently appropriate for upstream submission as glew has -been replaced with glad there; glu situation would need to be re-assesed -when upstream makes a new release, requested here: -https://gitlab.freedesktop.org/mesa/demos/-/issues/22 - -Upstream-Status: Inappropriate [see above] - -Signed-off-by: Martin Jansa - -Port to 8.3.0 -Signed-off-by: Jussi Kukkonen ---- - configure.ac | 49 ++++++++++++++++++++--------- - src/Makefile.am | 18 ++++++++--- - src/demos/Makefile.am | 73 ++++++++++++++++++++++++------------------- - src/egl/Makefile.am | 8 +++-- - src/egl/opengles1/Makefile.am | 10 ++++-- - src/egl/opengles2/Makefile.am | 29 ++++++++--------- - 6 files changed, 117 insertions(+), 70 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0525b09..28834cd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile], - [AC_DEFINE(HAVE_FREEGLUT)], - []) - --dnl Check for GLEW --PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4]) --DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" --DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" -+AC_ARG_ENABLE([glew], -+ [AS_HELP_STRING([--enable-glew], -+ [build demos which require glew @<:@default=yes@:>@])], -+ [enable_glew="$enableval"], -+ [enable_glew=yes] -+) -+ -+if test "x$enable_glew" = xyes; then -+ dnl Check for GLEW -+ PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no]) -+ DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" -+ DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" -+fi - - # LIBS was set by AC_CHECK_LIB above - LIBS="" - --PKG_CHECK_MODULES(GLU, [glu], [], -- [AC_CHECK_HEADER([GL/glu.h], -- [], -- AC_MSG_ERROR([GLU not found])) -- AC_CHECK_LIB([GLU], -- [gluBeginCurve], -- [GLU_LIBS=-lGLU], -- AC_MSG_ERROR([GLU required])) ]) -+AC_ARG_ENABLE([glu], -+ [AS_HELP_STRING([--enable-glu], -+ [build demos which require glu @<:@default=yes@:>@])], -+ [enable_glu="$enableval"], -+ [enable_glu=yes] -+) - --DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" --DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" -+if test "x$enable_glu" = xyes; then -+ PKG_CHECK_MODULES(GLU, [glu], [glu_enabled=yes], -+ [AC_CHECK_HEADER([GL/glu.h], -+ [], -+ AC_MSG_ERROR([GLU not found])) -+ AC_CHECK_LIB([GLU], -+ [gluBeginCurve], -+ [GLU_LIBS=-lGLU -+ glu_enabled=yes], -+ AC_MSG_ERROR([GLU required])) ]) -+ -+ DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" -+ DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" -+fi - - AC_ARG_ENABLE([egl], - [AS_HELP_STRING([--enable-egl], -@@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS]) - AC_SUBST([WAYLAND_LIBS]) - - -+AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes") -+AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes") - AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") - AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") - AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") -diff --git a/src/Makefile.am b/src/Makefile.am -index 1647d64..8b89dee 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -22,15 +22,19 @@ - # Authors: - # Eric Anholt - -+if HAVE_GLEW -+UTIL = util -+endif -+ - SUBDIRS = \ -- util \ -+ $(UTIL) \ - data \ - demos \ - egl \ - fp \ - fpglsl \ - glsl \ -- gs \ -+ gs \ - objviewer \ - osdemos \ - perf \ -@@ -40,8 +44,12 @@ SUBDIRS = \ - slang \ - tests \ - tools \ -- trivial \ -- vp \ -- vpglsl \ - wgl \ - xdemos -+ -+if HAVE_GLEW -+SUBDIRS += \ -+ vp \ -+ vpglsl \ -+ trivial -+endif -diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am -index 41603fa..ab1e3ab 100644 ---- a/src/demos/Makefile.am -+++ b/src/demos/Makefile.am -@@ -30,91 +30,100 @@ AM_LDFLAGS = \ - $(DEMO_LIBS) \ - $(GLUT_LIBS) - -+bin_PROGRAMS = -+ - if HAVE_GLUT --bin_PROGRAMS = \ -+if HAVE_GLEW -+bin_PROGRAMS += \ - arbfplight \ - arbfslight \ - arbocclude \ - arbocclude2 \ -- bounce \ -- clearspd \ - copypix \ - cubemap \ - cuberender \ - dinoshade \ -- dissolve \ -- drawpix \ - engine \ - fbo_firecube \ - fbotexture \ -- fire \ - fogcoord \ - fplight \ - fslight \ -+ gloss \ -+ isosurf \ -+ multiarb \ -+ paltex \ -+ pointblast \ -+ projtex \ -+ shadowtex \ -+ spriteblast \ -+ stex3d \ -+ textures \ -+ vao_demo \ -+ winpos -+ -+copypix_LDADD = ../util/libutil.la -+cubemap_LDADD = ../util/libutil.la -+cuberender_LDADD = ../util/libutil.la -+engine_LDADD = ../util/libutil.la -+fbo_firecube_LDADD = ../util/libutil.la -+gloss_LDADD = ../util/libutil.la -+isosurf_LDADD = ../util/libutil.la -+multiarb_LDADD = ../util/libutil.la -+projtex_LDADD = ../util/libutil.la -+textures_LDADD = ../util/libutil.la -+winpos_LDADD = ../util/libutil.la -+endif -+ -+if HAVE_GLU -+bin_PROGRAMS += \ -+ bounce \ -+ clearspd \ -+ dissolve \ -+ drawpix \ -+ fire \ - gamma \ - gearbox \ - gears \ - geartrain \ - glinfo \ -- gloss \ - gltestperf \ - ipers \ -- isosurf \ - lodbias \ - morph3d \ -- multiarb \ -- paltex \ - pixeltest \ -- pointblast \ -- projtex \ - ray \ - readpix \ - reflect \ - renormal \ -- shadowtex \ - singlebuffer \ - spectex \ -- spriteblast \ -- stex3d \ - teapot \ - terrain \ - tessdemo \ - texcyl \ - texenv \ -- textures \ - trispd \ - tunnel2 \ -- tunnel \ -- vao_demo \ -- winpos --endif -+ tunnel - - tunnel_SOURCES = \ - tunnel.c \ - tunneldat.h - --copypix_LDADD = ../util/libutil.la --cubemap_LDADD = ../util/libutil.la --cuberender_LDADD = ../util/libutil.la --drawpix_LDADD = ../util/libutil.la - dissolve_LDADD = ../util/libutil.la --engine_LDADD = ../util/libutil.la --fbo_firecube_LDADD = ../util/libutil.la -+drawpix_LDADD = ../util/libutil.la - fire_LDADD = ../util/libutil.la --gloss_LDADD = ../util/libutil.la - ipers_LDADD = ../util/libutil.la --isosurf_LDADD = ../util/libutil.la - lodbias_LDADD = ../util/libutil.la --multiarb_LDADD = ../util/libutil.la --projtex_LDADD = ../util/libutil.la - readpix_LDADD = ../util/libutil.la - reflect_LDADD = ../util/libutil.la - teapot_LDADD = ../util/libutil.la - texcyl_LDADD = ../util/libutil.la --textures_LDADD = ../util/libutil.la - tunnel_LDADD = ../util/libutil.la - tunnel2_LDADD = ../util/libutil.la --winpos_LDADD = ../util/libutil.la -+endif -+endif - - EXTRA_DIST = \ - README -diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am -index d64a49e..4fe1ca8 100644 ---- a/src/egl/Makefile.am -+++ b/src/egl/Makefile.am -@@ -24,8 +24,12 @@ - - SUBDIRS = \ - eglut \ -- opengl \ -- openvg \ - opengles1 \ - opengles2 \ - oes_vg -+ -+if HAVE_GLU -+SUBDIRS += \ -+ opengl \ -+ openvg -+endif -diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am -index fa397c2..21853e8 100644 ---- a/src/egl/opengles1/Makefile.am -+++ b/src/egl/opengles1/Makefile.am -@@ -36,9 +36,12 @@ AM_LDFLAGS = \ - $(EGL_LIBS) \ - -lm - -+noinst_PROGRAMS = -+ - if HAVE_EGL - if HAVE_GLESV1 --noinst_PROGRAMS = \ -+if HAVE_X11 -+bin_PROGRAMS = \ - bindtex \ - clear \ - drawtex_x11 \ -@@ -52,8 +55,6 @@ noinst_PROGRAMS = \ - torus_x11 \ - tri_x11 \ - two_win --endif --endif - - bindtex_LDADD = $(X11_LIBS) - es1_info_LDADD = $(X11_LIBS) -@@ -76,3 +77,6 @@ drawtex_x11_LDADD = ../eglut/libeglut_x11.la - gears_x11_LDADD = ../eglut/libeglut_x11.la - torus_x11_LDADD = ../eglut/libeglut_x11.la - tri_x11_LDADD = ../eglut/libeglut_x11.la -+endif -+endif -+endif -diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am -index b80ba50..17f8d49 100644 ---- a/src/egl/opengles2/Makefile.am -+++ b/src/egl/opengles2/Makefile.am -@@ -33,27 +33,28 @@ AM_LDFLAGS = \ - $(EGL_LIBS) \ - -lm - -+bin_PROGRAMS = -+ - if HAVE_EGL - if HAVE_GLESV2 --bin_PROGRAMS = --if HAVE_X11 --bin_PROGRAMS += \ -- es2_info \ -- es2gears_x11 \ -- es2tri --endif - if HAVE_WAYLAND - bin_PROGRAMS += es2gears_wayland --endif --endif -+ -+es2gears_wayland_SOURCES = es2gears.c -+es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la - endif - --es2_info_LDADD = $(X11_LIBS) --es2tri_LDADD = $(X11_LIBS) -+if HAVE_X11 -+bin_PROGRAMS += \ -+ es2tri \ -+ es2_info \ -+ es2gears_x11 - -+es2_info_LDADD = $(X11_LIBS) - es2gears_x11_SOURCES = es2gears.c -- - es2gears_x11_LDADD = ../eglut/libeglut_x11.la -+es2tri_LDADD = $(X11_LIBS) -+endif -+endif -+endif - --es2gears_wayland_SOURCES = es2gears.c --es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch deleted file mode 100644 index b27d9eafa5..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Thu, 10 Jul 2014 14:30:52 +0200 -Subject: [PATCH] Install few more test programs - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa - -Signed-off-by: Jussi Kukkonen - ---- - src/egl/opengl/Makefile.am | 3 +-- - src/egl/openvg/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index 6d184ff6..ab09d028 100644 ---- a/src/egl/opengl/Makefile.am -+++ b/src/egl/opengl/Makefile.am -@@ -57,8 +57,7 @@ endif - - if HAVE_EGL - bin_PROGRAMS = \ -- eglinfo --noinst_PROGRAMS = \ -+ eglinfo \ - peglgears \ - $(EGL_DRM_DEMOS) \ - $(EGL_X11_DEMOS) \ -diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am -index b0f1212f..5fd1cf83 100644 ---- a/src/egl/openvg/Makefile.am -+++ b/src/egl/openvg/Makefile.am -@@ -49,7 +49,7 @@ endif - - if HAVE_EGL - if HAVE_VG --noinst_PROGRAMS = \ -+bin_PROGRAMS = \ - $(EGL_X11_DEMOS) - endif - endif diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch deleted file mode 100644 index a6d168175f..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Thu, 10 Jul 2014 14:29:27 +0200 -Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to - EXTRA_DATA - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa - ---- - src/fpglsl/Makefile.am | 2 ++ - src/glsl/Makefile.am | 10 ++++++++-- - src/perf/Makefile.am | 6 ++++++ - src/vpglsl/Makefile.am | 1 + - 4 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index 47c1039f..fd43c919 100644 ---- a/src/fpglsl/Makefile.am -+++ b/src/fpglsl/Makefile.am -@@ -39,10 +39,12 @@ noinst_PROGRAMS = \ - endif - - EXTRA_DIST = \ -+ depth-read.glsl \ - dowhile2.glsl \ - dowhile.glsl \ - forbreak.glsl \ - for.glsl \ -+ infinite-loop.glsl \ - mov.glsl \ - mov-imm.glsl \ - simpleif.glsl \ -diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 4faa8dbf..079a29d8 100644 ---- a/src/glsl/Makefile.am -+++ b/src/glsl/Makefile.am -@@ -37,7 +37,7 @@ AM_LDFLAGS = \ - if HAVE_GLUT - bin_PROGRAMS = \ - array \ -- bezier \ -+ bezier \ - bitmap \ - brick \ - bump \ -@@ -123,12 +123,16 @@ EXTRA_DIST = \ - CH06-brick.vert \ - CH11-bumpmap.frag \ - CH11-bumpmap.vert \ -+ CH11-bumpmaptex.frag \ - CH11-toyball.frag \ - CH11-toyball.vert \ - CH18-mandel.frag \ - CH18-mandel.vert \ -- bezier.geom \ -+ bezier.geom \ - brick.shtest \ -+ blinking-teapot.frag \ -+ blinking-teapot.vert \ -+ convolution.frag \ - convolution.vert \ - cubemap.frag \ - mandelbrot.shtest \ -@@ -138,5 +142,7 @@ EXTRA_DIST = \ - reflect.vert \ - shadowtex.frag \ - simple.vert \ -+ simplex-noise.glsl \ - skinning.frag \ -+ skinning.vert \ - toyball.shtest -diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index f0031fea..60069396 100644 ---- a/src/perf/Makefile.am -+++ b/src/perf/Makefile.am -@@ -59,3 +59,9 @@ endif - - glslstateschange_LDADD = libperf.la ../util/libutil.la - glsl_compile_time_LDADD = ../util/libutil.la -+ -+EXTRA_DIST = \ -+ glslstateschange1.frag \ -+ glslstateschange1.vert \ -+ glslstateschange2.frag \ -+ glslstateschange2.vert -diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 4a85ed40..48b08f48 100644 ---- a/src/vpglsl/Makefile.am -+++ b/src/vpglsl/Makefile.am -@@ -44,6 +44,7 @@ EXTRA_DIST = \ - func2.glsl \ - ifelse.glsl \ - if.glsl \ -+ infinite-loop.glsl \ - mov.glsl \ - nestedifs.glsl \ - nestedswizzle.glsl \ diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch deleted file mode 100644 index 8a98ba60d1..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Thu, 10 Jul 2014 14:48:12 +0200 -Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files - -Upstream-Status: Pending -Signed-off-by: Martin Jansa - ---- - src/fpglsl/Makefile.am | 3 ++- - src/glsl/Makefile.am | 3 ++- - src/perf/Makefile.am | 3 ++- - src/vpglsl/Makefile.am | 3 ++- - 4 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index fd43c919..2bf51de4 100644 ---- a/src/fpglsl/Makefile.am -+++ b/src/fpglsl/Makefile.am -@@ -38,7 +38,8 @@ noinst_PROGRAMS = \ - fp-tri - endif - --EXTRA_DIST = \ -+demosdatadir=$(datadir)/$(PACKAGE)/ -+dist_demosdata_DATA= \ - depth-read.glsl \ - dowhile2.glsl \ - dowhile.glsl \ -diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 079a29d8..f66ec299 100644 ---- a/src/glsl/Makefile.am -+++ b/src/glsl/Makefile.am -@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la - vert_tex_LDADD = ../util/libutil.la - vsraytrace_LDADD = ../util/libutil.la - --EXTRA_DIST = \ -+demosdatadir=$(datadir)/$(PACKAGE)/ -+dist_demosdata_DATA= \ - CH06-brick.frag \ - CH06-brick.vert \ - CH11-bumpmap.frag \ -diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index 60069396..469bdf45 100644 ---- a/src/perf/Makefile.am -+++ b/src/perf/Makefile.am -@@ -60,7 +60,8 @@ endif - glslstateschange_LDADD = libperf.la ../util/libutil.la - glsl_compile_time_LDADD = ../util/libutil.la - --EXTRA_DIST = \ -+demosdatadir=$(datadir)/$(PACKAGE)/ -+dist_demosdata_DATA= \ - glslstateschange1.frag \ - glslstateschange1.vert \ - glslstateschange2.frag \ -diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 48b08f48..55268675 100644 ---- a/src/vpglsl/Makefile.am -+++ b/src/vpglsl/Makefile.am -@@ -38,7 +38,8 @@ noinst_PROGRAMS = \ - vp-tris - endif - --EXTRA_DIST = \ -+demosdatadir=$(datadir)/$(PACKAGE)/ -+dist_demosdata_DATA= \ - for.glsl \ - func.glsl \ - func2.glsl \ diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch deleted file mode 100644 index c687647407..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 3aa84c47e88a4c38446ce1323abf6f2c77389104 Mon Sep 17 00:00:00 2001 -From: Prabhu -Date: Mon, 16 Nov 2015 17:09:32 -0600 -Subject: [PATCH] mesa-demos: OpenVG demos with single frame need eglSwapBuffer - -sp and text demos rendering single frame. to display the -single frame rendered needed a eglSwapBuffer to diplay to window. -Hence added eglutPostRedisplay to display the frame - -Upstream-Status: Pending - -Signed-off-by: Prabhu ---- - src/egl/openvg/sp.c | 1 + - src/egl/openvg/text.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/egl/openvg/sp.c b/src/egl/openvg/sp.c -index a20c0a3..468e91e 100644 ---- a/src/egl/openvg/sp.c -+++ b/src/egl/openvg/sp.c -@@ -500,6 +500,7 @@ draw(void) - } - - vgFlush(); -+ eglutPostRedisplay(); - } - - -diff --git a/src/egl/openvg/text.c b/src/egl/openvg/text.c -index f5c6de8..492581c 100644 ---- a/src/egl/openvg/text.c -+++ b/src/egl/openvg/text.c -@@ -360,6 +360,7 @@ display(void) - { - vgClear(0, 0, width, height); - glyph_string_draw(10.0, 10.0); -+ eglutPostRedisplay(); - } - - --- -2.5.1 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb deleted file mode 100644 index 01e5b35d0e..0000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "Mesa demo applications" -DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ -These applications can be used for Mesa validation and benchmarking." -HOMEPAGE = "http://mesa3d.org" -BUGTRACKER = "https://bugs.freedesktop.org" -SECTION = "x11" - -LICENSE = "MIT & PD" -LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ - file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" - -SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \ - file://0001-mesa-demos-Add-missing-data-files.patch \ - file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ - file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ - file://0007-Install-few-more-test-programs.patch \ - file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ - file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ - file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ - " -SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3" -SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d" - -inherit autotools pkgconfig features_check -# depends on virtual/egl, virtual/libgl ... -REQUIRED_DISTRO_FEATURES = "opengl x11" - -PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ - x11 glew glu" - -# The Wayland code doesn't work with Wayland 1.0, so disable it for now -#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" - -EXTRA_OECONF = "--with-system-data-files" - -PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" -PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" -PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" -PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" -PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut" -PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," -PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" -PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" -PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" - -do_install:append() { - # it can be completely empty when all PACKAGECONFIG options are disabled - rmdir --ignore-fail-on-non-empty ${D}${bindir} - - if [ -f ${D}${bindir}/clear ]; then - mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos - fi -} diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb new file mode 100644 index 0000000000..6e9b95e1e2 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Mesa demo applications" +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ +These applications can be used for Mesa validation and benchmarking." +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" + +LICENSE = "MIT & PD" +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" + +SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \ + file://0001-mesa-demos-Add-missing-data-files.patch \ + file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ + " +SRC_URI[sha256sum] = "cea2df0a80f09a30f635c4eb1a672bf90c5ddee0b8e77f4d70041668ef71aac1" + +inherit meson pkgconfig features_check +# depends on virtual/egl, virtual/libgl ... +REQUIRED_DISTRO_FEATURES = "opengl x11" + +EXTRA_OEMESON = "-Dwith-system-data-files=true" + +PACKAGECONFIG ?= "drm egl gles1 gles2 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" + +PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm" +PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" +PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" +PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" +PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},,freeglut" +PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled," +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native" +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu" + +do_install:append() { + # it can be completely empty when all PACKAGECONFIG options are disabled + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + if [ -f ${D}${bindir}/clear ]; then + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos + fi +} diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index 28f76fed37..08f664ca61 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "65892137809f7d0d4d7d65dd84af59902b3e7f1e" +SRCREV = "a1a1824b38f1d7bfe851633db416c6bed84ba557" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb index bd437767b2..dd48a29dc4 100644 --- a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb +++ b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb @@ -20,6 +20,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ SRC_URI[sha256sum] = "b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725" UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" +UPSTREAM_CHECK_REGEX = "wayland-(?P\d+\.\d+\.(?!9\d+)\d+)" inherit meson pkgconfig ptest diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb deleted file mode 100644 index 34652e9c4e..0000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Generic XKB keymap library" -DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ -processes a reduced subset of keymaps as defined by the XKB specification." -HOMEPAGE = "http://www.xkbcommon.org" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" -LICENSE = "MIT & MIT" - -DEPENDS = "flex-native bison-native" - -SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "106cec5263f9100a7e79b5f7220f889bc78e7d7ffc55d2b6fdb1efefb8024031" - -UPSTREAM_CHECK_URI = "http://xkbcommon.org/" - -inherit meson pkgconfig - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} xkbregistry" - -PACKAGECONFIG[docs] = "-Denable-docs=true,-Denable-docs=false,doxygen-native" -PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols," -PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," -PACKAGECONFIG[xkbregistry] = "-Denable-xkbregistry=true,-Denable-xkbregistry=false,libxml2" - -PACKAGE_BEFORE_PN += "xkbcli" -FILES:${PN} = "" -FILES:xkbcli = "${bindir}/xkbcli ${libexecdir}/xkbcommon/xkbcli-*" - -python populate_packages:prepend () { - # Put the libraries into separate packages to avoid dependency creep - do_split_packages(d, d.expand('${libdir}'), r'^(lib.*)\.so\.*', '%s', '%s library', extra_depends='', allow_links=True) -} - -# Fix a following runtime error: -# xkbcommon: ERROR: couldn't find a Compose file for locale "C" -RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb new file mode 100644 index 0000000000..89093e6786 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb @@ -0,0 +1,36 @@ +SUMMARY = "Generic XKB keymap library" +DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ +processes a reduced subset of keymaps as defined by the XKB specification." +HOMEPAGE = "http://www.xkbcommon.org" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" +LICENSE = "MIT & MIT" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "943c07a1e2198026d8102b17270a1f406e4d3d6bbc4ae105b9e1b82d7d136b39" + +UPSTREAM_CHECK_URI = "http://xkbcommon.org/" + +inherit meson pkgconfig + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} xkbregistry" + +PACKAGECONFIG[docs] = "-Denable-docs=true,-Denable-docs=false,doxygen-native" +PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols," +PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," +PACKAGECONFIG[xkbregistry] = "-Denable-xkbregistry=true,-Denable-xkbregistry=false,libxml2" + +PACKAGE_BEFORE_PN += "xkbcli" +FILES:${PN} = "" +FILES:xkbcli = "${bindir}/xkbcli ${libexecdir}/xkbcommon/xkbcli-*" + +python populate_packages:prepend () { + # Put the libraries into separate packages to avoid dependency creep + do_split_packages(d, d.expand('${libdir}'), r'^(lib.*)\.so\.*', '%s', '%s library', extra_depends='', allow_links=True) +} + +# Fix a following runtime error: +# xkbcommon: ERROR: couldn't find a Compose file for locale "C" +RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb deleted file mode 100644 index 5215131e3e..0000000000 --- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Keyboard configuration database for X Window" - -DESCRIPTION = "The non-arch keyboard configuration database for X \ -Window. The goal is to provide the consistent, well-structured, \ -frequently released open source of X keyboard configuration data for X \ -Window System implementations. The project is targeted to XKB-based \ -systems." - -HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" - -LICENSE = "MIT & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" - -SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "18ce50ff0c74ae6093062bce1aeab3d363913ea35162fe271f8a0ce399de85cc" - -SECTION = "x11/libs" -DEPENDS = "util-macros libxslt-native" - -EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" - -FILES:${PN} += "${datadir}/X11/xkb" - -inherit meson pkgconfig gettext python3native - -do_install:append () { - install -d ${D}${datadir}/X11/xkb/compiled - cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg -} diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb new file mode 100644 index 0000000000..9e6d17c780 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb @@ -0,0 +1,30 @@ +SUMMARY = "Keyboard configuration database for X Window" + +DESCRIPTION = "The non-arch keyboard configuration database for X \ +Window. The goal is to provide the consistent, well-structured, \ +frequently released open source of X keyboard configuration data for X \ +Window System implementations. The project is targeted to XKB-based \ +systems." + +HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" + +LICENSE = "MIT & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" + +SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "1f1bb1292a161d520a3485d378609277d108cd07cde0327c16811ff54c3e1595" + +SECTION = "x11/libs" +DEPENDS = "util-macros libxslt-native" + +EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" + +FILES:${PN} += "${datadir}/X11/xkb" + +inherit meson pkgconfig gettext python3native + +do_install:append () { + install -d ${D}${datadir}/X11/xkb/compiled + cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg +} diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb deleted file mode 100644 index b512b9932d..0000000000 --- a/poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "XWayland is an X Server that runs under Wayland." -DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ -and thus is capable of displaying native X11 client applications in a \ -Wayland compositor environment. The goal of XWayland is to facilitate \ -the transition from X Window System to Wayland environments, providing \ -a way to run unported applications in the meantime." -HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" - -SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" -SRC_URI[sha256sum] = "f5d0e0ba37e19bb87c62f61da5970bd204939f2120620964bed4cc8495baa657" - -UPSTREAM_CHECK_REGEX = "xwayland-(?P\d+(\.(?!90\d)\d+)+)\.tar" - -inherit meson features_check pkgconfig -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" - -OPENGL_PKGCONFIGS = "glx glamor dri3" -PACKAGECONFIG ??= "${XORG_CRYPTO} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ -" -PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false" -PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" -PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" -PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" -PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false" - -# Xorg requires a SHA1 implementation, pick one -XORG_CRYPTO ??= "openssl" -PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" -PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" -PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" - -do_install:append() { - # remove files not needed and clashing with xserver-xorg - rm -rf ${D}/${libdir}/xorg/ -} - -FILES:${PN} += "${libdir}/xorg/protocol.txt" - -RDEPENDS:${PN} += "xkbcomp" diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb new file mode 100644 index 0000000000..8c52613109 --- /dev/null +++ b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb @@ -0,0 +1,45 @@ +SUMMARY = "XWayland is an X Server that runs under Wayland." +DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ +and thus is capable of displaying native X11 client applications in a \ +Wayland compositor environment. The goal of XWayland is to facilitate \ +the transition from X Window System to Wayland environments, providing \ +a way to run unported applications in the meantime." +HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" +SRC_URI[sha256sum] = "743c4d56cfc0818755e2281d625d51860b41a473c641e179649a4f41776d1fca" + +UPSTREAM_CHECK_REGEX = "xwayland-(?P\d+(\.(?!90\d)\d+)+)\.tar" + +inherit meson features_check pkgconfig +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" + +OPENGL_PKGCONFIGS = "glx glamor dri3" +PACKAGECONFIG ??= "${XORG_CRYPTO} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ +" +PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false" +PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" +PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" +PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" +PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false" + +# Xorg requires a SHA1 implementation, pick one +XORG_CRYPTO ??= "openssl" +PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" +PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" +PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" + +do_install:append() { + # remove files not needed and clashing with xserver-xorg + rm -rf ${D}/${libdir}/xorg/ +} + +FILES:${PN} += "${libdir}/xorg/protocol.txt" + +RDEPENDS:${PN} += "xkbcomp" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb index 6e328e5726..10a7036a19 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb @@ -69,6 +69,7 @@ LICENSE = "\ & WHENCE \ " +WHENCE_CHKSUM = "d3eb82686904888f8bbbe8d865371404" LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ @@ -132,7 +133,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=d3eb82686904888f8bbbe8d865371404 \ + file://WHENCE;md5=${WHENCE_CHKSUM} \ " # These are not common licenses, set NO_GENERIC_LICENSE for them @@ -208,6 +209,11 @@ SRC_URI = "\ file://0001-Makefile-replace-mkdir-by-install.patch \ " +BBCLASSEXTEND = "devupstream:target" +SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;protocol=https;branch=main" +# Pin this to the 20220509 release, override this in local.conf +SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" + SRC_URI[sha256sum] = "376e0b3d7b4f8aaa2abf7f5ab74803dcf14b06b94e3d841b1467cd9a2848255e" inherit allarch diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index ad206e4235..ce903a7372 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "a8d19259c63cbf1254fe545d0a1aacf8f82547ac" -SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f" +SRCREV_machine ?= "5629d552de7759e4bb9821e210f3673c14900dd0" +SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.114" +LINUX_VERSION ?= "5.10.119" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb index 6bfb8deb1e..b052db8a15 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "b028c4baada43d48014d4350dd66debe7e4cf362" -SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b" +SRCREV_machine ?= "83bec9a458bfdfb46c5dc62342bafae2806043d4" +SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.15.38" +LINUX_VERSION ?= "5.15.44" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index 9a8e6ecffc..625cdfd085 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.114" +LINUX_VERSION ?= "5.10.119" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine:qemuarm ?= "a0664baa09b1c6265bd404e4d3a7ceb14577dcb8" -SRCREV_machine ?= "63b2e48029f00bfc90371adc378050181ba5d253" -SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f" +SRCREV_machine:qemuarm ?= "50342ca6fc7dd66bfde9dfd1d6c336f99c55e0ab" +SRCREV_machine ?= "d2cfd8b4499710877d54129a9137351a9de166fb" +SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb index 0cf2d68d56..f6110354a0 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb @@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.15.38" +LINUX_VERSION ?= "5.15.44" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -14,8 +14,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "7b1fe61102fd6efc26373305417cd683687eb7a0" -SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b" +SRCREV_machine ?= "768cd295dfc0a311d2e53c1b05e19a246e184d0e" +SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index ffd9538633..fcb7b83cec 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -13,23 +13,23 @@ KBRANCH:qemux86 ?= "v5.10/standard/base" KBRANCH:qemux86-64 ?= "v5.10/standard/base" KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "49e2af0d85dc824c7829427c18e06ad2b1abbb8d" -SRCREV_machine:qemuarm64 ?= "2b403ec0a7f60be807890902dbd0d5467bdef545" -SRCREV_machine:qemumips ?= "793de0c2e4a3aa0e2f3091af8ff06df35f156fb3" -SRCREV_machine:qemuppc ?= "9875eb3923e3d20893774ee7304142e2ce5ab22b" -SRCREV_machine:qemuriscv64 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437" -SRCREV_machine:qemuriscv32 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437" -SRCREV_machine:qemux86 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437" -SRCREV_machine:qemux86-64 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437" -SRCREV_machine:qemumips64 ?= "4c3d57cc8bec91ea6225a7c9f134fd97bc1e8e0d" -SRCREV_machine ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437" -SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f" +SRCREV_machine:qemuarm ?= "68264cfbddebea663543a7c4ad5131c6cf63d3d2" +SRCREV_machine:qemuarm64 ?= "b95be3e8c15d939ce402775de98ab80eda493b11" +SRCREV_machine:qemumips ?= "c6a8eaf00384dcce14bb9e28f2d68b5004e8c6f3" +SRCREV_machine:qemuppc ?= "6c1e46f34c6b9ababf8c6fcb4c01274099bb034f" +SRCREV_machine:qemuriscv64 ?= "f844c3765c3270321f0b3347992565cfdb938c99" +SRCREV_machine:qemuriscv32 ?= "f844c3765c3270321f0b3347992565cfdb938c99" +SRCREV_machine:qemux86 ?= "f844c3765c3270321f0b3347992565cfdb938c99" +SRCREV_machine:qemux86-64 ?= "f844c3765c3270321f0b3347992565cfdb938c99" +SRCREV_machine:qemumips64 ?= "8d66b3ad7fbc8554ba2248cfbe755f8d24cb5a1a" +SRCREV_machine ?= "f844c3765c3270321f0b3347992565cfdb938c99" +SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.114" +LINUX_VERSION ?= "5.10.119" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb index 206cc0692d..3cb5f93a21 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb @@ -13,24 +13,24 @@ KBRANCH:qemux86 ?= "v5.15/standard/base" KBRANCH:qemux86-64 ?= "v5.15/standard/base" KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "5a68f2d15d17f0f3c397e7f8c83f3f664f7037e5" -SRCREV_machine:qemuarm64 ?= "00e666e6154fcdf52268f2a5a612b96afad073b0" -SRCREV_machine:qemumips ?= "fb9e75076deade31754b7ad644952d63137e616b" -SRCREV_machine:qemuppc ?= "49f6567f3b85a843e8b6042a79c58aab0bdbd0c9" -SRCREV_machine:qemuriscv64 ?= "cc9695f5fd3b520464eb2ded66950734f308525c" -SRCREV_machine:qemuriscv32 ?= "cc9695f5fd3b520464eb2ded66950734f308525c" -SRCREV_machine:qemux86 ?= "cc9695f5fd3b520464eb2ded66950734f308525c" -SRCREV_machine:qemux86-64 ?= "cc9695f5fd3b520464eb2ded66950734f308525c" -SRCREV_machine:qemumips64 ?= "1ad01ab47ec056d4126798f6d57a33b65b2be49c" -SRCREV_machine ?= "cc9695f5fd3b520464eb2ded66950734f308525c" -SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b" +SRCREV_machine:qemuarm ?= "1585df4dbb1e353cc1472748186504a377de5dce" +SRCREV_machine:qemuarm64 ?= "363482e730cbf7f772430c99c83f60ddc01d7518" +SRCREV_machine:qemumips ?= "f534cfa2119dc7cf07d546d9fed2b822af1bc838" +SRCREV_machine:qemuppc ?= "c019857d9af595336bb272c981150952b87d2639" +SRCREV_machine:qemuriscv64 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df" +SRCREV_machine:qemuriscv32 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df" +SRCREV_machine:qemux86 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df" +SRCREV_machine:qemux86-64 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df" +SRCREV_machine:qemumips64 ?= "a26ad766d7372a98d4d1f11d50953c45782f3a37" +SRCREV_machine ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df" +SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the /base branch, which is pure upstream -stable, and the same # meta SRCREV as the linux-yocto-standard builds. Select your version using the # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" -SRCREV_machine:class-devupstream ?= "3fbf24b73f4a5bc8fd39a6b7a29145451c1039ce" +SRCREV_machine:class-devupstream ?= "4e67be407725b1d8b829ed2075987037abec98ec" PN:class-devupstream = "linux-yocto-upstream" KBRANCH:class-devupstream = "v5.15/base" @@ -38,7 +38,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.15.38" +LINUX_VERSION ?= "5.15.44" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch new file mode 100644 index 0000000000..d27cbc314f --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch @@ -0,0 +1,44 @@ +From 13e4c978d45237b8780f1de6d404812b3af26a49 Mon Sep 17 00:00:00 2001 +From: He Zhe +Date: Thu, 2 Jun 2022 06:36:08 +0000 +Subject: [PATCH] fix: random: remove unused tracepoints (v5.10, v5.15) + +The following kernel commit has been back ported to v5.10.119 and v5.15.44. + +commit 14c174633f349cb41ea90c2c0aaddac157012f74 +Author: Jason A. Donenfeld +Date: Thu Feb 10 16:40:44 2022 +0100 + + random: remove unused tracepoints + + These explicit tracepoints aren't really used and show sign of aging. + It's work to keep these up to date, and before I attempted to keep them + up to date, they weren't up to date, which indicates that they're not + really used. These days there are better ways of introspecting anyway. + +Upstream-Status: Pending + +Signed-off-by: He Zhe +--- + src/probes/Kbuild | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/probes/Kbuild b/src/probes/Kbuild +index 5478447..31e0ee8 100644 +--- a/src/probes/Kbuild ++++ b/src/probes/Kbuild +@@ -204,7 +204,10 @@ endif + + # Introduced in v3.6, remove in v5.18 + obj-$(CONFIG_LTTNG) += $(shell \ +- if [ \( ! \( $(VERSION) -ge 6 -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) \) \ ++ if [ \( ! \( $(VERSION) -ge 6 \ ++ -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \ ++ -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 15 -a $(SUBLEVEL) -ge 44 \) \ ++ -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 10 -a $(SUBLEVEL) -ge 119 \) \) \) \ + -a \ + $(VERSION) -ge 4 \ + -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 6 \) \ +-- +2.32.0 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb index a5e6b906d2..e049bdc6d2 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb @@ -21,6 +21,7 @@ SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0009-Rename-genhd-wrapper-to-blkdev.patch \ file://0010-fix-mm-compaction-cleanup-the-compaction-trace-event.patch \ file://0001-fix-sched-tracing-Append-prev_state-to-tp-args-inste.patch \ + file://0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch \ " # Use :append here so that the patch is applied also when using devupstream diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb deleted file mode 100644 index 516d90a196..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" -DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." -HOMEPAGE = "http://lttng.org/ust" -BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" - -LICENSE = "LGPL-2.1-or-later & MIT & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f" - -PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ - PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ -" - -inherit autotools lib_package manpages python3native pkgconfig - -include lttng-platforms.inc - -EXTRA_OECONF = "--disable-numa" -CPPFLAGS:append:arm = "${@oe.utils.vartrue('DEBUG_BUILD', '-DUATOMIC_NO_LINK_ERROR', '', d)}" - -DEPENDS = "liburcu util-linux" -RDEPENDS:${PN}-bin = "python3-core" - -# For backwards compatibility after rename -RPROVIDES:${PN} = "lttng2-ust" -RREPLACES:${PN} = "lttng2-ust" -RCONFLICTS:${PN} = "lttng2-ust" - -PE = "2" - -SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ - file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ - file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \ - file://0001-Makefile.am-update-rpath-link.patch \ - " - -SRC_URI[sha256sum] = "08679a1dfc2c9428885273861628aa5d828972f389a38bb08fdce39adee589b7" - -CVE_PRODUCT = "ust" - -PACKAGECONFIG[examples] = "--enable-examples, --disable-examples," -PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" -PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" - -FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" -FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" - -do_install:append() { - # Patch python tools to use Python 3; they should be source compatible, but - # still refer to Python 2 in the shebang - sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp -} diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb new file mode 100644 index 0000000000..cc88bf5b11 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb @@ -0,0 +1,53 @@ +SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" +DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." +HOMEPAGE = "http://lttng.org/ust" +BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" + +LICENSE = "LGPL-2.1-or-later & MIT & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f" + +PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ + am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ + PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ +" + +inherit autotools lib_package manpages python3native pkgconfig + +include lttng-platforms.inc + +EXTRA_OECONF = "--disable-numa" +CPPFLAGS:append:arm = "${@oe.utils.vartrue('DEBUG_BUILD', '-DUATOMIC_NO_LINK_ERROR', '', d)}" + +DEPENDS = "liburcu util-linux" +RDEPENDS:${PN}-bin = "python3-core" + +# For backwards compatibility after rename +RPROVIDES:${PN} = "lttng2-ust" +RREPLACES:${PN} = "lttng2-ust" +RCONFLICTS:${PN} = "lttng2-ust" + +PE = "2" + +SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ + file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ + file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \ + file://0001-Makefile.am-update-rpath-link.patch \ + " + +SRC_URI[sha256sum] = "2cc42f51145050430ac4ab72b32d95fd78d5566ccbe44e14a8fcdd23c0ed8f6f" + +CVE_PRODUCT = "ust" + +PACKAGECONFIG[examples] = "--enable-examples, --disable-examples," +PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" +PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" + +FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" +FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" + +do_install:append() { + # Patch python tools to use Python 3; they should be source compatible, but + # still refer to Python 2 in the shebang + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp +} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb deleted file mode 100644 index ca6bedae97..0000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "ALSA sound library" -DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \ -provides a level of abstraction over the /dev interfaces provided by the kernel modules." -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "libs/multimedia" -LICENSE = "LGPL-2.1-only & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "ad582993d52cdb5fb159a0beab60a6ac57eab0cc1bdf85dc4db6d6197f02333f" - -inherit autotools pkgconfig - -EXTRA_OECONF += " \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ - --disable-python \ -" - -PACKAGES =+ "alsa-server alsa-conf libatopology" - -FILES:alsa-server = "${bindir}/*" -FILES:alsa-conf = "${datadir}/alsa/" -FILES:libatopology = "${libdir}/libatopology.so.*" - -RDEPENDS:${PN}:class-target = "alsa-conf alsa-ucm-conf" -RDEPENDS:libatopology:class-target = "alsa-topology-conf" - -# upgrade path -RPROVIDES:${PN} = "libasound" -RREPLACES:${PN} = "libasound" -RCONFLICTS:${PN} = "libasound" - -RPROVIDES:${PN}-dev = "alsa-dev" -RREPLACES:${PN}-dev = "alsa-dev" -RCONFLICTS:${PN}-dev = "alsa-dev" - -RPROVIDES:alsa-conf = "alsa-conf-base" -RREPLACES:alsa-conf = "alsa-conf-base" -RCONFLICTS:alsa-conf = "alsa-conf-base" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb new file mode 100644 index 0000000000..1832ce71a4 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb @@ -0,0 +1,44 @@ +SUMMARY = "ALSA sound library" +DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \ +provides a level of abstraction over the /dev interfaces provided by the kernel modules." +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "libs/multimedia" +LICENSE = "LGPL-2.1-only & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[sha256sum] = "8814e61f7ec6812c76e23a85cab00e0b0d3bba40816af36b726beb1bc04c74a7" + +inherit autotools pkgconfig + +EXTRA_OECONF += " \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ + --disable-python \ +" + +PACKAGES =+ "alsa-server alsa-conf libatopology" + +FILES:alsa-server = "${bindir}/*" +FILES:alsa-conf = "${datadir}/alsa/" +FILES:libatopology = "${libdir}/libatopology.so.*" + +RDEPENDS:${PN}:class-target = "alsa-conf alsa-ucm-conf" +RDEPENDS:libatopology:class-target = "alsa-topology-conf" + +# upgrade path +RPROVIDES:${PN} = "libasound" +RREPLACES:${PN} = "libasound" +RCONFLICTS:${PN} = "libasound" + +RPROVIDES:${PN}-dev = "alsa-dev" +RREPLACES:${PN}-dev = "alsa-dev" +RCONFLICTS:${PN}-dev = "alsa-dev" + +RPROVIDES:alsa-conf = "alsa-conf-base" +RREPLACES:alsa-conf = "alsa-conf-base" +RCONFLICTS:alsa-conf = "alsa-conf-base" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb index c435f61d4c..560fd80f0b 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb @@ -34,7 +34,7 @@ PACKAGECONFIG ??= "\ speexdsp \ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ " -PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp" +PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,libavtp" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb deleted file mode 100644 index a493269063..0000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "ALSA Use Case Manager configuration" -DESCRIPTION = "This package contains ALSA Use Case Manager configuration \ -of audio input/output names and routing for specific audio hardware. \ -They can be used with the alsaucm tool. " -HOMEPAGE = "https://alsa-project.org" -BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "b8a03aa387a624a2f65edc201bf777421190b60529a92087646823afbd96c5cd" -# Something went wrong at upstream tarballing - -inherit allarch - -do_install() { - install -d "${D}${datadir}/alsa" - cp -r "${S}/ucm" "${D}${datadir}/alsa" - cp -r "${S}/ucm2" "${D}${datadir}/alsa" -} - -PACKAGES = "${PN}" - -FILES:${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb new file mode 100644 index 0000000000..d60f22e7c7 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "ALSA Use Case Manager configuration" +DESCRIPTION = "This package contains ALSA Use Case Manager configuration \ +of audio input/output names and routing for specific audio hardware. \ +They can be used with the alsaucm tool. " +HOMEPAGE = "https://alsa-project.org" +BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[sha256sum] = "b97f2395ca2c1fd9bfab7627f0178f9069868e2a42a35894dacd280e7e40680e" +# Something went wrong at upstream tarballing + +inherit allarch + +do_install() { + install -d "${D}${datadir}/alsa" + cp -r "${S}/ucm" "${D}${datadir}/alsa" + cp -r "${S}/ucm2" "${D}${datadir}/alsa" +} + +PACKAGES = "${PN}" + +FILES:${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb deleted file mode 100644 index 000e984a7d..0000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb +++ /dev/null @@ -1,25 +0,0 @@ -require alsa-utils.inc - -SUMMARY = "Shell scripts that show help info and create ALSA configuration files" -PROVIDES = "alsa-utils-alsaconf" - -FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-utils:" - -PACKAGES = "${PN}" -RDEPENDS:${PN} += "bash" - -FILES:${PN} = "${sbindir}/alsaconf \ - ${sbindir}/alsa-info.sh \ - ${sbindir}/alsabat-test.sh \ - " - -S = "${WORKDIR}/alsa-utils-${PV}" - -do_install() { - install -d ${D}${sbindir} - install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ - install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ - if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then - install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ - fi -} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc deleted file mode 100644 index bca7cdd3bd..0000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc +++ /dev/null @@ -1,108 +0,0 @@ -SUMMARY = "ALSA sound utilities" -DESCRIPTION = "collection of small and often extremely powerful applications \ -designed to allow users to control the various parts of the ALSA system." -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "console/utils" -# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl) -# so result is GPL-2.0-only -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" -DEPENDS = "alsa-lib ncurses libsamplerate0" - -PACKAGECONFIG ??= "udev" - -# alsabat can be built also without fftw support (with reduced functionality). -# It would be better to always enable alsabat, but provide an option for -# enabling/disabling fftw. The configure script doesn't support that, however -# (at least in any obvious way), so for now we only support alsabat with fftw -# or no alsabat at all. -PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf" - -PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev" -PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" - -# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe -SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" -SRC_URI[sha256sum] = "6a1efd8a1f1d9d38e489633eaec1fffa5c315663b316cab804be486887e6145d" - -# On build machines with python-docutils (not python3-docutils !!) installed -# rst2man (not rst2man.py) is detected and compile fails with -# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop. -# Avoid this by disabling expicitly -EXTRA_OECONF = "--disable-rst2man" - -inherit autotools gettext pkgconfig manpages - -# This are all packages that we need to make. Also, the now empty alsa-utils -# ipk depends on them. - -ALSA_UTILS_PKGS = "\ - ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \ - alsa-utils-alsamixer \ - alsa-utils-alsatplg \ - alsa-utils-midi \ - alsa-utils-aplay \ - alsa-utils-amixer \ - alsa-utils-aconnect \ - alsa-utils-iecset \ - alsa-utils-speakertest \ - alsa-utils-aseqnet \ - alsa-utils-aseqdump \ - alsa-utils-alsactl \ - alsa-utils-alsaloop \ - alsa-utils-alsaucm \ - " - -PACKAGES += "${ALSA_UTILS_PKGS}" -RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}" - -FILES:${PN} = "" -ALLOW_EMPTY:alsa-utils = "1" -FILES:alsa-utils-alsabat = "${bindir}/alsabat" -FILES:alsa-utils-alsatplg = "${bindir}/alsatplg" -FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" -FILES:alsa-utils-amixer = "${bindir}/amixer" -FILES:alsa-utils-alsamixer = "${bindir}/alsamixer" -FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" -FILES:alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" -FILES:alsa-utils-aconnect = "${bindir}/aconnect" -FILES:alsa-utils-aseqnet = "${bindir}/aseqnet" -FILES:alsa-utils-iecset = "${bindir}/iecset" -FILES:alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" -FILES:alsa-utils-aseqdump = "${bindir}/aseqdump" -FILES:alsa-utils-alsaloop = "${bindir}/alsaloop" -FILES:alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" - -SUMMARY:alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver" -SUMMARY:alsa-utils-alsatplg = "Converts topology text files into binary format for kernel" -SUMMARY:alsa-utils-aplay = "Play (and record) sound files using ALSA" -SUMMARY:alsa-utils-amixer = "Command-line control for ALSA mixer and settings" -SUMMARY:alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" -SUMMARY:alsa-utils-speakertest = "ALSA surround speaker test utility" -SUMMARY:alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" -SUMMARY:alsa-utils-aconnect = "ALSA sequencer connection manager" -SUMMARY:alsa-utils-aseqnet = "Network client/server for ALSA sequencer" -SUMMARY:alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" -SUMMARY:alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" -SUMMARY:alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" -SUMMARY:alsa-utils-alsaloop = "ALSA PCM loopback utility" -SUMMARY:alsa-utils-alsaucm = "ALSA Use Case Manager" - -RRECOMMENDS:alsa-utils-alsactl = "alsa-states" - -do_install() { - autotools_do_install - - # We don't ship this here because it requires a dependency on bash. - # See alsa-utils-scripts_${PV}.bb - rm ${D}${sbindir}/alsaconf - rm ${D}${sbindir}/alsa-info.sh - rm -f ${D}${sbindir}/alsabat-test.sh - - # If udev is disabled, we told configure to install the rules - # in /unwanted, so we can remove them now. If udev is enabled, - # then /unwanted won't exist and this will have no effect. - rm -rf ${D}/unwanted -} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb deleted file mode 100644 index 3430288da4..0000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb +++ /dev/null @@ -1,2 +0,0 @@ -require alsa-utils.inc - diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb new file mode 100644 index 0000000000..a78df2e112 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb @@ -0,0 +1,120 @@ +SUMMARY = "ALSA sound utilities" +DESCRIPTION = "collection of small and often extremely powerful applications \ +designed to allow users to control the various parts of the ALSA system." +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl) +# so result is GPL-2.0-only +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" +DEPENDS = "alsa-lib ncurses libsamplerate0" + +PACKAGECONFIG ??= "udev" + +# alsabat can be built also without fftw support (with reduced functionality). +# It would be better to always enable alsabat, but provide an option for +# enabling/disabling fftw. The configure script doesn't support that, however +# (at least in any obvious way), so for now we only support alsabat with fftw +# or no alsabat at all. +PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf" + +PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev" +PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe +SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" +SRC_URI[sha256sum] = "e906bf2404ff04c448eaa3d226d283a62b9a283f12e4fd8457fb24bac274e678" + +# On build machines with python-docutils (not python3-docutils !!) installed +# rst2man (not rst2man.py) is detected and compile fails with +# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop. +# Avoid this by disabling expicitly +EXTRA_OECONF = "--disable-rst2man" + +inherit autotools gettext pkgconfig manpages + +# This are all packages that we need to make. Also, the now empty alsa-utils +# ipk depends on them. + +ALSA_UTILS_PKGS = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \ + alsa-utils-alsamixer \ + alsa-utils-alsatplg \ + alsa-utils-midi \ + alsa-utils-aplay \ + alsa-utils-amixer \ + alsa-utils-aconnect \ + alsa-utils-iecset \ + alsa-utils-speakertest \ + alsa-utils-aseqnet \ + alsa-utils-aseqdump \ + alsa-utils-alsactl \ + alsa-utils-alsaloop \ + alsa-utils-alsaucm \ + alsa-utils-scripts \ + " + +PACKAGES += "${ALSA_UTILS_PKGS}" +RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}" + +FILES:${PN} = "" +ALLOW_EMPTY:alsa-utils = "1" +FILES:alsa-utils-alsabat = "${bindir}/alsabat" +FILES:alsa-utils-alsatplg = "${bindir}/alsatplg ${libdir}/alsa-topology" +FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" +FILES:alsa-utils-amixer = "${bindir}/amixer" +FILES:alsa-utils-alsamixer = "${bindir}/alsamixer" +FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" +FILES:alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" +FILES:alsa-utils-aconnect = "${bindir}/aconnect" +FILES:alsa-utils-aseqnet = "${bindir}/aseqnet" +FILES:alsa-utils-iecset = "${bindir}/iecset" +FILES:alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" +FILES:alsa-utils-aseqdump = "${bindir}/aseqdump" +FILES:alsa-utils-alsaloop = "${bindir}/alsaloop" +FILES:alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" +FILES:alsa-utils-scripts = "${sbindir}/alsaconf \ + ${sbindir}/alsa-info.sh \ + ${sbindir}/alsabat-test.sh \ + " + +SUMMARY:alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver" +SUMMARY:alsa-utils-alsatplg = "Converts topology text files into binary format for kernel" +SUMMARY:alsa-utils-aplay = "Play (and record) sound files using ALSA" +SUMMARY:alsa-utils-amixer = "Command-line control for ALSA mixer and settings" +SUMMARY:alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" +SUMMARY:alsa-utils-speakertest = "ALSA surround speaker test utility" +SUMMARY:alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" +SUMMARY:alsa-utils-aconnect = "ALSA sequencer connection manager" +SUMMARY:alsa-utils-aseqnet = "Network client/server for ALSA sequencer" +SUMMARY:alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" +SUMMARY:alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" +SUMMARY:alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" +SUMMARY:alsa-utils-alsaloop = "ALSA PCM loopback utility" +SUMMARY:alsa-utils-alsaucm = "ALSA Use Case Manager" +SUMMARY:alsa-utils-scripts = "Shell scripts that show help info and create ALSA configuration files" + +RRECOMMENDS:alsa-utils-alsactl = "alsa-states" + +do_install() { + autotools_do_install + + install -d ${D}${sbindir} + install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ + install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ + if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then + install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ + fi + + # If udev is disabled, we told configure to install the rules + # in /unwanted, so we can remove them now. If udev is enabled, + # then /unwanted won't exist and this will have no effect. + rm -rf ${D}/unwanted +} + + +PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts" + +RDEPENDS:${PN}-scripts += "bash" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb index bb33e3822e..53c78d4366 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb @@ -35,6 +35,7 @@ PACKAGECONFIG ??= " \ PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" +PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp" PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" @@ -112,7 +113,6 @@ EXTRA_OEMESON += " \ -Dandroidmedia=disabled \ -Dapplemedia=disabled \ -Dasio=disabled \ - -Davtp=disabled \ -Dbs2b=disabled \ -Dchromaprint=disabled \ -Dd3dvideosink=disabled \ diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch deleted file mode 100644 index f1a4ab4251..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch +++ /dev/null @@ -1,38 +0,0 @@ -CVE: CVE-2022-0865 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 88da11ae3c4db527cb870fb1017456cc8fbac2e7 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Thu, 24 Feb 2022 22:26:02 +0100 -Subject: [PATCH 1/6] tif_jbig.c: fix crash when reading a file with multiple - IFD in memory-mapped mode and when bit reversal is needed (fixes #385) - ---- - libtiff/tif_jbig.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/libtiff/tif_jbig.c b/libtiff/tif_jbig.c -index 74086338..8bfa4cef 100644 ---- a/libtiff/tif_jbig.c -+++ b/libtiff/tif_jbig.c -@@ -209,6 +209,16 @@ int TIFFInitJBIG(TIFF* tif, int scheme) - */ - tif->tif_flags |= TIFF_NOBITREV; - tif->tif_flags &= ~TIFF_MAPPED; -+ /* We may have read from a previous IFD and thus set TIFF_BUFFERMMAP and -+ * cleared TIFF_MYBUFFER. It is necessary to restore them to their initial -+ * value to be consistent with the state of a non-memory mapped file. -+ */ -+ if (tif->tif_flags&TIFF_BUFFERMMAP) { -+ tif->tif_rawdata = NULL; -+ tif->tif_rawdatasize = 0; -+ tif->tif_flags &= ~TIFF_BUFFERMMAP; -+ tif->tif_flags |= TIFF_MYBUFFER; -+ } - - /* Setup the function pointers for encode, decode, and cleanup. */ - tif->tif_setupdecode = JBIGSetupDecode; --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch deleted file mode 100644 index 72776f09ba..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch +++ /dev/null @@ -1,43 +0,0 @@ -CVE: CVE-2022-22844 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From b12a0326e6064b6e0b051d1184a219877472f69b Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Tue, 25 Jan 2022 16:25:28 +0000 -Subject: [PATCH] tiffset: fix global-buffer-overflow for ASCII tags where - count is required (fixes #355) - ---- - tools/tiffset.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/tools/tiffset.c b/tools/tiffset.c -index 8c9e23c5..e7a88c09 100644 ---- a/tools/tiffset.c -+++ b/tools/tiffset.c -@@ -146,9 +146,19 @@ main(int argc, char* argv[]) - - arg_index++; - if (TIFFFieldDataType(fip) == TIFF_ASCII) { -- if (TIFFSetField(tiff, TIFFFieldTag(fip), argv[arg_index]) != 1) -- fprintf( stderr, "Failed to set %s=%s\n", -- TIFFFieldName(fip), argv[arg_index] ); -+ if(TIFFFieldPassCount( fip )) { -+ size_t len; -+ len = strlen(argv[arg_index]) + 1; -+ if (len > UINT16_MAX || TIFFSetField(tiff, TIFFFieldTag(fip), -+ (uint16_t)len, argv[arg_index]) != 1) -+ fprintf( stderr, "Failed to set %s=%s\n", -+ TIFFFieldName(fip), argv[arg_index] ); -+ } else { -+ if (TIFFSetField(tiff, TIFFFieldTag(fip), -+ argv[arg_index]) != 1) -+ fprintf( stderr, "Failed to set %s=%s\n", -+ TIFFFieldName(fip), argv[arg_index] ); -+ } - } else if (TIFFFieldWriteCount(fip) > 0 - || TIFFFieldWriteCount(fip) == TIFF_VARIABLE) { - int ret = 1; --- -2.25.1 diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch deleted file mode 100644 index 812ffb232d..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch +++ /dev/null @@ -1,219 +0,0 @@ -CVE: CVE-2022-0891 -CVE: CVE-2022-1056 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From e46b49e60fddb2e924302fb1751f79eb9cfb2253 Mon Sep 17 00:00:00 2001 -From: Su Laus -Date: Tue, 8 Mar 2022 17:02:44 +0000 -Subject: [PATCH 2/6] tiffcrop: fix issue #380 and #382 heap buffer overflow in - extractImageSection - ---- - tools/tiffcrop.c | 92 +++++++++++++++++++----------------------------- - 1 file changed, 36 insertions(+), 56 deletions(-) - -diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c -index b85c2ce7..302a7e91 100644 ---- a/tools/tiffcrop.c -+++ b/tools/tiffcrop.c -@@ -105,8 +105,8 @@ - * of messages to monitor progress without enabling dump logs. - */ - --static char tiffcrop_version_id[] = "2.4"; --static char tiffcrop_rev_date[] = "12-13-2010"; -+static char tiffcrop_version_id[] = "2.4.1"; -+static char tiffcrop_rev_date[] = "03-03-2010"; - - #include "tif_config.h" - #include "libport.h" -@@ -6710,10 +6710,10 @@ extractImageSection(struct image_data *image, struct pageseg *section, - #ifdef DEVELMODE - uint32_t img_length; - #endif -- uint32_t j, shift1, shift2, trailing_bits; -+ uint32_t j, shift1, trailing_bits; - uint32_t row, first_row, last_row, first_col, last_col; - uint32_t src_offset, dst_offset, row_offset, col_offset; -- uint32_t offset1, offset2, full_bytes; -+ uint32_t offset1, full_bytes; - uint32_t sect_width; - #ifdef DEVELMODE - uint32_t sect_length; -@@ -6723,7 +6723,6 @@ extractImageSection(struct image_data *image, struct pageseg *section, - #ifdef DEVELMODE - int k; - unsigned char bitset; -- static char *bitarray = NULL; - #endif - - img_width = image->width; -@@ -6741,17 +6740,12 @@ extractImageSection(struct image_data *image, struct pageseg *section, - dst_offset = 0; - - #ifdef DEVELMODE -- if (bitarray == NULL) -- { -- if ((bitarray = (char *)malloc(img_width)) == NULL) -- { -- TIFFError ("", "DEBUG: Unable to allocate debugging bitarray"); -- return (-1); -- } -- } -+ char bitarray[39]; - #endif - -- /* rows, columns, width, length are expressed in pixels */ -+ /* rows, columns, width, length are expressed in pixels -+ * first_row, last_row, .. are index into image array starting at 0 to width-1, -+ * last_col shall be also extracted. */ - first_row = section->y1; - last_row = section->y2; - first_col = section->x1; -@@ -6761,9 +6755,14 @@ extractImageSection(struct image_data *image, struct pageseg *section, - #ifdef DEVELMODE - sect_length = last_row - first_row + 1; - #endif -- img_rowsize = ((img_width * bps + 7) / 8) * spp; -- full_bytes = (sect_width * spp * bps) / 8; /* number of COMPLETE bytes per row in section */ -- trailing_bits = (sect_width * bps) % 8; -+ /* The read function loadImage() used copy separate plane data into a buffer as interleaved -+ * samples rather than separate planes so the same logic works to extract regions -+ * regardless of the way the data are organized in the input file. -+ * Furthermore, bytes and bits are arranged in buffer according to COMPRESSION=1 and FILLORDER=1 -+ */ -+ img_rowsize = (((img_width * spp * bps) + 7) / 8); /* row size in full bytes of source image */ -+ full_bytes = (sect_width * spp * bps) / 8; /* number of COMPLETE bytes per row in section */ -+ trailing_bits = (sect_width * spp * bps) % 8; /* trailing bits within the last byte of destination buffer */ - - #ifdef DEVELMODE - TIFFError ("", "First row: %"PRIu32", last row: %"PRIu32", First col: %"PRIu32", last col: %"PRIu32"\n", -@@ -6776,10 +6775,9 @@ extractImageSection(struct image_data *image, struct pageseg *section, - - if ((bps % 8) == 0) - { -- col_offset = first_col * spp * bps / 8; -+ col_offset = (first_col * spp * bps) / 8; - for (row = first_row; row <= last_row; row++) - { -- /* row_offset = row * img_width * spp * bps / 8; */ - row_offset = row * img_rowsize; - src_offset = row_offset + col_offset; - -@@ -6792,14 +6790,12 @@ extractImageSection(struct image_data *image, struct pageseg *section, - } - else - { /* bps != 8 */ -- shift1 = spp * ((first_col * bps) % 8); -- shift2 = spp * ((last_col * bps) % 8); -+ shift1 = ((first_col * spp * bps) % 8); /* shift1 = bits to skip in the first byte of source buffer*/ - for (row = first_row; row <= last_row; row++) - { - /* pull out the first byte */ - row_offset = row * img_rowsize; -- offset1 = row_offset + (first_col * bps / 8); -- offset2 = row_offset + (last_col * bps / 8); -+ offset1 = row_offset + ((first_col * spp * bps) / 8); /* offset1 = offset into source of byte with first bits to be extracted */ - - #ifdef DEVELMODE - for (j = 0, k = 7; j < 8; j++, k--) -@@ -6811,12 +6807,12 @@ extractImageSection(struct image_data *image, struct pageseg *section, - sprintf(&bitarray[9], " "); - for (j = 10, k = 7; j < 18; j++, k--) - { -- bitset = *(src_buff + offset2) & (((unsigned char)1 << k)) ? 1 : 0; -+ bitset = *(src_buff + offset1 + full_bytes) & (((unsigned char)1 << k)) ? 1 : 0; - sprintf(&bitarray[j], (bitset) ? "1" : "0"); - } - bitarray[18] = '\0'; -- TIFFError ("", "Row: %3d Offset1: %"PRIu32", Shift1: %"PRIu32", Offset2: %"PRIu32", Shift2: %"PRIu32"\n", -- row, offset1, shift1, offset2, shift2); -+ TIFFError ("", "Row: %3d Offset1: %"PRIu32", Shift1: %"PRIu32", Offset2: %"PRIu32", Trailing_bits: %"PRIu32"\n", -+ row, offset1, shift1, offset1+full_bytes, trailing_bits); - #endif - - bytebuff1 = bytebuff2 = 0; -@@ -6840,11 +6836,12 @@ extractImageSection(struct image_data *image, struct pageseg *section, - - if (trailing_bits != 0) - { -- bytebuff2 = src_buff[offset2] & ((unsigned char)255 << (7 - shift2)); -+ /* Only copy higher bits of samples and mask lower bits of not wanted column samples to zero */ -+ bytebuff2 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (8 - trailing_bits)); - sect_buff[dst_offset] = bytebuff2; - #ifdef DEVELMODE - TIFFError ("", " Trailing bits src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", -- offset2, dst_offset); -+ offset1 + full_bytes, dst_offset); - for (j = 30, k = 7; j < 38; j++, k--) - { - bitset = *(sect_buff + dst_offset) & (((unsigned char)1 << k)) ? 1 : 0; -@@ -6863,8 +6860,10 @@ extractImageSection(struct image_data *image, struct pageseg *section, - #endif - for (j = 0; j <= full_bytes; j++) - { -- bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1); -- bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (7 - shift1)); -+ /* Skip the first shift1 bits and shift the source up by shift1 bits before save to destination.*/ -+ /* Attention: src_buff size needs to be some bytes larger than image size, because could read behind image here. */ -+ bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1); -+ bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (8 - shift1)); - sect_buff[dst_offset + j] = (bytebuff1 << shift1) | (bytebuff2 >> (8 - shift1)); - } - #ifdef DEVELMODE -@@ -6880,36 +6879,17 @@ extractImageSection(struct image_data *image, struct pageseg *section, - #endif - dst_offset += full_bytes; - -+ /* Copy the trailing_bits for the last byte in the destination buffer. -+ Could come from one ore two bytes of the source buffer. */ - if (trailing_bits != 0) - { - #ifdef DEVELMODE -- TIFFError ("", " Trailing bits src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", offset1 + full_bytes, dst_offset); --#endif -- if (shift2 > shift1) -- { -- bytebuff1 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (7 - shift2)); -- bytebuff2 = bytebuff1 & ((unsigned char)255 << shift1); -- sect_buff[dst_offset] = bytebuff2; --#ifdef DEVELMODE -- TIFFError ("", " Shift2 > Shift1\n"); -+ TIFFError("", " Trailing bits %4"PRIu32" src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", trailing_bits, offset1 + full_bytes, dst_offset); - #endif -+ /* More than necessary bits are already copied into last destination buffer, -+ * only masking of last byte in destination buffer is necessary.*/ -+ sect_buff[dst_offset] &= ((uint8_t)0xFF << (8 - trailing_bits)); - } -- else -- { -- if (shift2 < shift1) -- { -- bytebuff2 = ((unsigned char)255 << (shift1 - shift2 - 1)); -- sect_buff[dst_offset] &= bytebuff2; --#ifdef DEVELMODE -- TIFFError ("", " Shift2 < Shift1\n"); --#endif -- } --#ifdef DEVELMODE -- else -- TIFFError ("", " Shift2 == Shift1\n"); --#endif -- } -- } - #ifdef DEVELMODE - sprintf(&bitarray[28], " "); - sprintf(&bitarray[29], " "); -@@ -7062,7 +7042,7 @@ writeImageSections(TIFF *in, TIFF *out, struct image_data *image, - width = sections[i].x2 - sections[i].x1 + 1; - length = sections[i].y2 - sections[i].y1 + 1; - sectsize = (uint32_t) -- ceil((width * image->bps + 7) / (double)8) * image->spp * length; -+ ceil((width * image->bps * image->spp + 7) / (double)8) * length; - /* allocate a buffer if we don't have one already */ - if (createImageSection(sectsize, sect_buff_ptr)) - { --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch deleted file mode 100644 index a0b856b9e1..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch +++ /dev/null @@ -1,93 +0,0 @@ -CVE: CVE-2022-0907 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From a139191cc86f4dc44c74a0f22928e0fb38ed2485 Mon Sep 17 00:00:00 2001 -From: Augustus -Date: Mon, 7 Mar 2022 18:21:49 +0800 -Subject: [PATCH 3/6] add checks for return value of limitMalloc (#392) - ---- - tools/tiffcrop.c | 33 +++++++++++++++++++++------------ - 1 file changed, 21 insertions(+), 12 deletions(-) - -diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c -index 302a7e91..e407bf51 100644 ---- a/tools/tiffcrop.c -+++ b/tools/tiffcrop.c -@@ -7357,7 +7357,11 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr) - if (!sect_buff) - { - sect_buff = (unsigned char *)limitMalloc(sectsize); -- *sect_buff_ptr = sect_buff; -+ if (!sect_buff) -+ { -+ TIFFError("createImageSection", "Unable to allocate/reallocate section buffer"); -+ return (-1); -+ } - _TIFFmemset(sect_buff, 0, sectsize); - } - else -@@ -7373,15 +7377,15 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr) - else - sect_buff = new_buff; - -+ if (!sect_buff) -+ { -+ TIFFError("createImageSection", "Unable to allocate/reallocate section buffer"); -+ return (-1); -+ } - _TIFFmemset(sect_buff, 0, sectsize); - } - } - -- if (!sect_buff) -- { -- TIFFError("createImageSection", "Unable to allocate/reallocate section buffer"); -- return (-1); -- } - prev_sectsize = sectsize; - *sect_buff_ptr = sect_buff; - -@@ -7648,7 +7652,11 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop, - if (!crop_buff) - { - crop_buff = (unsigned char *)limitMalloc(cropsize); -- *crop_buff_ptr = crop_buff; -+ if (!crop_buff) -+ { -+ TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer"); -+ return (-1); -+ } - _TIFFmemset(crop_buff, 0, cropsize); - prev_cropsize = cropsize; - } -@@ -7664,15 +7672,15 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop, - } - else - crop_buff = new_buff; -+ if (!crop_buff) -+ { -+ TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer"); -+ return (-1); -+ } - _TIFFmemset(crop_buff, 0, cropsize); - } - } - -- if (!crop_buff) -- { -- TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer"); -- return (-1); -- } - *crop_buff_ptr = crop_buff; - - if (crop->crop_mode & CROP_INVERT) -@@ -9231,3 +9239,4 @@ invertImage(uint16_t photometric, uint16_t spp, uint16_t bps, uint32_t width, ui - * fill-column: 78 - * End: - */ -+ --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch deleted file mode 100644 index 719dabaecc..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch +++ /dev/null @@ -1,33 +0,0 @@ -CVE: CVE-2022-0908 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From ef5a0bf271823df168642444d051528a68205cb0 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Thu, 17 Feb 2022 15:28:43 +0100 -Subject: [PATCH 4/6] TIFFFetchNormalTag(): avoid calling memcpy() with a null - source pointer and size of zero (fixes #383) - ---- - libtiff/tif_dirread.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c -index d84147a0..4e8ce729 100644 ---- a/libtiff/tif_dirread.c -+++ b/libtiff/tif_dirread.c -@@ -5079,7 +5079,10 @@ TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover) - _TIFFfree(data); - return(0); - } -- _TIFFmemcpy(o,data,(uint32_t)dp->tdir_count); -+ if (dp->tdir_count > 0 ) -+ { -+ _TIFFmemcpy(o,data,(uint32_t)dp->tdir_count); -+ } - o[(uint32_t)dp->tdir_count]=0; - if (data!=0) - _TIFFfree(data); --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch deleted file mode 100644 index 64dbe9ef92..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch +++ /dev/null @@ -1,36 +0,0 @@ -CVE: CVE-2022-0909 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 4768355a074d562177e0a8b551c561d1af7eb74a Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Tue, 8 Mar 2022 16:22:04 +0000 -Subject: [PATCH 5/6] fix the FPE in tiffcrop (#393) - ---- - libtiff/tif_dir.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c -index a6c254fc..77da6ea4 100644 ---- a/libtiff/tif_dir.c -+++ b/libtiff/tif_dir.c -@@ -335,13 +335,13 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap) - break; - case TIFFTAG_XRESOLUTION: - dblval = va_arg(ap, double); -- if( dblval < 0 ) -+ if( dblval != dblval || dblval < 0 ) - goto badvaluedouble; - td->td_xresolution = _TIFFClampDoubleToFloat( dblval ); - break; - case TIFFTAG_YRESOLUTION: - dblval = va_arg(ap, double); -- if( dblval < 0 ) -+ if( dblval != dblval || dblval < 0 ) - goto badvaluedouble; - td->td_yresolution = _TIFFClampDoubleToFloat( dblval ); - break; --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch deleted file mode 100644 index afd5e59960..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch +++ /dev/null @@ -1,57 +0,0 @@ -CVE: CVE-2022-0924 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 1074b9691322b1e3671cd8ea0b6b3509d08978fb Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Thu, 10 Mar 2022 08:48:00 +0000 -Subject: [PATCH 6/6] fix heap buffer overflow in tiffcp (#278) - ---- - tools/tiffcp.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/tools/tiffcp.c b/tools/tiffcp.c -index 1f889516..552d8fad 100644 ---- a/tools/tiffcp.c -+++ b/tools/tiffcp.c -@@ -1661,12 +1661,27 @@ DECLAREwriteFunc(writeBufferToSeparateStrips) - tdata_t obuf; - tstrip_t strip = 0; - tsample_t s; -+ uint16_t bps = 0, bytes_per_sample; - - obuf = limitMalloc(stripsize); - if (obuf == NULL) - return (0); - _TIFFmemset(obuf, 0, stripsize); - (void) TIFFGetFieldDefaulted(out, TIFFTAG_ROWSPERSTRIP, &rowsperstrip); -+ (void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps); -+ if( bps == 0 ) -+ { -+ TIFFError(TIFFFileName(out), "Error, cannot read BitsPerSample"); -+ _TIFFfree(obuf); -+ return 0; -+ } -+ if( (bps % 8) != 0 ) -+ { -+ TIFFError(TIFFFileName(out), "Error, cannot handle BitsPerSample that is not a multiple of 8"); -+ _TIFFfree(obuf); -+ return 0; -+ } -+ bytes_per_sample = bps/8; - for (s = 0; s < spp; s++) { - uint32_t row; - for (row = 0; row < imagelength; row += rowsperstrip) { -@@ -1676,7 +1691,7 @@ DECLAREwriteFunc(writeBufferToSeparateStrips) - - cpContigBufToSeparateBuf( - obuf, (uint8_t*) buf + row * rowsize + s, -- nrows, imagewidth, 0, 0, spp, 1); -+ nrows, imagewidth, 0, 0, spp, bytes_per_sample); - if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0) { - TIFFError(TIFFFileName(out), - "Error, can't write strip %"PRIu32, --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch b/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch deleted file mode 100644 index 0b41dde606..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 561599c99f987dc32ae110370cfdd7df7975586b Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sat, 5 Feb 2022 20:36:41 +0100 -Subject: [PATCH] TIFFReadDirectory(): avoid calling memcpy() with a null - source pointer and size of zero (fixes #362) - -Upstream-Status: Backport -CVE: CVE-2022-0562 - ---- - libtiff/tif_dirread.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c -index 2bbc4585..23194ced 100644 ---- a/libtiff/tif_dirread.c -+++ b/libtiff/tif_dirread.c -@@ -4177,7 +4177,8 @@ TIFFReadDirectory(TIFF* tif) - goto bad; - } - -- memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16_t)); -+ if (old_extrasamples > 0) -+ memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16_t)); - _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples); - _TIFFfree(new_sampleinfo); - } --- -GitLab - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch b/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch deleted file mode 100644 index 74f9649fdf..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch +++ /dev/null @@ -1,32 +0,0 @@ -From eecb0712f4c3a5b449f70c57988260a667ddbdef Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sun, 6 Feb 2022 13:08:38 +0100 -Subject: [PATCH] TIFFFetchStripThing(): avoid calling memcpy() with a null - source pointer and size of zero (fixes #362) - -Upstream-Status: Backport -CVE: CVE-2022-0561 - ---- - libtiff/tif_dirread.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c -index 23194ced..50ebf8ac 100644 ---- a/libtiff/tif_dirread.c -+++ b/libtiff/tif_dirread.c -@@ -5777,8 +5777,9 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32_t nstrips, uint64_t** l - _TIFFfree(data); - return(0); - } -- _TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t)); -- _TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t)); -+ if( dir->tdir_count ) -+ _TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t)); -+ _TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t)); - _TIFFfree(data); - data=resizeddata; - } --- -GitLab - diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb deleted file mode 100644 index 9c9108a6af..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "Provides support for the Tag Image File Format (TIFF)" -DESCRIPTION = "Library provides support for the Tag Image File Format \ -(TIFF), a widely used format for storing image data. This library \ -provide means to easily access and create TIFF image files." -HOMEPAGE = "http://www.libtiff.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" - -CVE_PRODUCT = "libtiff" - -SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \ - file://0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch \ - file://561599c99f987dc32ae110370cfdd7df7975586b.patch \ - file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch \ - file://0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch \ - file://0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch \ - file://0003-add-checks-for-return-value-of-limitMalloc-392.patch \ - file://0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch \ - file://0005-fix-the-FPE-in-tiffcrop-393.patch \ - file://0006-fix-heap-buffer-overflow-in-tiffcp-278.patch \ - " - -SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" - -# exclude betas -UPSTREAM_CHECK_REGEX = "tiff-(?P\d+(\.\d+)+).tar" - -# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313 -# and 4.3.0 doesn't have the issue -CVE_CHECK_IGNORE += "CVE-2015-7313" - -inherit autotools multilib_header - -CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" - -PACKAGECONFIG ?= "cxx jpeg zlib lzma \ - strip-chopping extrasample-as-alpha check-ycbcr-subsampling" - -PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,," -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg," -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," -PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz," - -# Convert single-strip uncompressed images to multiple strips of specified -# size (default: 8192) to reduce memory usage -PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,," - -# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA -PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,," - -# Control picking up YCbCr subsample info. Disable to support files lacking -# the tag -PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,," - -# Support a mechanism allowing reading large strips (usually one strip files) -# in chunks when using TIFFReadScanline. Experimental 4.0+ feature -PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,," - -PACKAGES =+ "tiffxx tiff-utils" -FILES:tiffxx = "${libdir}/libtiffxx.so.*" -FILES:tiff-utils = "${bindir}/*" - -do_install:append() { - oe_multilib_header tiffconf.h -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb new file mode 100644 index 0000000000..c82965ffa1 --- /dev/null +++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Provides support for the Tag Image File Format (TIFF)" +DESCRIPTION = "Library provides support for the Tag Image File Format \ +(TIFF), a widely used format for storing image data. This library \ +provide means to easily access and create TIFF image files." +HOMEPAGE = "http://www.libtiff.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" + +CVE_PRODUCT = "libtiff" + +SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz" + +SRC_URI[sha256sum] = "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed" + +# exclude betas +UPSTREAM_CHECK_REGEX = "tiff-(?P\d+(\.\d+)+).tar" + +# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313 +# and 4.3.0 doesn't have the issue +CVE_CHECK_IGNORE += "CVE-2015-7313" +# These issues only affect libtiff post-4.3.0 but before 4.4.0, +# caused by 3079627e and fixed by b4e79bfa. +CVE_CHECK_IGNORE += "CVE-2022-1622 CVE-2022-1623" + +# Issue is in jbig which we don't enable +CVE_CHECK_IGNORE += "CVE-2022-1210" + +inherit autotools multilib_header + +CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" + +PACKAGECONFIG ?= "cxx jpeg zlib lzma \ + strip-chopping extrasample-as-alpha check-ycbcr-subsampling" + +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,," +PACKAGECONFIG[jbig] = "--enable-jbig,--disable-jbig,jbig," +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg," +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," +PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz," + +# Convert single-strip uncompressed images to multiple strips of specified +# size (default: 8192) to reduce memory usage +PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,," + +# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA +PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,," + +# Control picking up YCbCr subsample info. Disable to support files lacking +# the tag +PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,," + +# Support a mechanism allowing reading large strips (usually one strip files) +# in chunks when using TIFFReadScanline. Experimental 4.0+ feature +PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,," + +PACKAGES =+ "tiffxx tiff-utils" +FILES:tiffxx = "${libdir}/libtiffxx.so.*" +FILES:tiff-utils = "${bindir}/*" + +do_install:append() { + oe_multilib_header tiffconf.h +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index 821ce7d1df..602d7263ce 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -213,7 +213,7 @@ pkg_postinst:${PN}-server() { } python populate_packages:prepend() { - plugindir = d.expand('${libdir}/pulse-${PV}/modules/') + plugindir = d.expand('${libdir}/pulseaudio/modules/') do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True) do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True) } diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch deleted file mode 100644 index c9d8abcbf2..0000000000 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 9d0dc8aedd08d77797f90fa6075a59613f18bf0d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 20 Dec 2020 07:56:07 -0800 -Subject: [PATCH] meson: Check for __get_cpuid - -checking for presence of cpuid.h header alone is not sufficient in some case to use -cpuid related functions. e.g. when using clang which is built for -multiple targets will have cpuid.h header as part of compiler headers in -distribution but one maybe compiling pulseaudion for non-x86 target. The -current check in meson succeeds and then compile fails later because -cpuid.h is x86-specific header. Therefore checking for symbol that is -needed makes this robust, so even if header exist it will try to ensure -the given symbol can be used - -Fixes -src/pulsecore/core-util.c:113: -| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/clang/11.0.1/include/cpuid.h:11:2: error: this header is for x86 only -| #error this header is for x86 only -| ^ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -Cc: Tanu Kaskinen ---- - meson.build | 5 ++++- - src/pulsecore/core-util.c | 2 +- - src/pulsecore/cpu-x86.c | 2 +- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/meson.build b/meson.build -index 2589627..5f5127e 100644 ---- a/meson.build -+++ b/meson.build -@@ -185,7 +185,6 @@ endif - check_headers = [ - 'arpa/inet.h', - 'byteswap.h', -- 'cpuid.h', - 'dlfcn.h', - 'execinfo.h', - 'grp.h', -@@ -243,6 +242,10 @@ if cc.has_header_symbol('pthread.h', 'PTHREAD_PRIO_INHERIT') - cdata.set('HAVE_PTHREAD_PRIO_INHERIT', 1) - endif - -+if cc.has_header_symbol('cpuid.h', '__get_cpuid') -+ cdata.set('HAVE_GET_CPUID', 1) -+endif -+ - # Functions - - check_functions = [ -diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c -index 601b1d1..6f34e7c 100644 ---- a/src/pulsecore/core-util.c -+++ b/src/pulsecore/core-util.c -@@ -109,7 +109,7 @@ - #include - #endif - --#ifdef HAVE_CPUID_H -+#ifdef HAVE_GET_CPUID - #include - #endif - -diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c -index 4e59e14..86595d4 100644 ---- a/src/pulsecore/cpu-x86.c -+++ b/src/pulsecore/cpu-x86.c -@@ -24,7 +24,7 @@ - - #include - --#ifdef HAVE_CPUID_H -+#ifdef HAVE_GET_CPUID - #include - #endif - --- -2.29.2 - diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb deleted file mode 100644 index 239d31810b..0000000000 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require pulseaudio.inc - -SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ - file://0001-client-conf-Add-allow-autospawn-for-root.patch \ - file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ - file://0001-meson-Check-for-__get_cpuid.patch \ - file://volatiles.04_pulse \ - file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \ - " -SRC_URI[sha256sum] = "a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0" -UPSTREAM_CHECK_REGEX = "pulseaudio-(?P\d+(\.(?!99)\d+)+)\.tar" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb new file mode 100644 index 0000000000..f9940d4c85 --- /dev/null +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb @@ -0,0 +1,10 @@ +require pulseaudio.inc + +SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ + file://0001-client-conf-Add-allow-autospawn-for-root.patch \ + file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ + file://volatiles.04_pulse \ + file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \ + " +SRC_URI[sha256sum] = "b4ec6271910a1a86803f165056547f700dfabaf8d5c6c69736f706b5bb889f47" +UPSTREAM_CHECK_REGEX = "pulseaudio-(?P\d+(\.(?!99)\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb deleted file mode 100644 index 65757c36a7..0000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb +++ /dev/null @@ -1,167 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://0001-Fix-build-without-opengl-or-es.patch \ - file://reproducibility.patch \ - file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \ - " - -SRC_URI[sha256sum] = "0149ea5fb1d20f2a9981677d45c952a047330001ea24a8dc29035239f12c0c8f" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS = " \ - ruby-native \ - gperf-native \ - cairo \ - harfbuzz \ - jpeg \ - atk \ - libwebp \ - gtk+3 \ - libxslt \ - libtasn1 \ - libnotify \ - gstreamer1.0 \ - gstreamer1.0-plugins-base \ - " - -PACKAGECONFIG_SOUP ?= "soup2" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ - enchant \ - libsecret \ - ${PACKAGECONFIG_SOUP} \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" -PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," -PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" -PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" -PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" -PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" - -# webkitgtk is full of /usr/bin/env python, particular for generating docs -do_configure[postfuncs] += "setup_python_link" -setup_python_link() { - if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then - ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python - fi -} - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python3` \ - -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ - -DENABLE_GAMEPAD=OFF \ - " - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS:append:arc = " -mlong-calls" -CXXFLAGS:append:arc = " -mlong-calls" - -# Needed for non-mesa graphics stacks when x11 is disabled -CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " - -EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT and gold linker does not work on RISCV -EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" -EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS:remove:aarch64 = "-fpie" -SECURITY_CFLAGS:append:aarch64 = " -fPIE" - -FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET:armv7a = "thumb" -ARM_INSTRUCTION_SET:armv7r = "thumb" -ARM_INSTRUCTION_SET:armv7ve = "thumb" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED:libc-musl:armv7a = "False" -GI_DATA_ENABLED:libc-musl:armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/JavaScriptCore/DerivedSources/*.h \ - ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ - ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.cpp \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.h - -} - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb new file mode 100644 index 0000000000..83b6f8a6ee --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb @@ -0,0 +1,167 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://0001-Fix-build-without-opengl-or-es.patch \ + file://reproducibility.patch \ + file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \ + " + +SRC_URI[sha256sum] = "732fcf8c4ec644b8ed28b46ebbd7c1ebab9d9e0afea9bdf5e5d12786afc478d1" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS = " \ + ruby-native \ + gperf-native \ + cairo \ + harfbuzz \ + jpeg \ + atk \ + libwebp \ + gtk+3 \ + libxslt \ + libtasn1 \ + libnotify \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + " + +PACKAGECONFIG_SOUP ?= "soup2" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ + enchant \ + libsecret \ + ${PACKAGECONFIG_SOUP} \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" +PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," +PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" +PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" + +# webkitgtk is full of /usr/bin/env python, particular for generating docs +do_configure[postfuncs] += "setup_python_link" +setup_python_link() { + if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then + ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python + fi +} + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python3` \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DENABLE_GAMEPAD=OFF \ + " + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS:append:arc = " -mlong-calls" +CXXFLAGS:append:arc = " -mlong-calls" + +# Needed for non-mesa graphics stacks when x11 is disabled +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " + +EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS:remove:aarch64 = "-fpie" +SECURITY_CFLAGS:append:aarch64 = " -fPIE" + +FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET:armv7a = "thumb" +ARM_INSTRUCTION_SET:armv7r = "thumb" +ARM_INSTRUCTION_SET:armv7ve = "thumb" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED:libc-musl:armv7a = "False" +GI_DATA_ENABLED:libc-musl:armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/JavaScriptCore/DerivedSources/*.h \ + ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ + ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ + ${B}/WebKit2Gtk/DerivedSources/webkit2/*.cpp \ + ${B}/WebKit2Gtk/DerivedSources/webkit2/*.h + +} + diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_212.bb b/poky/meta/recipes-support/diffoscope/diffoscope_212.bb deleted file mode 100644 index 41f896d74f..0000000000 --- a/poky/meta/recipes-support/diffoscope/diffoscope_212.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "in-depth comparison of files, archives, and directories" -DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ -different. It will recursively unpack archives of many kinds and transform \ -various binary formats into more human-readable form to compare them. \ -It can compare two tarballs, ISO images, or PDF just as easily." -HOMEPAGE = "https://diffoscope.org/" -BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" -LICENSE = "GPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PYPI_PACKAGE = "diffoscope" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "744260ccf2bb869c58c50dfab68957dd494b12e446520993d0925b2394ea1db7" - -RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" - -# Dependencies don't build for musl -COMPATIBLE_HOST:libc-musl = 'null' - -do_install:append:class-native() { - create_wrapper ${D}${bindir}/diffoscope \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_215.bb b/poky/meta/recipes-support/diffoscope/diffoscope_215.bb new file mode 100644 index 0000000000..a61d68f7eb --- /dev/null +++ b/poky/meta/recipes-support/diffoscope/diffoscope_215.bb @@ -0,0 +1,30 @@ +SUMMARY = "in-depth comparison of files, archives, and directories" +DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ +different. It will recursively unpack archives of many kinds and transform \ +various binary formats into more human-readable form to compare them. \ +It can compare two tarballs, ISO images, or PDF just as easily." +HOMEPAGE = "https://diffoscope.org/" +BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PYPI_PACKAGE = "diffoscope" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "4754ad3356b0acc1d2ceffbfa516961a7df0a2d816cd3cce6c9d084ce54d9433" + +RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" + +# Dependencies don't build for musl +COMPATIBLE_HOST:libc-musl = 'null' + +do_install:append:class-native() { + create_wrapper ${D}${bindir}/diffoscope \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch new file mode 100644 index 0000000000..e40b2be362 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch @@ -0,0 +1,28 @@ +From b729a356538d499fe25e82bfc78ea663bdaca0a8 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Mon, 23 May 2022 10:44:43 +0900 +Subject: [PATCH] Creating .hmac file should be excuted in target environment, + so deleted it from build process. + +Upstream-Status: Inappropriate [https://gitlab.com/gnutls/gnutls/-/issues/1373] +Signed-off-by: Lei Maohui +--- + lib/Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 0b43ef9..cf263f0 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -206,8 +206,7 @@ hmac_files = .libs/.gnutls.hmac + + all-local: $(hmac_files) + +-.libs/.gnutls.hmac: libgnutls.la fipshmac +- $(AM_V_GEN) $(builddir)/fipshmac > $@-t && mv $@-t $@ ++.libs/.gnutls.hmac: + + CLEANFILES = $(hmac_files) + endif +-- +2.25.1 diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb deleted file mode 100644 index 5feedb7fdc..0000000000 --- a/poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb +++ /dev/null @@ -1,68 +0,0 @@ -SUMMARY = "GNU Transport Layer Security Library" -DESCRIPTION = "a secure communications library implementing the SSL, \ -TLS and DTLS protocols and technologies around them." -HOMEPAGE = "https://gnutls.org/" -BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" - -LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later" -LICENSE:${PN} = "LGPL-2.1-or-later" -LICENSE:${PN}-xx = "LGPL-2.1-or-later" -LICENSE:${PN}-bin = "GPL-3.0-or-later" -LICENSE:${PN}-OpenSSL = "GPL-3.0-or-later" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ - file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ - file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" - -DEPENDS = "nettle gmp virtual/libiconv libunistring" -DEPENDS:append:libc-musl = " argp-standalone" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ - file://arm_eabi.patch \ - " - -SRC_URI[sha256sum] = "1f85028475b4f255cc5b480af0c37e61eab43024c1507c8b75d6be506c0553ad" - -inherit autotools texinfo pkgconfig gettext lib_package gtk-doc - -PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" - -# You must also have CONFIG_SECCOMP enabled in the kernel for -# seccomp to work. -PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" -PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" -PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" -PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" -PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" - -EXTRA_OECONF = " \ - --enable-doc \ - --disable-libdane \ - --disable-guile \ - --disable-rpath \ - --enable-openssl-compatibility \ - --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ -" - -# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. -export POSIX_SHELL="${base_bindir}/sh" - -LDFLAGS:append:libc-musl = " -largp" - -do_configure:prepend() { - for dir in . lib; do - rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 - done -} - -PACKAGES =+ "${PN}-openssl ${PN}-xx" - -FILES:${PN}-dev += "${bindir}/gnutls-cli-debug" -FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" -FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb new file mode 100644 index 0000000000..6a0eb974dd --- /dev/null +++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb @@ -0,0 +1,90 @@ +SUMMARY = "GNU Transport Layer Security Library" +DESCRIPTION = "a secure communications library implementing the SSL, \ +TLS and DTLS protocols and technologies around them." +HOMEPAGE = "https://gnutls.org/" +BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" + +LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN} = "LGPL-2.1-or-later" +LICENSE:${PN}-xx = "LGPL-2.1-or-later" +LICENSE:${PN}-bin = "GPL-3.0-or-later" +LICENSE:${PN}-OpenSSL = "GPL-3.0-or-later" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ + file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ + file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" + +DEPENDS = "nettle gmp virtual/libiconv libunistring" +DEPENDS:append:libc-musl = " argp-standalone" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ + file://arm_eabi.patch \ + file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \ + " + +SRC_URI[sha256sum] = "77065719a345bfb18faa250134be4c53bef70c1bd61f6c0c23ceb8b44f0262ff" + +inherit autotools texinfo pkgconfig gettext lib_package gtk-doc + +PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" + +# You must also have CONFIG_SECCOMP enabled in the kernel for +# seccomp to work. +PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" +PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" +PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" +PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" +PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" +PACKAGECONFIG[fips] = "--enable-fips140-mode --with-libdl-prefix=${STAGING_BASELIBDIR}" + +EXTRA_OECONF = " \ + --enable-doc \ + --disable-libdane \ + --disable-guile \ + --disable-rpath \ + --enable-openssl-compatibility \ + --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ +" + +# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. +export POSIX_SHELL="${base_bindir}/sh" + +LDFLAGS:append:libc-musl = " -largp" + +do_configure:prepend() { + for dir in . lib; do + rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 + done +} + +do_install:append:class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', d)}; then + install -d ${D}${bindir}/bin + install -m 0755 ${B}/lib/.libs/fipshmac ${D}/${bindir}/ + fi +} + +PACKAGES =+ "${PN}-openssl ${PN}-xx ${PN}-fips" + +FILES:${PN}-dev += "${bindir}/gnutls-cli-debug" +FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" +FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*" +FILES:${PN}-fips = "${bindir}/fipshmac" + +BBCLASSEXTEND = "native nativesdk" + +pkg_postinst_ontarget:${PN}-fips () { + if test -x ${bindir}/fipshmac + then + mkdir ${sysconfdir}/gnutls + touch ${sysconfdir}/gnutls/config + ${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac + ${bindir}/fipshmac ${libdir}/libnettle.so.8.* > ${libdir}/.libnettle.so.8.hmac + ${bindir}/fipshmac ${libdir}/libgmp.so.10.*.* > ${libdir}/.libgmp.so.10.hmac + ${bindir}/fipshmac ${libdir}/libhogweed.so.6.* > ${libdir}/.libhogweed.so.6.hmac + fi +} diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb new file mode 100644 index 0000000000..857fe463ef --- /dev/null +++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "ISO language, territory, currency, script codes and their translations" +DESCRIPTION = "Provides lists of various ISO standards (e.g. country, \ +language, language scripts, and currency names) in one place, rather \ +than repeated in many programs throughout the system." +HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes" +BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;" +SRCREV = "9a6c24ee40e737ab34273c1af13a8dabcae888dd" + +# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which +# are inhibited by allarch +DEPENDS = "gettext-native" + +S = "${WORKDIR}/git" + +inherit allarch autotools + +FILES:${PN} += "${datadir}/xml/" diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb deleted file mode 100644 index f51edf09a4..0000000000 --- a/poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "ISO language, territory, currency, script codes and their translations" -DESCRIPTION = "Provides lists of various ISO standards (e.g. country, \ -language, language scripts, and currency names) in one place, rather \ -than repeated in many programs throughout the system." -HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes" -BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;" -SRCREV = "35ae2024024eb8e6603d3034dbbc406594f3874c" - -# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which -# are inhibited by allarch -DEPENDS = "gettext-native" - -S = "${WORKDIR}/git" - -inherit allarch autotools - -FILES:${PN} += "${datadir}/xml/" diff --git a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb index c76f3c3573..e89b8f7f4b 100644 --- a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb +++ b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb @@ -3,7 +3,7 @@ DESCRIPTION = "The libseccomp library provides and easy to use, platform indepen HOMEPAGE = "https://github.com/seccomp/libseccomp" SECTION = "security" LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" DEPENDS += "gperf-native" @@ -37,6 +37,10 @@ do_install_ptest() { for file in $(find tests/*.tests -type f); do install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests done + for file in $(find tests/*.pfc -type f); do + install -m 644 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + install -m 644 ${S}/tests/valgrind_test.supp ${D}/${PTEST_PATH}/tests for file in $(find tools/* -executable -type f); do install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools done diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb index 51cfb2e281..2fd777766c 100644 --- a/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb +++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb @@ -19,6 +19,10 @@ SRC_URI[sha256sum] = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f UPSTREAM_CHECK_REGEX = "libxslt-(?P\d+(\.\d+)+)\.tar" +# We have libxml2 2.9.14 and we don't link statically with it anyway +# so this isn't an issue. +CVE_CHECK_IGNORE += "CVE-2022-29824" + S = "${WORKDIR}/libxslt-${PV}" BINCONFIG = "${bindir}/xslt-config" diff --git a/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch index db3a70e803..a0d2502d24 100644 --- a/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch +++ b/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch @@ -10,7 +10,15 @@ Change suggested by Julian Taylor. Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037 -Upstream-Status: Pending +RP: Patch is still in debian as of 20220524 in a revised form: +https://sources.debian.org/patches/lzo2/2.10-2/ +https://sources.debian.org/patches/lzo2/2.10-2/0001-Conditionally-replace-reinvention-of-memcpy-with-cal.patch/ +It was submitted in 2015, no reply to an email from RP in 2022 either. + +We likely need this in OE to prevent against unaligned accesses +on systems such as armv5. + +Upstream-Status: Inactive-Upstream Signed-off-by: Saul Wold --- minilzo/minilzo.c | 14 ++++++++++++++ diff --git a/poky/meta/recipes-support/lzop/lzop/acinclude.m4 b/poky/meta/recipes-support/lzop/lzop/acinclude.m4 deleted file mode 100644 index 0029c19c7d..0000000000 --- a/poky/meta/recipes-support/lzop/lzop/acinclude.m4 +++ /dev/null @@ -1,390 +0,0 @@ - -AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [ -AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) -])# - -AC_DEFUN([mfx_ACC_CHECK_HEADERS], [ -AC_HEADER_TIME -AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/stat.h sys/time.h sys/types.h sys/wait.h]) -])# - -AC_DEFUN([mfx_ACC_CHECK_FUNCS], [ -AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown ctime difftime fstat gettimeofday gmtime localtime longjmp lstat memcmp memcpy memmove memset mktime qsort raise setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf) -])# - - -AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [ -AC_CHECK_SIZEOF(short) -AC_CHECK_SIZEOF(int) -AC_CHECK_SIZEOF(long) - -AC_CHECK_SIZEOF(long long) -AC_CHECK_SIZEOF(__int16) -AC_CHECK_SIZEOF(__int32) -AC_CHECK_SIZEOF(__int64) - -AC_CHECK_SIZEOF(void *) -AC_CHECK_SIZEOF(size_t) -AC_CHECK_SIZEOF(ptrdiff_t) -])# - - -# /*********************************************************************** -# // Check for ACC_conformance -# ************************************************************************/ - -AC_DEFUN([mfx_ACC_ACCCHK], [ -mfx_tmp=$1 -mfx_save_CPPFLAGS=$CPPFLAGS -dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here -test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" - -AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) - -AC_LANG_CONFTEST([AC_LANG_PROGRAM( -[[#define ACC_CONFIG_NO_HEADER 1 -#include "acc/acc.h" -#include "acc/acc_incd.h" -#undef ACCCHK_ASSERT -#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) -#include "acc/acc_chk.ch" -#undef ACCCHK_ASSERT -static void test_acc_compile_time_assert(void) { -#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) -#include "acc/acc_chk.ch" -#undef ACCCHK_ASSERT -} -#undef NDEBUG -#include -static int test_acc_run_time_assert(int r) { -#define ACCCHK_ASSERT(expr) assert(expr); -#include "acc/acc_chk.ch" -#undef ACCCHK_ASSERT -return r; -} -]], [[ -test_acc_compile_time_assert(); -if (test_acc_run_time_assert(1) != 1) return 1; -]] -)]) - -mfx_tmp=FAILED -_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) -rm -f conftest.$ac_ext conftest.$ac_objext - -CPPFLAGS=$mfx_save_CPPFLAGS - -AC_MSG_RESULT([$mfx_tmp]) -case x$mfx_tmp in - xpassed | xyes) ;; - *) - AC_MSG_NOTICE([]) - AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) - AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) - AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) - AC_MSG_NOTICE([Thanks for your support.]) - AC_MSG_NOTICE([]) - AC_MSG_ERROR([ACC conformance test failed. Stop.]) -dnl AS_EXIT - ;; -esac -])# mfx_ACC_ACCCHK - - -# /*********************************************************************** -# // Check for ACC_conformance -# ************************************************************************/ - -AC_DEFUN([mfx_MINIACC_ACCCHK], [ -mfx_tmp=$1 -mfx_save_CPPFLAGS=$CPPFLAGS -dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here -test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" - -AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) - -AC_LANG_CONFTEST([AC_LANG_PROGRAM( -[[#define ACC_CONFIG_NO_HEADER 1 -#define ACC_WANT_ACC_INCD_H 1 -#include $2 - -#define ACC_WANT_ACC_CHK_CH 1 -#undef ACCCHK_ASSERT -#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) -#include $2 - -#define ACC_WANT_ACC_CHK_CH 1 -#undef ACCCHK_ASSERT -#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) -static void test_acc_compile_time_assert(void) { -#include $2 -} - -#undef NDEBUG -#include -#define ACC_WANT_ACC_CHK_CH 1 -#undef ACCCHK_ASSERT -#define ACCCHK_ASSERT(expr) assert(expr); -static int test_acc_run_time_assert(int r) { -#include $2 -return r; -} -]], [[ -test_acc_compile_time_assert(); -if (test_acc_run_time_assert(1) != 1) return 1; -]] -)]) - -mfx_tmp=FAILED -_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) -rm -f conftest.$ac_ext conftest.$ac_objext - -CPPFLAGS=$mfx_save_CPPFLAGS - -AC_MSG_RESULT([$mfx_tmp]) -case x$mfx_tmp in - xpassed | xyes) ;; - *) - AC_MSG_NOTICE([]) - AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) - AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) - AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) - AC_MSG_NOTICE([Thanks for your support.]) - AC_MSG_NOTICE([]) - AC_MSG_ERROR([ACC conformance test failed. Stop.]) -dnl AS_EXIT - ;; -esac -])# mfx_MINIACC_ACCCHK - - - -# serial 1 - -AC_DEFUN([mfx_PROG_CPPFLAGS], [ -AC_MSG_CHECKING([whether the C preprocessor needs special flags]) - -AC_LANG_CONFTEST([AC_LANG_PROGRAM( -[[#include -#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) -# include "your C preprocessor is broken 1" -#elif (0xffffu == 0xfffffffful) -# include "your C preprocessor is broken 2" -#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX) -# include "your C preprocessor is broken 3" -#endif -]], [[ ]] -)]) - -mfx_save_CPPFLAGS=$CPPFLAGS -mfx_tmp=ERROR -for mfx_arg in "" -no-cpp-precomp -do - CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS" - _AC_COMPILE_IFELSE([], -[mfx_tmp=$mfx_arg -break]) -done -CPPFLAGS=$mfx_save_CPPFLAGS -rm -f conftest.$ac_ext conftest.$ac_objext -case x$mfx_tmp in - x) - AC_MSG_RESULT([none needed]) ;; - xERROR) - AC_MSG_RESULT([ERROR]) - AC_MSG_ERROR([your C preprocessor is broken - for details see config.log]) - ;; - *) - AC_MSG_RESULT([$mfx_tmp]) - CPPFLAGS="$mfx_tmp $CPPFLAGS" - ;; -esac -])# mfx_PROG_CPPFLAGS - - - -# serial 3 - -AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [ -AC_CACHE_CHECK([whether limits.h is sane], -mfx_cv_header_sane_limits_h, -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include -#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) -# if defined(__APPLE__) && defined(__GNUC__) -# error "your preprocessor is broken - use compiler option -no-cpp-precomp" -# else -# include "your preprocessor is broken" -# endif -#endif -#define MFX_0xffff 0xffff -#define MFX_0xffffffffL 4294967295ul -#if !defined(CHAR_BIT) || (CHAR_BIT != 8) -# include "error CHAR_BIT" -#endif -#if !defined(UCHAR_MAX) -# include "error UCHAR_MAX 1" -#endif -#if !defined(USHRT_MAX) -# include "error USHRT_MAX 1" -#endif -#if !defined(UINT_MAX) -# include "error UINT_MAX 1" -#endif -#if !defined(ULONG_MAX) -# include "error ULONG_MAX 1" -#endif -#if !defined(SHRT_MAX) -# include "error SHRT_MAX 1" -#endif -#if !defined(INT_MAX) -# include "error INT_MAX 1" -#endif -#if !defined(LONG_MAX) -# include "error LONG_MAX 1" -#endif -#if (UCHAR_MAX < 1) -# include "error UCHAR_MAX 2" -#endif -#if (USHRT_MAX < 1) -# include "error USHRT_MAX 2" -#endif -#if (UINT_MAX < 1) -# include "error UINT_MAX 2" -#endif -#if (ULONG_MAX < 1) -# include "error ULONG_MAX 2" -#endif -#if (UCHAR_MAX < 0xff) -# include "error UCHAR_MAX 3" -#endif -#if (USHRT_MAX < MFX_0xffff) -# include "error USHRT_MAX 3" -#endif -#if (UINT_MAX < MFX_0xffff) -# include "error UINT_MAX 3" -#endif -#if (ULONG_MAX < MFX_0xffffffffL) -# include "error ULONG_MAX 3" -#endif -#if (USHRT_MAX > UINT_MAX) -# include "error USHRT_MAX vs UINT_MAX" -#endif -#if (UINT_MAX > ULONG_MAX) -# include "error UINT_MAX vs ULONG_MAX" -#endif -]], [[ -#if (USHRT_MAX == MFX_0xffff) -{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; } -#elif (USHRT_MAX >= MFX_0xffff) -{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; } -#endif -#if (UINT_MAX == MFX_0xffff) -{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; } -#elif (UINT_MAX >= MFX_0xffff) -{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; } -#endif -#if (ULONG_MAX == MFX_0xffff) -{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; } -#elif (ULONG_MAX >= MFX_0xffff) -{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; } -#endif -#if (USHRT_MAX == MFX_0xffffffffL) -{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; } -#elif (USHRT_MAX >= MFX_0xffffffffL) -{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; } -#endif -#if (UINT_MAX == MFX_0xffffffffL) -{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; } -#elif (UINT_MAX >= MFX_0xffffffffL) -{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; } -#endif -#if (ULONG_MAX == MFX_0xffffffffL) -{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; } -#elif (ULONG_MAX >= MFX_0xffffffffL) -{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; } -#endif -]])], -[mfx_cv_header_sane_limits_h=yes], -[mfx_cv_header_sane_limits_h=no])]) -]) - -# /*********************************************************************** -# // standard -# ************************************************************************/ - -AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [ -AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) -])# - - -# /*********************************************************************** -# // -# ************************************************************************/ - -dnl more types which are not yet covered by ACC - -AC_DEFUN([mfx_CHECK_SIZEOF], [ -AC_CHECK_SIZEOF(__int32) -AC_CHECK_SIZEOF(intmax_t) -AC_CHECK_SIZEOF(uintmax_t) -AC_CHECK_SIZEOF(intptr_t) -AC_CHECK_SIZEOF(uintptr_t) - -AC_CHECK_SIZEOF(float) -AC_CHECK_SIZEOF(double) -AC_CHECK_SIZEOF(long double) - -AC_CHECK_SIZEOF(dev_t) -AC_CHECK_SIZEOF(fpos_t) -AC_CHECK_SIZEOF(mode_t) -AC_CHECK_SIZEOF(off_t) -AC_CHECK_SIZEOF(ssize_t) -AC_CHECK_SIZEOF(time_t) -])# - - - -AC_DEFUN([mfx_CHECK_LIB_WINMM], [ -if test "X$GCC" = Xyes; then -case $host_os in -cygwin* | mingw* | pw32*) - test "X$LIBS" != "X" && LIBS="$LIBS " - LIBS="${LIBS}-lwinmm" ;; -*) - ;; -esac -fi -])# - -#serial 6 - -dnl From Paul Eggert. - -# Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim, -# if it exists. - -AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC], - [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim], - ac_cv_struct_st_mtim_nsec, - [ac_save_CPPFLAGS="$CPPFLAGS" - ac_cv_struct_st_mtim_nsec=no - # tv_nsec -- the usual case - # _tv_nsec -- Solaris 2.6, if - # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1 - # && !defined __EXTENSIONS__) - # st__tim.tv_nsec -- UnixWare 2.1.2 - for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do - CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val" - AC_TRY_COMPILE([#include -#include ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;], - [ac_cv_struct_st_mtim_nsec=$ac_val; break]) - done - CPPFLAGS="$ac_save_CPPFLAGS"]) - - if test $ac_cv_struct_st_mtim_nsec != no; then - AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, - [Define to be the nanoseconds member of struct stat's st_mtim, - if it exists.]) - fi - ] -) diff --git a/poky/meta/recipes-support/lzop/lzop_1.04.bb b/poky/meta/recipes-support/lzop/lzop_1.04.bb deleted file mode 100644 index d9b3524b67..0000000000 --- a/poky/meta/recipes-support/lzop/lzop_1.04.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Real-time file compressor" -DESCRIPTION = "lzop is a compression utility which is designed to be a companion to gzip. \n\ -It is based on the LZO data compression library and its main advantages over \n\ -gzip are much higher compression and decompression speed at the cost of some \n\ -compression ratio. The lzop compression utility was designed with the goals \n\ -of reliability, speed, portability and with reasonable drop-in compatibility \n\ -to gzip." -HOMEPAGE = "http://www.lzop.org/" -DEPENDS += "lzo" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/lzop.c;beginline=5;endline=21;md5=23d767de7754eb24b9e900b025cf7fc8" - -SRC_URI = "http://www.lzop.org/download/${BP}.tar.gz \ - file://acinclude.m4 \ - " -SRC_URI[md5sum] = "271eb10fde77a0a96b9cbf745e719ddf" -SRC_URI[sha256sum] = "7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41" - -inherit autotools - -do_configure:prepend () { - install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4 -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.3.bb b/poky/meta/recipes-support/nettle/nettle_3.7.3.bb deleted file mode 100644 index 889dc74667..0000000000 --- a/poky/meta/recipes-support/nettle/nettle_3.7.3.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "A low level cryptographic library" -DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." -HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" -DESCRIPTION = "It tries to solve a problem of providing a common set of \ -cryptographic algorithms for higher-level applications by implementing a \ -context-independent set of cryptographic algorithms" -SECTION = "libs" -LICENSE = "LGPL-3.0-or-later | GPL-2.0-or-later" - -LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ - file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" - -DEPENDS += "gmp" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://Add-target-to-only-build-tests-not-run-them.patch \ - file://run-ptest \ - file://check-header-files-of-openssl-only-if-enable_.patch \ - " - -SRC_URI:append:class-target = "\ - file://dlopen-test.patch \ - " - -SRC_URI[sha256sum] = "661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0" - -UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" - -inherit autotools ptest multilib_header - -EXTRA_AUTORECONF += "--exclude=aclocal" - -EXTRA_OECONF = "--disable-openssl" - -do_compile_ptest() { - oe_runmake buildtest -} - -do_install:append() { - oe_multilib_header nettle/version.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ - # tools can be found in PATH, not in ../tools/ - sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test - install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ -} - -RDEPENDS:${PN}-ptest += "${PN}-dev" -INSANE_SKIP:${PN}-ptest += "dev-deps" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nettle/nettle_3.8.bb b/poky/meta/recipes-support/nettle/nettle_3.8.bb new file mode 100644 index 0000000000..0d6562dbce --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle_3.8.bb @@ -0,0 +1,57 @@ +SUMMARY = "A low level cryptographic library" +DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." +HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" +DESCRIPTION = "It tries to solve a problem of providing a common set of \ +cryptographic algorithms for higher-level applications by implementing a \ +context-independent set of cryptographic algorithms" +SECTION = "libs" +LICENSE = "LGPL-3.0-or-later | GPL-2.0-or-later" + +LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ + file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" + +DEPENDS += "gmp" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://Add-target-to-only-build-tests-not-run-them.patch \ + file://run-ptest \ + file://check-header-files-of-openssl-only-if-enable_.patch \ + " + +SRC_URI:append:class-target = "\ + file://dlopen-test.patch \ + " + +SRC_URI[sha256sum] = "7576c68481c198f644b08c160d1a4850ba9449e308069455b5213319f234e8e6" + +UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" + +inherit autotools ptest multilib_header + +EXTRA_AUTORECONF += "--exclude=aclocal" + +EXTRA_OECONF = "--disable-openssl" + +do_compile_ptest() { + oe_runmake buildtest +} + +do_install:append() { + oe_multilib_header nettle/version.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + # tools can be found in PATH, not in ../tools/ + sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test + install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ +} + +RDEPENDS:${PN}-ptest += "${PN}-dev" +INSANE_SKIP:${PN}-ptest += "dev-deps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc index c5922b7fcd..b22e8016ab 100644 --- a/poky/meta/recipes-support/vim/vim.inc +++ b/poky/meta/recipes-support/vim/vim.inc @@ -21,8 +21,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://racefix.patch \ " -PV .= ".4912" -SRCREV = "a7583c42cd6b64fd276a5d7bb0db5ce7bfafa730" +PV .= ".5034" +SRCREV = "5a6ec10cc80ab02eeff644ab19b82312630ea855" # Remove when 8.3 is out UPSTREAM_VERSION_UNKNOWN = "1" diff --git a/poky/meta/recipes-support/vim/vim_8.2.bb b/poky/meta/recipes-support/vim/vim_8.2.bb index f358e61132..fee9f055e9 100644 --- a/poky/meta/recipes-support/vim/vim_8.2.bb +++ b/poky/meta/recipes-support/vim/vim_8.2.bb @@ -2,14 +2,18 @@ require vim.inc PROVIDES = "xxd" -RDEPENDS:${PN} = "ncurses-terminfo-base" +RDEPENDS:${PN} = "ncurses-terminfo-base ${PN}-xxd" # Recommend that runtime data is installed along with vim RRECOMMENDS:${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" PACKAGECONFIG:class-native = "" BBCLASSEXTEND = "native nativesdk" -ALTERNATIVE:${PN}:append = " xxd" +PACKAGES =+ "${PN}-xxd" +FILES:${PN}-xxd = "${bindir}/xxd" +RPROVIDES:${PN}-xxd = "xxd" + +ALTERNATIVE:${PN}-xxd = "xxd" ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb index b3b9702598..222ba7b77c 100644 --- a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb +++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb @@ -14,6 +14,8 @@ SRCREV = "35b0373c697b5f160d3db26b1cbb45a0d5ba788c" S = "${WORKDIR}/git" +CFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" + do_compile () { oe_runmake all } diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py index 01fb5ad96f..4b50e3c63b 100644 --- a/poky/scripts/lib/devtool/standard.py +++ b/poky/scripts/lib/devtool/standard.py @@ -353,7 +353,7 @@ def _move_file(src, dst, dry_run_outdir=None, base_outdir=None): bb.utils.mkdirhier(dst_d) shutil.move(src, dst) -def _copy_file(src, dst, dry_run_outdir=None): +def _copy_file(src, dst, dry_run_outdir=None, base_outdir=None): """Copy a file. Creates all the directory components of destination path.""" dry_run_suffix = ' (dry-run)' if dry_run_outdir else '' logger.debug('Copying %s to %s%s' % (src, dst, dry_run_suffix)) diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py index da483daed5..c44159b235 100644 --- a/poky/scripts/lib/wic/plugins/imager/direct.py +++ b/poky/scripts/lib/wic/plugins/imager/direct.py @@ -117,7 +117,7 @@ class DirectPlugin(ImagerPlugin): updated = False for part in self.parts: if not part.realnum or not part.mountpoint \ - or part.mountpoint == "/" or not part.mountpoint.startswith('/'): + or not part.mountpoint.startswith('/'): continue if part.use_uuid: diff --git a/poky/scripts/oe-depends-dot b/poky/scripts/oe-depends-dot index 5eb3e12769..1c2d51c6ec 100755 --- a/poky/scripts/oe-depends-dot +++ b/poky/scripts/oe-depends-dot @@ -15,7 +15,7 @@ class Dot(object): def __init__(self): parser = argparse.ArgumentParser( description="Analyse recipe-depends.dot generated by bitbake -g", - epilog="Use %(prog)s --help to get help") + formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument("dotfile", help = "Specify the dotfile", nargs = 1, action='store', default='') parser.add_argument("-k", "--key", @@ -32,6 +32,21 @@ class Dot(object): " For example, A->B, B->C, A->C, then A->C can be removed.", action="store_true", default=False) + parser.epilog = """ +Examples: +First generate the .dot file: + bitbake -g core-image-minimal + +To find out why a package is being built: + %(prog)s -k -w ./task-depends.dot + +To find out what a package depends on: + %(prog)s -k -d ./task-depends.dot + +Reduce the .dot file packages only, no tasks: + %(prog)s -r ./task-depends.dot +""" + self.args = parser.parse_args() if len(sys.argv) != 3 and len(sys.argv) < 5: @@ -99,6 +114,10 @@ class Dot(object): if key == "meta-world-pkgdata": continue dep = m.group(2) + key = key.split('.')[0] + dep = dep.split('.')[0] + if key == dep: + continue if key in depends: if not key in depends[key]: depends[key].add(dep) -- cgit v1.2.3