From 213cb2696d00a85cd48d356cb5131824a302d828 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Sat, 7 Aug 2021 19:21:33 -0500 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-raspberrypi: 8dc3a31088..c7f4c739a3: Khem Raj (5): linux-raspberrypi: Upgrade to 5.10.52 userland: Update to latest master branch raspberrypi-firmware: Update to latest raspberrypi-tools: Update to latest sdcard_image-rpi.bbclass: Fix IMAGE_TYPEDEP override to use new syntax Martin Jansa (4): Convert to new override syntax Manually fix conversion layer.conf: Update to honister userland: package man pages in PN-doc Pierre-Jean Texier (2): kas: local.conf: bump CONF_VERSION variable kas: local.conf: disable prelink poky: 17aabc0127..492205ea83: Alexander Kanavin (17): llvm: update 12.0.0 -> 12.0.1 systemd: update 248.3 -> 249.1 python3-testools: update 2.4.0 -> 2.5.0 libuv: update 1.41.0 -> 1.42.0 gnu-config: update to latest revision vulkan-samples: update to latest revision cmake: update 3.20.5 -> 3.21.0 cmake: update 3.21.0 -> 3.21.1 mtools: update 4.0.32 -> 4.0.34 util-linux: update 2.37 -> 2.37.1 iputils: update 20210202 -> 20210722 freetype: update 2.10.4 -> 2.11.0 devtool: print a warning on upgrades if PREFERRED_VERSION is set rpm: do not RRECOMMEND rpm-build selftest: add core-image-weston to no-gpl3-no-meta-gpl2 image test shadow: update 4.8.1 -> 4.9 local.conf.sample: disable prelink Bernhard Rosenkränzer (1): gcc: update 11.1 -> 11.2 Bruce Ashfield (6): linux-yocto/5.10: update to v5.10.53 linux-yocto/5.13: update to v5.13.5 linux-yocto/5.4: update to v5.4.135 linux-yocto-rt/5.10: update to -rt47 linux-yocto/5.13: enable TYPEC_TCPCI in usbc fragment linux-yocto/5.10: enable TYPEC_TCPCI in usbc fragment Changqing Li (1): archiver.bbclass: fix do_ar_configured failure for kernel Chen Qi (3): zstd: fix CVE_PRODUCT insane.bbclass: fix the file-rdeps QA message for the new override syntax iputils: fix do_configure failure of missing ip command Damian Wrobel (1): rootfs: remove ldconfig auxiliary cache where appropriate Denys Dmytriyenko (4): meta: convert nested overrides leftovers to new syntax convert-overrides.py: handle few more cases of overrides libwpe: remove rpi-specific custom code poky-tiny: drop uclibc override Jon Mason (1): parselogs.py: qemuarm should be qemuarmv5 Joshua Watt (4): mesa: Fix v3d & vc4 dmabuf import bitbake: bitbake: asyncrpc: Catch early SIGTERM libxft: Fix bad PKG value bitbake: contrib: vim: Update for new override syntax Kai Kang (2): u-boot_2021.07: set UBOOT_MACHINE for qemumips and qemumips64 python3-pytest: display correct version info Kevin Hao (2): meta-yocto-bsp: Introduce the v5.13 bbappend meta-yocto-bsp: Bump to the v5.10.55 Khem Raj (10): binutils: Upgrade to 2.37 branch texinfo: Update gnulib to fix build with glibc 2.34 systemd: Fix build on musl stress-ng: Drop defining daddr_t stress-ng: Detemine minimal stack size via sysconf mesa: Define a fallback for DRIDRIVERS libssh2: Fix syntax for using ptest override toaster-managed-mode.json: Correctly specify term with new override syntax distrooverrides.bbclass: Correct override syntax devtool.py: Correct override syntax Lee Chee Yang (1): aspell: fix CVE-2019-25051 Marek Vasut (2): image_types: Restore pre-btrfs-tools 4.14.1 mkfs.btrfs shrink behavior kernel-uboot: Handle gzip and lzo compression options Martin Jansa (6): convert-overrides.py: show processed file and version of this script convert-overrides.py: remove base_dep_prepend and autotools_dep_prepend exception convert-overrides.py: 0.9.1 include '(' as delimiter for shortvars convert-overrides.py: allow specifying multiple target dirs convert-overrides.py: allow dots before override in vars_re and shortvars_re systemd-boot: use ld.bfd as efi-ld even when gold or lld is used in ${LD} Matthias Klein (2): runqemu: Fix typo in error message runqemu: decouple bios and kernel options Matthias Schiffer (3): initscripts: populate-volatile.sh: do not log to tty0 initscripts: populate-volatile.sh: run create_file synchronously initscripts: fix creation order for /var/log with VOLATILE_LOG_DIR=true Michael Halstead (1): releases: update to include 3.3.1 Michael Opdenacker (18): oe-setup-builddir: update YP docs and OE URLs conf-notes.txt: now suggesting to run 'runqemu qemux86-64' test-manual: document LTO related reproducibility bug quick start manual: update "source oe-init-build-env" output dev-manual: fix wrong reference to class documentation/README: improve BitBake manual referencing guidelines manuals: simplify references to BitBake manual manuals: remove explicit BitBake variable references meta-skeleton: add recipe examples from documentation sources bitbake: doc: bitbake-user-manual: fix syntax in example and improve description bitbake: doc: bitbake-user-manual: update bitbake option help bitbake: doc: bitbake-user-manual: grammar fix for the number of "metadata" manuals: initial documentation for CVE management ref-manual: remove example recipe source files profile-manual: document how to build perf manpages on target cve-check: fix comments cve-check: update link to NVD website for CVE details cve-check: improve comment about CVE patch file names Mingli Yu (2): perlcross: not break build if already patched curl: Upgrade to 7.78.0 Nicolas Dechesne (4): yocto-check-layer: improve missed dependencies checklayer: new function get_layer_dependencies() checklayer: rename _find_layer_depends yocto-check-layer: ensure that all layer dependencies are tested too Oleksandr Kravchuk (1): bitbake.conf: change GNOME_MIRROR to new one Patrick Williams (1): pixman: re-disable iwmmxt Paul Barker (4): bitbake: asyncrpc: Fix bad message error in client bitbake: asyncrpc: Set timeout when waiting for reply from server bitbake: parse/ast: Substitute '~' when naming anonymous functions kernel-yocto: Simplify no git repo case in do_kernel_checkout Quentin Schulz (4): bitbake: doc: Makefile: turn warnings into errors by default bitbake: doc: bitbake-user-manual: ref-variables: order alphabetically the glossary sources bitbake: doc: bitbake-user-manual: ref-variables: force glossary output to be alphabetically sorted bitbake: doc: bitbake-user-manual: replace ``FOO`` by :term:`FOO` where possible Richard Purdie (49): Add MAINTAINERS.md file yocto-check-layer: Remove duplicated code libubootenv: Drop default-env RRECOMMENDS bitbake: data_smart: Allow colon in variable expansion regex meta-poky/meta-yocto-bsp: Convert to new override syntax layer.conf: Update to honister autotools/base/icecc: Remove prepend from function names scripts/contrib: Add override conversion script systemtap: Fix headers issue with x86 and 5.13 headers migration-guides: Add start of 3.4 guide with override migration notes common-tasks: Fix conversion error in npm example bitbake: bitbake: Switch to using new override syntax bitbake: doc/lib: Update to use new override syntax containing colons bitbake: doc/lib: Add fixes for issues missed by the automated conversion bitbake: bitbake: Update to version 1.51.1 layer.conf: Override changes mean we're only compatible with honister Convert to new override syntax meta: Manual override fixes local.conf.sample: Bump version so users update their config sanity.conf: Require bitbake 1.51.1 dropbear: Fix incorrect package override for postrm convert-overrides: Allow script to handle patch/diffs sdk: Decouple default install path from built in path sstate: Fix rebuilds when changing layer config populate_sdk_ext: Fix handling of TOOLCHAIN_HOST_TASK in the eSDK case local.conf.sample: Bump version so users update their config poky: Use SDKPATHINSTALL instead of SDKPATH vim: Clarify where RDEPENDS/RRECOMMENDS apply bitbake: data_smart: Fix inactive overide accidental variable value corruption local.conf.sample: Fix missed override conversion license: Exclude COPYING.MIT from pseudo meta: Convert IMAGE_TYPEDEP to use override syntax uboot-extlinux-config: Fix missing override conversion image/image_types: Convert CONVERSION_CMD/COMPRESS_CMD to new override syntax image: Drop COMPRESS_CMD devupstream: Allow support of native class extensions diffoscope: Upgrade 178 -> 179 strace: Upgrade 5.12 -> 5.13 valgrind: Add patches for glibc 2.34 support bitbake: runqueue: Improve multiconfig deferred task issues elfutils: Add patch from upstream for glibc 2.34 ptest fixes bitbake: doc: Fix append/prepend/remove references bitbake: fetch/tests/toaster: Override conversion fixups bitbake: process: Improve traceback error reporting from main loop bitbake: command: Ensure we catch/handle exceptions bitbake: ui/taskexp: Improve startup exception handling bitbake: ui/taskexp: Fix to work with empty build directories oeqa/runtime/cases/ptest: Increase test timeout from 300s to 450s packagedata: Fix after override syntax change Ross Burton (2): glew: fix Makefile race libx11: fix xkb compilation with _EVDEVK symbols Saul Wold (1): MAINTAINERS: Saul will cover devtool and eSDK Stefan Wiehler (1): dev-manual: fix source release example script Stefano Babic (1): mtd-utils: upgrade 2.1.2 -> 2.1.3 Tim Orling (2): python3-hypothesis: upgrade 6.14.3 -> 6.14.5 python3-importlib-metadata: upgrade 4.6.1 -> 4.6.3 Tony Battersby (2): lto.inc: disable LTO for grub gcc: Backport patch to make LTO builds more reproducible Tony Tascioglu (6): ffmpeg: fix-CVE-2020-20446 ffmpeg: fix CVE-2020-20453 ffmpeg: fix CVE-2020-22015 ffmpeg: fix CVE-2020-22021 ffmpeg: fix CVE-2020-22033 and CVE-2020-22019 ffmpeg: fix CVE-2021-33815 Trevor Woerner (1): ffmpeg: add libatomic for armv5 Ulrich Ölmann (2): initramfs-framework: fix whitespace issue initramfs-framework/setup-live: fix shebang Vinay Kumar (1): glibc: Fix CVE-2021-33574 Vivien Didelot (1): init-manager-systemd: define weak dev manager Zqiang (1): python3: use monotonic clock for condvar if possible hongxu (1): createrepo-c: fix createrepo-c failed in nativesdk leimaohui (1): archiver.bbclass: Fix patch error for recipes that inherit dos2unix. wangmy (3): bind: upgrade 9.16.18 -> 9.16.19 i2c-tools: upgrade 4.2 -> 4.3 diffoscope: upgrade 177 -> 178 zangrc (2): python3-dbus: upgrade 1.2.16 -> 1.2.18 python3-pip: upgrade 21.1.3 -> 21.2.1 meta-openembedded: 8fbcfb9f02..3cf2475ea0: Anastasios Kavoukis (1): pm-qa: fix paths for shell scripts Andreas Müller (3): mozjs/0001-Port-build-to-python3.patch: Fix typos in description jack: upgrade 1.19.18 -> 1.19.19 fluidsynth: upgrade 2.2.1 -> 2.2.2 Andrej Valek (1): thrift: upgrade to 0.14.2 Andrew Jeffery (2): python3-gmpy: Add native support python3-ecdsa: Add native support Armin Kuster (2): hiawatha: fix url. wireshark: update to 3.4.7 Ben Brown (1): android-tools: fix install of adb client when TOOLS is overridden Changqing Li (1): apache2: upgrade 2.4.46 -> 2.4.48 Devendra Tewari (1): Suppress eol in functionfs setup scripts (#147) Gianfranco (1): vboxguestdrivers: upgrade 6.1.22 -> 6.1.24 Joe Slater (2): php: move to version 7.4.21 gtksourceview4: work around dependency deficiency Johannes Obermüller (1): evtest: fix timestamps in output Kai Kang (2): python3-blivet: 3.1.4 -> 3.4.0 python3-blivetgui: 2.1.10 -> 2.2.1 Khem Raj (23): netperf: Update to latest netperf: Add systemd unit file packagegroup-meta-oe: Add lmdb packagegroup-meta-oe: Add mbw addcli: check for ns_get16 and ns_get32 fuse: Define closefrom if not available autofs: Fix build with glibc 2.34+ ntp: Do not use PTHREAD_STACK_MIN on glibc ntp: Fix make check mongodb: Upgrade to 4.4.7 vboxguestdrivers: Remove __divmoddi4 patch packagegroup-meta-oe: Add jemalloc apitrace: Exclude from builds with glibc 2.34+ libhugetlbfs: Disable build with glibc 2.34+ fvwm: Package extra files and man pages luajit: Fix override syntax lua: Drop uclibc patch packagegroup-meta-oe: Correct override name and fix syntax recipes: Fix override syntax emacs,libgpiod,cockpit: Fix override syntax in using FILES_${PN} fvwm: Fix build time paths in target perl/python scripts nis: Drop uclibc check in anon python function jemalloc: Fix build on musl Leon Anavi (3): python3-networkx: Upgrade 2.6.1 -> 2.6.2 python3-pysonos: Upgrade 0.0.53 -> 0.0.54 python3-zeroconf: Upgrade 0.33.1 -> 0.33.2 Li Wang (1): openlldp: fix segfault Maksym Sloyko (1): libusbgx: Configure the Devices Used Martin Jansa (5): Convert to new override syntax layer.conf: Update to honister mariadb: manually fix the conversion packagegroup-meta-oe: manually finish override syntax conversion klibc.bbclass, image_types_sparse.bbclass, packagegroup-meta-oe.bb: update the overrides syntax conversion Mingli Yu (4): mariadb: redefine log-error item jemalloc: add new recipe hdf5: improve reproducibility mariadb: Update SRC_URI Nicolas Dechesne (1): mbw: add new recipe Paulo Neves (1): htop: Add ncurses-terminfo-base to RDEPENDS Sakib Sajal (1): lmdb: add recipe Salman Ahmed (2): nginx: upgrade 1.18.0 -> 1.20.1 nginx: upgrade 1.19.6 -> 1.21.1 Tony Battersby (1): net-snmp: fix QA Issue after LDFLAGS change Yi Zhao (3): postfix: upgrade 3.6.1 -> 3.6.2 audit: upgrade 3.0.2 -> 3.0.3 audit: fix compile error for 2.8.5 Zang Ruochen (1): python3-robotframework: upgrade 4.0.3 -> 4.1 wangmy (17): evince: upgrade 40.2 -> 40.4 gnome-backgrounds: upgrade 3.36.0 -> 3.38.0 gnome-desktop3: upgrade 3.36.6 -> 3.38.8 cmark: upgrade 0.30.0 -> 0.30.1 ctags: upgrade 5.9.20210711.0 -> 5.9.20210718.0 libnet-dns-perl: upgrade 1.31 -> 1.32 libtalloc: upgrade 2.3.2 -> 2.3.3 nghttp2: upgrade 1.43.0 -> 1.44.0 bats: upgrade 1.3.0 -> 1.4.1 networkmanager: upgrade 1.32.2 -> 1.32.4 gensio: upgrade 2.2.7 -> 2.2.8 libmbim: upgrade 1.24.8 -> 1.26.0 fetchmail: upgrade 6.4.19 -> 6.4.20 ctags: upgrade 5.9.20210718.0 -> 5.9.20210801.0 libblockdev: upgrade 2.25 -> 2.26 libqmi: upgrade 1.28.6 -> 1.28.8 monit: upgrade 5.28.0 -> 5.28.1 zangrc (15): python3-qrcode: upgrade 7.1 -> 7.2 python3-rdflib: upgrade 5.0.0 -> 6.0.0 python3-simplejson: upgrade 3.17.2 -> 3.17.3 python3-bitstring: upgrade 3.1.7 -> 3.1.9 python3-iso8601: upgrade 0.1.14 -> 0.1.16 python3-gmqtt: upgrade 0.6.9 -> 0.6.10 python3-graphviz: upgrade 0.16 -> 0.17 python3-smbus: upgrade 4.2 -> 4.3 python3-pandas: upgrade 1.3.0 -> 1.3.1 python3-progress: upgrade 1.5 -> 1.6 python3-sentry-sdk: upgrade 1.3.0 -> 1.3.1 python3-socketio: upgrade 5.3.0 -> 5.4.0 python3-tqdm: upgrade 4.61.2 -> 4.62.0 python3-twisted: upgrade 21.2.0 -> 21.7.0 python3-xlsxwriter: upgrade 1.4.4 -> 1.4.5 zhengruoqin (15): live555: upgrade 20210710 -> 20210720 libtest-warnings-perl: upgrade 0.030 -> 0.031 python3-pybind11: upgrade 2.6.2 -> 2.7.0 python3-pymongo: upgrade 3.11.4 -> 3.12.0 python3-sqlalchemy: upgrade 1.4.20 -> 1.4.22 python3-sentry-sdk: upgrade 1.2.0 -> 1.3.0 libcurses-perl: upgrade 1.37 -> 1.38 libdbd-sqlite-perl: upgrade 1.66 -> 1.68 libencode-perl: upgrade 3.10 -> 3.11 python3-bitarray: upgrade 2.2.2 -> 2.2.3 python3-cbor2: upgrade 5.4.0 -> 5.4.1 python3-gast: upgrade 0.5.0 -> 0.5.1 poppler: upgrade 21.07.0 -> 21.08.0 valijson: upgrade 0.4 -> 0.5 xwd: upgrade 1.0.7 -> 1.0.8 meta-security: 152cdb506b..c885d399cd: Armin Kuster (18): suricata.inc: exclude ppc in rust version suricata: Drop 4.1.x its EOL add meta-rust crowdsec: add pkg packagegroup-core-security.bb: fix suricat-ptest inclusion gitlab-ci.yml: streamline builds matrix krill: Add new pkg clamav: fix branch name and update meta-security: Convert to new override syntax meta-tpm: Convert to new override syntax meta-integrity: Convert to new override syntax meta-hardening: Convert to new override syntax meta-security-isafw: Convert to new override syntax meta-parsec: Convert to new override syntax meta-security-compliance: Convert to new override syntax dynamix-layers: Convert to new override syntax kas: Convert to new override syntax packagegroup-core-security.bb: only include suricat-ptest if rust is included Martin Jansa (1): layer.conf: Update to honister Signed-off-by: Patrick Williams Change-Id: Iec7301cf1c43b7cec462dcf88292a8b1b12a5045 --- .../cryptodev/cryptodev-linux_1.12.bb | 2 +- .../cryptodev/cryptodev-module_1.12.bb | 4 +- .../cryptodev/cryptodev-tests_1.12.bb | 2 +- poky/meta/recipes-kernel/dtc/dtc.inc | 4 +- .../recipes-kernel/kexec/kexec-tools_2.0.22.bb | 24 +- poky/meta/recipes-kernel/kmod/kmod-native_git.bb | 2 +- poky/meta/recipes-kernel/kmod/kmod.inc | 2 +- poky/meta/recipes-kernel/kmod/kmod_git.bb | 18 +- .../linux-firmware/linux-firmware_20210511.bb | 874 ++++++++++----------- .../linux-libc-headers/linux-libc-headers.inc | 10 +- .../linux-libc-headers/linux-libc-headers_5.13.bb | 4 +- poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 16 +- poky/meta/recipes-kernel/linux/linux-dummy.bb | 12 +- poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 16 +- .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 20 +- .../recipes-kernel/linux/linux-yocto-rt_5.13.bb | 20 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 20 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 12 +- .../recipes-kernel/linux/linux-yocto-tiny_5.13.bb | 12 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 12 +- poky/meta/recipes-kernel/linux/linux-yocto.inc | 28 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 62 +- poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb | 68 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 58 +- .../meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb | 6 +- poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb | 2 +- .../recipes-kernel/lttng/lttng-modules_2.12.6.bb | 16 +- poky/meta/recipes-kernel/lttng/lttng-platforms.inc | 12 +- .../recipes-kernel/lttng/lttng-tools_2.12.4.bb | 30 +- poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb | 16 +- .../make-mod-scripts/make-mod-scripts_1.0.bb | 2 +- .../modutils-initscripts/modutils-initscripts.bb | 4 +- poky/meta/recipes-kernel/perf/perf.bb | 40 +- poky/meta/recipes-kernel/powertop/powertop_2.14.bb | 4 +- .../systemtap/systemtap-uprobes_git.bb | 4 +- .../ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch | 26 + .../meta/recipes-kernel/systemtap/systemtap_git.bb | 26 +- .../recipes-kernel/systemtap/systemtap_git.inc | 3 +- .../wireless-regdb/wireless-regdb_2021.04.21.bb | 8 +- 39 files changed, 764 insertions(+), 737 deletions(-) create mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch (limited to 'poky/meta/recipes-kernel') diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb index c55577c66..d5ea9d852 100644 --- a/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb +++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb @@ -9,5 +9,5 @@ do_install() { install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h } -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb index b3b554c7d..5192cf03e 100644 --- a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb +++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb @@ -12,5 +12,5 @@ SRC_URI += "file://0001-Disable-installing-header-file-provided-by-another-p.pat EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' -RCONFLICTS_${PN} = "ocf-linux" -RREPLACES_${PN} = "ocf-linux" +RCONFLICTS:${PN} = "ocf-linux" +RREPLACES:${PN} = "ocf-linux" diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb index 9cb5dcb94..c1adbb624 100644 --- a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb +++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb @@ -18,4 +18,4 @@ do_install() { oe_runmake install_tests } -FILES_${PN} = "${bindir}/*" +FILES:${PN} = "${bindir}/*" diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc index 5da6c24fb..12508b235 100644 --- a/poky/meta/recipes-kernel/dtc/dtc.inc +++ b/poky/meta/recipes-kernel/dtc/dtc.inc @@ -23,6 +23,6 @@ do_install () { } PACKAGES =+ "${PN}-misc" -FILES_${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff" +FILES:${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff" -RDEPENDS_${PN}-misc += "bash diffutils" +RDEPENDS:${PN}-misc += "bash diffutils" diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb index dcc440211..d12ad4e6f 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb +++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb @@ -29,7 +29,7 @@ inherit autotools update-rc.d systemd export LDFLAGS = "-L${STAGING_LIBDIR}" EXTRA_OECONF = " --with-zlib=yes" -do_compile_prepend() { +do_compile:prepend() { # Remove the prepackaged config.h from the source tree as it overrides # the same file generated by configure and placed in the build tree rm -f ${S}/include/config.h @@ -44,7 +44,7 @@ do_compile_prepend() { done } -do_install_append () { +do_install:append () { install -d ${D}${sysconfdir}/sysconfig install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig @@ -61,28 +61,28 @@ do_install_append () { PACKAGES =+ "kexec kdump vmcore-dmesg" -ALLOW_EMPTY_${PN} = "1" -RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN} = "kexec kdump vmcore-dmesg" -FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump \ +FILES:kexec = "${sbindir}/kexec" +FILES:kdump = "${sbindir}/kdump \ ${sysconfdir}/sysconfig/kdump.conf \ ${sysconfdir}/init.d/kdump \ ${libexecdir}/kdump-helper \ ${systemd_unitdir}/system/kdump.service \ " -FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" +FILES:vmcore-dmesg = "${sbindir}/vmcore-dmesg" INITSCRIPT_PACKAGES = "kdump" -INITSCRIPT_NAME_kdump = "kdump" -INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." +INITSCRIPT_NAME:kdump = "kdump" +INITSCRIPT_PARAMS:kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." SYSTEMD_PACKAGES = "kdump" -SYSTEMD_SERVICE_kdump = "kdump.service" +SYSTEMD_SERVICE:kdump = "kdump.service" -SECURITY_PIE_CFLAGS_remove = "-fPIE -pie" +SECURITY_PIE_CFLAGS:remove = "-fPIE -pie" COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)' -INSANE_SKIP_${PN} = "arch" +INSANE_SKIP:${PN} = "arch" diff --git a/poky/meta/recipes-kernel/kmod/kmod-native_git.bb b/poky/meta/recipes-kernel/kmod/kmod-native_git.bb index f61134bba..4dd34b1c8 100644 --- a/poky/meta/recipes-kernel/kmod/kmod-native_git.bb +++ b/poky/meta/recipes-kernel/kmod/kmod-native_git.bb @@ -7,7 +7,7 @@ DEPENDS += "zlib-native" inherit native -do_install_append (){ +do_install:append (){ for tool in depmod insmod lsmod modinfo modprobe rmmod do ln -s kmod ${D}${bindir}/$tool diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc index e66684fda..c2d550aca 100644 --- a/poky/meta/recipes-kernel/kmod/kmod.inc +++ b/poky/meta/recipes-kernel/kmod/kmod.inc @@ -6,7 +6,7 @@ DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel m insert, remove, list, check properties, resolve dependencies and aliases." HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/" LICENSE = "GPL-2.0+ & LGPL-2.1+" -LICENSE_libkmod = "LGPL-2.1+" +LICENSE:libkmod = "LGPL-2.1+" SECTION = "base" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ diff --git a/poky/meta/recipes-kernel/kmod/kmod_git.bb b/poky/meta/recipes-kernel/kmod/kmod_git.bb index 4f2b037f2..853561a61 100644 --- a/poky/meta/recipes-kernel/kmod/kmod_git.bb +++ b/poky/meta/recipes-kernel/kmod/kmod_git.bb @@ -5,17 +5,17 @@ require kmod.inc DEPENDS += "zlib" PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" -RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" -RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" -RREPLACES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" +RPROVIDES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" +RCONFLICTS:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" +RREPLACES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" # to force user to remove old module-init-tools and replace them with kmod variants -RCONFLICTS_libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" +RCONFLICTS:libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" # autotools set prefix to /usr, however we want them in /bin and /sbin EXTRA_OECONF += " --bindir=${base_bindir} --sbindir=${base_sbindir}" -do_install_append () { +do_install:append () { install -dm755 ${D}${base_bindir} install -dm755 ${D}${base_sbindir} # add symlinks to kmod @@ -33,7 +33,7 @@ do_install_append () { install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf" } -do_compile_prepend() { +do_compile:prepend() { sed -i 's/ac_pwd=/#ac_pwd=/' config.status ; sed -i "/#ac_pwd=/a\ac_pwd='.'" config.status } @@ -41,7 +41,7 @@ inherit update-alternatives bash-completion ALTERNATIVE_PRIORITY = "70" -ALTERNATIVE_kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod" +ALTERNATIVE:kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod" ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod" ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe" @@ -56,7 +56,7 @@ ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod" PACKAGES =+ "libkmod" -FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}" -FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d" +FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}" +FILES:${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb index 26091fba7..fe46cb519 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb @@ -312,19 +312,19 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ " # For atheros -LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware" -LICENSE_${PN}-ath6k = "Firmware-atheros_firmware" -LICENSE_${PN}-ath9k = "Firmware-atheros_firmware" -LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware" +LICENSE:${PN}-ar9170 = "Firmware-atheros_firmware" +LICENSE:${PN}-ath6k = "Firmware-atheros_firmware" +LICENSE:${PN}-ath9k = "Firmware-atheros_firmware" +LICENSE:${PN}-atheros-license = "Firmware-atheros_firmware" -FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware" -FILES_${PN}-ar9170 = " \ +FILES:${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware" +FILES:${PN}-ar9170 = " \ ${nonarch_base_libdir}/firmware/ar9170*.fw \ " -FILES_${PN}-ath6k = " \ +FILES:${PN}-ath6k = " \ ${nonarch_base_libdir}/firmware/ath6k \ " -FILES_${PN}-ath9k = " \ +FILES:${PN}-ath9k = " \ ${nonarch_base_libdir}/firmware/ar9271.fw \ ${nonarch_base_libdir}/firmware/ar7010*.fw \ ${nonarch_base_libdir}/firmware/htc_9271.fw \ @@ -333,166 +333,166 @@ FILES_${PN}-ath9k = " \ ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \ " -RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license" -RDEPENDS_${PN}-ath6k += "${PN}-atheros-license" -RDEPENDS_${PN}-ath9k += "${PN}-atheros-license" +RDEPENDS:${PN}-ar9170 += "${PN}-atheros-license" +RDEPENDS:${PN}-ath6k += "${PN}-atheros-license" +RDEPENDS:${PN}-ath9k += "${PN}-atheros-license" # For carl9170 -LICENSE_${PN}-carl9170 = "Firmware-GPLv2" -LICENSE_${PN}-gplv2-license = "Firmware-GPLv2" +LICENSE:${PN}-carl9170 = "Firmware-GPLv2" +LICENSE:${PN}-gplv2-license = "Firmware-GPLv2" -FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2" -FILES_${PN}-carl9170 = " \ +FILES:${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2" +FILES:${PN}-carl9170 = " \ ${nonarch_base_libdir}/firmware/carl9170*.fw \ " -RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license" +RDEPENDS:${PN}-carl9170 += "${PN}-gplv2-license" # For QualCommAthos -LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k" -LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k" -LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k" -LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k" -LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k" - -FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" -FILES_${PN}-ar3k = " \ +LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k" +LICENSE:${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k" +LICENSE:${PN}-ath10k = "Firmware-qualcommAthos_ath10k" +LICENSE:${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k" +LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k" + +FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" +FILES:${PN}-ar3k = " \ ${nonarch_base_libdir}/firmware/ar3k \ " -FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k" -FILES_${PN}-ath10k = " \ +FILES:${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k" +FILES:${PN}-ath10k = " \ ${nonarch_base_libdir}/firmware/ath10k \ " -FILES_${PN}-ath11k = " \ +FILES:${PN}-ath11k = " \ ${nonarch_base_libdir}/firmware/ath11k \ " -FILES_${PN}-qca = " \ +FILES:${PN}-qca = " \ ${nonarch_base_libdir}/firmware/qca \ " -RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license" -RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license" -RDEPENDS_${PN}-ath11k += "${PN}-ath10k-license" -RDEPENDS_${PN}-qca += "${PN}-ath10k-license" +RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license" +RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" +RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license" +RDEPENDS:${PN}-qca += "${PN}-ath10k-license" # For ralink -LICENSE_${PN}-ralink = "Firmware-ralink-firmware" -LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware" +LICENSE:${PN}-ralink = "Firmware-ralink-firmware" +LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware" -FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt" -FILES_${PN}-ralink = " \ +FILES:${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt" +FILES:${PN}-ralink = " \ ${nonarch_base_libdir}/firmware/rt*.bin \ " -RDEPENDS_${PN}-ralink += "${PN}-ralink-license" +RDEPENDS:${PN}-ralink += "${PN}-ralink-license" # For mediatek MT7601U -LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware" -LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware" +LICENSE:${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware" +LICENSE:${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware" -FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware" -FILES_${PN}-mt7601u = " \ +FILES:${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware" +FILES:${PN}-mt7601u = " \ ${nonarch_base_libdir}/firmware/mt7601u.bin \ " -RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license" +RDEPENDS:${PN}-mt7601u += "${PN}-mt7601u-license" # For radeon -LICENSE_${PN}-radeon = "Firmware-radeon" -LICENSE_${PN}-radeon-license = "Firmware-radeon" +LICENSE:${PN}-radeon = "Firmware-radeon" +LICENSE:${PN}-radeon-license = "Firmware-radeon" -FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon" -FILES_${PN}-radeon = " \ +FILES:${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon" +FILES:${PN}-radeon = " \ ${nonarch_base_libdir}/firmware/radeon \ " -RDEPENDS_${PN}-radeon += "${PN}-radeon-license" +RDEPENDS:${PN}-radeon += "${PN}-radeon-license" # For lontium -LICENSE_${PN}-lt9611uxc = "Firmware-Lontium" +LICENSE:${PN}-lt9611uxc = "Firmware-Lontium" -FILES_${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium" -FILES_${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin" +FILES:${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium" +FILES:${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin" # For marvell -LICENSE_${PN}-pcie8897 = "Firmware-Marvell" -LICENSE_${PN}-pcie8997 = "Firmware-Marvell" -LICENSE_${PN}-sd8686 = "Firmware-Marvell" -LICENSE_${PN}-sd8688 = "Firmware-Marvell" -LICENSE_${PN}-sd8787 = "Firmware-Marvell" -LICENSE_${PN}-sd8797 = "Firmware-Marvell" -LICENSE_${PN}-sd8801 = "Firmware-Marvell" -LICENSE_${PN}-sd8887 = "Firmware-Marvell" -LICENSE_${PN}-sd8897 = "Firmware-Marvell" -LICENSE_${PN}-sd8997 = "Firmware-Marvell" -LICENSE_${PN}-usb8997 = "Firmware-Marvell" -LICENSE_${PN}-marvell-license = "Firmware-Marvell" - -FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell" -FILES_${PN}-pcie8897 = " \ +LICENSE:${PN}-pcie8897 = "Firmware-Marvell" +LICENSE:${PN}-pcie8997 = "Firmware-Marvell" +LICENSE:${PN}-sd8686 = "Firmware-Marvell" +LICENSE:${PN}-sd8688 = "Firmware-Marvell" +LICENSE:${PN}-sd8787 = "Firmware-Marvell" +LICENSE:${PN}-sd8797 = "Firmware-Marvell" +LICENSE:${PN}-sd8801 = "Firmware-Marvell" +LICENSE:${PN}-sd8887 = "Firmware-Marvell" +LICENSE:${PN}-sd8897 = "Firmware-Marvell" +LICENSE:${PN}-sd8997 = "Firmware-Marvell" +LICENSE:${PN}-usb8997 = "Firmware-Marvell" +LICENSE:${PN}-marvell-license = "Firmware-Marvell" + +FILES:${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell" +FILES:${PN}-pcie8897 = " \ ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \ " -FILES_${PN}-pcie8997 = " \ +FILES:${PN}-pcie8997 = " \ ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \ ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \ ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \ " -FILES_${PN}-sd8686 = " \ +FILES:${PN}-sd8686 = " \ ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \ ${nonarch_base_libdir}/firmware/sd8686* \ " -FILES_${PN}-sd8688 = " \ +FILES:${PN}-sd8688 = " \ ${nonarch_base_libdir}/firmware/libertas/sd8688* \ ${nonarch_base_libdir}/firmware/mrvl/sd8688* \ " -FILES_${PN}-sd8787 = " \ +FILES:${PN}-sd8787 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \ " -FILES_${PN}-sd8797 = " \ +FILES:${PN}-sd8797 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \ " -FILES_${PN}-sd8801 = " \ +FILES:${PN}-sd8801 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \ " -FILES_${PN}-sd8887 = " \ +FILES:${PN}-sd8887 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \ " -FILES_${PN}-sd8897 = " \ +FILES:${PN}-sd8897 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \ " -do_install_append() { +do_install:append() { # The kernel 5.6.x driver still uses the old name, provide a symlink for # older kernels ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin } -FILES_${PN}-sd8997 = " \ +FILES:${PN}-sd8997 = " \ ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \ ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \ " -FILES_${PN}-usb8997 = " \ +FILES:${PN}-usb8997 = " \ ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \ " -RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8997 += "${PN}-marvell-license" -RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8686 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8688 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8787 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8797 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8801 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8887 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8897 += "${PN}-marvell-license" +RDEPENDS:${PN}-sd8997 += "${PN}-marvell-license" +RDEPENDS:${PN}-usb8997 += "${PN}-marvell-license" # For netronome -LICENSE_${PN}-netronome = "Firmware-netronome" +LICENSE:${PN}-netronome = "Firmware-netronome" -FILES_${PN}-netronome-license = " \ +FILES:${PN}-netronome-license = " \ ${nonarch_base_libdir}/firmware/LICENCE.Netronome \ " -FILES_${PN}-netronome = " \ +FILES:${PN}-netronome = " \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \ @@ -506,90 +506,90 @@ FILES_${PN}-netronome = " \ ${nonarch_base_libdir}/firmware/netronome/nic-sriov \ " -RDEPENDS_${PN}-netronome += "${PN}-netronome-license" +RDEPENDS:${PN}-netronome += "${PN}-netronome-license" # For Nvidia -LICENSE_${PN}-nvidia-gpu = "Firmware-nvidia" -LICENSE_${PN}-nvidia-tegra = "Firmware-nvidia" -LICENSE_${PN}-nvidia-tegra-k1 = "Firmware-nvidia" -LICENSE_${PN}-nvidia-license = "Firmware-nvidia" +LICENSE:${PN}-nvidia-gpu = "Firmware-nvidia" +LICENSE:${PN}-nvidia-tegra = "Firmware-nvidia" +LICENSE:${PN}-nvidia-tegra-k1 = "Firmware-nvidia" +LICENSE:${PN}-nvidia-license = "Firmware-nvidia" -FILES_${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia" -FILES_${PN}-nvidia-tegra = " \ +FILES:${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia" +FILES:${PN}-nvidia-tegra = " \ ${nonarch_base_libdir}/firmware/nvidia/tegra* \ ${nonarch_base_libdir}/firmware/nvidia/gm20b \ ${nonarch_base_libdir}/firmware/nvidia/gp10b \ " -FILES_${PN}-nvidia-tegra-k1 = " \ +FILES:${PN}-nvidia-tegra-k1 = " \ ${nonarch_base_libdir}/firmware/nvidia/tegra124 \ ${nonarch_base_libdir}/firmware/nvidia/gk20a \ " -FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia" +FILES:${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia" -RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license" -RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license" -RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" +RDEPENDS:${PN}-nvidia-gpu += "${PN}-nvidia-license" +RDEPENDS:${PN}-nvidia-tegra += "${PN}-nvidia-license" +RDEPENDS:${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" # For RSI RS911x WiFi -LICENSE_${PN}-rs9113 = "WHENCE" -LICENSE_${PN}-rs9116 = "WHENCE" +LICENSE:${PN}-rs9113 = "WHENCE" +LICENSE:${PN}-rs9116 = "WHENCE" -FILES_${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps " -FILES_${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps " +FILES:${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps " +FILES:${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps " -RDEPENDS_${PN}-rs9113 += "${PN}-whence-license" -RDEPENDS_${PN}-rs9116 += "${PN}-whence-license" +RDEPENDS:${PN}-rs9113 += "${PN}-whence-license" +RDEPENDS:${PN}-rs9116 += "${PN}-whence-license" # For rtl -LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8168 = "WHENCE" - -FILES_${PN}-rtl-license = " \ +LICENSE:${PN}-rtl8188 = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8192cu = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8192ce = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8192su = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8723 = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8821 = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl-license = "Firmware-rtlwifi_firmware" +LICENSE:${PN}-rtl8168 = "WHENCE" + +FILES:${PN}-rtl-license = " \ ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \ " -FILES_${PN}-rtl8188 = " \ +FILES:${PN}-rtl8188 = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \ " -FILES_${PN}-rtl8192cu = " \ +FILES:${PN}-rtl8192cu = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \ " -FILES_${PN}-rtl8192ce = " \ +FILES:${PN}-rtl8192ce = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \ " -FILES_${PN}-rtl8192su = " \ +FILES:${PN}-rtl8192su = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \ " -FILES_${PN}-rtl8723 = " \ +FILES:${PN}-rtl8723 = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \ " -FILES_${PN}-rtl8821 = " \ +FILES:${PN}-rtl8821 = " \ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \ " -FILES_${PN}-rtl8168 = " \ +FILES:${PN}-rtl8168 = " \ ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \ " -RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license" +RDEPENDS:${PN}-rtl8188 += "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8192ce += "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8192cu += "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8192su = "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8723 += "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8821 += "${PN}-rtl-license" +RDEPENDS:${PN}-rtl8168 += "${PN}-whence-license" # For ti-connectivity -LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity" -LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity" -LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity" -LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity" +LICENSE:${PN}-wlcommon = "Firmware-ti-connectivity" +LICENSE:${PN}-wl12xx = "Firmware-ti-connectivity" +LICENSE:${PN}-wl18xx = "Firmware-ti-connectivity" +LICENSE:${PN}-ti-connectivity-license = "Firmware-ti-connectivity" -FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity" +FILES:${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity" # wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to # wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c # and drivers/net/wireless/ti/wlcore/spi.c. @@ -597,389 +597,389 @@ FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.t # address on wl18xx, driver loading will delay (by udev timout - 60s) # if not there. So let's make it available always. Because it's a # symlink, both need to go to wlcommon. -FILES_${PN}-wlcommon = " \ +FILES:${PN}-wlcommon = " \ ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \ ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \ ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \ " -FILES_${PN}-wl12xx = " \ +FILES:${PN}-wl12xx = " \ ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \ " -FILES_${PN}-wl18xx = " \ +FILES:${PN}-wl18xx = " \ ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \ " -RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" -RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" +RDEPENDS:${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" +RDEPENDS:${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" # For vt6656 -LICENSE_${PN}-vt6656 = "Firmware-via_vt6656" -LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656" +LICENSE:${PN}-vt6656 = "Firmware-via_vt6656" +LICENSE:${PN}-vt6656-license = "Firmware-via_vt6656" -FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656" -FILES_${PN}-vt6656 = " \ +FILES:${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656" +FILES:${PN}-vt6656 = " \ ${nonarch_base_libdir}/firmware/vntwusb.fw \ " -RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license" +RDEPENDS:${PN}-vt6656 = "${PN}-vt6656-license" # For broadcom # for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u -LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" -FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" +LICENSE:${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" +FILES:${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" -# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES +# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES:\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES -FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw" -FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw" -FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin" -FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin" -FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin" -FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" -FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" -FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" -FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ +FILES:${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw" +FILES:${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw" +FILES:${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin" +FILES:${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin" +FILES:${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin" +FILES:${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" +FILES:${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" +FILES:${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" +FILES:${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \ " -FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin" -FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin" -FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin" -FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin" -FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ +FILES:${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin" +FILES:${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin" +FILES:${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin" +FILES:${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin" +FILES:${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \ " -FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" -FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ +FILES:${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" +FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \ " -FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" -FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" -FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \ +FILES:${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" +FILES:${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" +FILES:${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.* \ " -FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin" -FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \ +FILES:${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin" +FILES:${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \ " -FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin" -FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \ +FILES:${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin" +FILES:${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \ " -FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin" -FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin" -FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin" +FILES:${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin" +FILES:${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin" +FILES:${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin" -# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done +# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE:\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done # Currently 1st one and last 6 have cypress LICENSE -LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43xx = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43xx += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43xx-hdr += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4329-fullmac += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43236b = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43236b += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4329 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4329 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4330 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4330 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4334 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4334 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4335 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4335 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4339 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4339 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43241b0 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43241b4 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43241b5 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43242a = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43242a += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43143 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43143 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43430a0 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43455 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4350c2 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4350 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4350 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4356 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4356 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43569 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43569 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43570 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43570 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4358 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4358 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm43602 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm43602 += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4366b = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4366b += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4366c = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4366c += "${PN}-broadcom-license" +LICENSE:${PN}-bcm4371 = "Firmware-broadcom_bcm43xx" +RDEPENDS:${PN}-bcm4371 += "${PN}-broadcom-license" # For broadcom cypress -LICENSE_${PN}-cypress-license = "Firmware-cypress" -FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" +LICENSE:${PN}-cypress-license = "Firmware-cypress" +FILES:${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" -FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" -FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \ +FILES:${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" +FILES:${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*" -FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \ +FILES:${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*" -FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \ +FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*" -FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ +FILES:${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \ " -FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \ +FILES:${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \ " -FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ +FILES:${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \ ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \ " -LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress" -RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43340 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43362 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43430 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license" -LICENSE_${PN}-bcm4354 = "Firmware-cypress" -RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license" -LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress" -RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license" -LICENSE_${PN}-bcm4373 = "Firmware-cypress" -RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license" +LICENSE:${PN}-bcm-0bb4-0306 = "Firmware-cypress" +RDEPENDS:${PN}-bcm-0bb4-0306 += "${PN}-cypress-license" +LICENSE:${PN}-bcm43340 = "Firmware-cypress" +RDEPENDS:${PN}-bcm43340 += "${PN}-cypress-license" +LICENSE:${PN}-bcm43362 = "Firmware-cypress" +RDEPENDS:${PN}-bcm43362 += "${PN}-cypress-license" +LICENSE:${PN}-bcm43430 = "Firmware-cypress" +RDEPENDS:${PN}-bcm43430 += "${PN}-cypress-license" +LICENSE:${PN}-bcm4354 = "Firmware-cypress" +RDEPENDS:${PN}-bcm4354 += "${PN}-cypress-license" +LICENSE:${PN}-bcm4356-pcie = "Firmware-cypress" +RDEPENDS:${PN}-bcm4356-pcie += "${PN}-cypress-license" +LICENSE:${PN}-bcm4373 = "Firmware-cypress" +RDEPENDS:${PN}-bcm4373 += "${PN}-cypress-license" # For Broadcom bnx2-mips # # which is a separate case to the other Broadcom firmwares since its # license is contained in the shared WHENCE file. -LICENSE_${PN}-bnx2-mips = "WHENCE" -LICENSE_${PN}-whence-license = "WHENCE" +LICENSE:${PN}-bnx2-mips = "WHENCE" +LICENSE:${PN}-whence-license = "WHENCE" -FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" -FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE" +FILES:${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" +FILES:${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE" -RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license" +RDEPENDS:${PN}-bnx2-mips += "${PN}-whence-license" # For imx-sdma -LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware" -LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware" -LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware" +LICENSE:${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware" +LICENSE:${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware" +LICENSE:${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware" -FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin" +FILES:${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin" -RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" -RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" -RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" +RPROVIDES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" +RREPLACES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" +RCONFLICTS:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" -FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin" +FILES:${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin" -FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware" +FILES:${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware" -RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license" -RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license" +RDEPENDS:${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license" +RDEPENDS:${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license" # For iwlwifi -LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" - - -FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" -FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode" -FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode" -FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode" -FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode" -FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode" -FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode" -FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode" -FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode" -FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode" -FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode" -FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode" -FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode" -FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode" -FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode" -FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode" -FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode" -FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode" -FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode" -FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode" -FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode" -FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode" -FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode" -FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode" - -RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license" +LICENSE:${PN}-iwlwifi = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" +LICENSE:${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" + + +FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" +FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode" +FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode" +FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode" +FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode" +FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode" +FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode" +FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode" +FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode" +FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode" +FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode" +FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode" +FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode" +FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode" +FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode" +FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode" +FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode" +FILES:${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode" +FILES:${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode" +FILES:${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode" +FILES:${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode" +FILES:${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode" +FILES:${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode" +FILES:${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode" + +RDEPENDS:${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license" +RDEPENDS:${PN}-iwlwifi-misc = "${PN}-iwlwifi-license" # -iwlwifi-misc is a "catch all" package that includes all the iwlwifi # firmwares that are not already included in other -iwlwifi- packages. # -iwlwifi is a virtual package that depends upon all iwlwifi packages. # These are distinct in order to allow the -misc firmwares to be installed # without pulling in every other iwlwifi package. -ALLOW_EMPTY_${PN}-iwlwifi = "1" -ALLOW_EMPTY_${PN}-iwlwifi-misc = "1" +ALLOW_EMPTY:${PN}-iwlwifi = "1" +ALLOW_EMPTY:${PN}-iwlwifi-misc = "1" # Handle package updating for the newly merged iwlwifi groupings -RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" -RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" -RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" +RPROVIDES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" +RREPLACES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" +RCONFLICTS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" -RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" -RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" -RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" +RPROVIDES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" +RREPLACES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" +RCONFLICTS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" # For ibt -LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-20 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware" - -FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware" -FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq" -FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq" -FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" -FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" -FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" -FILES_${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" -FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" - -RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-20 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license" - -ALLOW_EMPTY_${PN}-ibt= "1" -ALLOW_EMPTY_${PN}-ibt-misc = "1" - -LICENSE_${PN}-i915 = "Firmware-i915" -LICENSE_${PN}-i915-license = "Firmware-i915" -FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915" -FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915" -RDEPENDS_${PN}-i915 = "${PN}-i915-license" - -LICENSE_${PN}-ice = "Firmware-ice" -LICENSE_${PN}-ice-license = "Firmware-ice" -FILES_${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice" -FILES_${PN}-ice = "${nonarch_base_libdir}/firmware/intel/ice" -RDEPENDS_${PN}-ice = "${PN}-ice-license" - -FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst" -LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst" -LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst" -FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*" -RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license" +LICENSE:${PN}-ibt-license = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-11-5 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-12-16 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware" +LICENSE:${PN}-ibt-misc = "Firmware-ibt_firmware" + +FILES:${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware" +FILES:${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq" +FILES:${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq" +FILES:${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" +FILES:${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" +FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" +FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" +FILES:${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" + +RDEPENDS:${PN}-ibt-hw-37-7 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-hw-37.8 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-11-5 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-12-16 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license" +RDEPENDS:${PN}-ibt-misc = "${PN}-ibt-license" + +ALLOW_EMPTY:${PN}-ibt= "1" +ALLOW_EMPTY:${PN}-ibt-misc = "1" + +LICENSE:${PN}-i915 = "Firmware-i915" +LICENSE:${PN}-i915-license = "Firmware-i915" +FILES:${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915" +FILES:${PN}-i915 = "${nonarch_base_libdir}/firmware/i915" +RDEPENDS:${PN}-i915 = "${PN}-i915-license" + +LICENSE:${PN}-ice = "Firmware-ice" +LICENSE:${PN}-ice-license = "Firmware-ice" +FILES:${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice" +FILES:${PN}-ice = "${nonarch_base_libdir}/firmware/intel/ice" +RDEPENDS:${PN}-ice = "${PN}-ice-license" + +FILES:${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst" +LICENSE:${PN}-adsp-sst = "Firmware-adsp_sst" +LICENSE:${PN}-adsp-sst-license = "Firmware-adsp_sst" +FILES:${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*" +RDEPENDS:${PN}-adsp-sst = "${PN}-adsp-sst-license" # For QAT -LICENSE_${PN}-qat = "Firmware-qat" -LICENSE_${PN}-qat-license = "Firmware-qat" -FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware" -FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin" -RDEPENDS_${PN}-qat = "${PN}-qat-license" +LICENSE:${PN}-qat = "Firmware-qat" +LICENSE:${PN}-qat-license = "Firmware-qat" +FILES:${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware" +FILES:${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin" +RDEPENDS:${PN}-qat = "${PN}-qat-license" # For QCOM VPU/GPU and SDM845 -LICENSE_${PN}-qcom-license = "Firmware-qcom" -FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt" -FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*" -FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*" -FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*" -FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*" -FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw" -FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*" -FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*" -FILES_${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" -FILES_${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" -FILES_${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" -RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license" - -FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" +LICENSE:${PN}-qcom-license = "Firmware-qcom" +FILES:${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt" +FILES:${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*" +FILES:${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*" +FILES:${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*" +FILES:${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*" +FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw" +FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*" +FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*" +FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" +FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" +FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" +RDEPENDS:${PN}-qcom-venus-1.8 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-venus-4.2 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-venus-5.2 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-venus-5.4 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-adreno-a3xx = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-adreno-a530 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license" + +FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" # For Amlogic VDEC -LICENSE_${PN}-amlogic-vdec = "Firmware-amlogic_vdec" -FILES_${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec" -FILES_${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*" -RDEPENDS_${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license" +LICENSE:${PN}-amlogic-vdec = "Firmware-amlogic_vdec" +FILES:${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec" +FILES:${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*" +RDEPENDS:${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license" # For other firmwares # Maybe split out to separate packages when needed. -LICENSE_${PN} = "\ +LICENSE:${PN} = "\ Firmware-Abilis \ & Firmware-agere \ & Firmware-amdgpu \ @@ -1028,23 +1028,23 @@ LICENSE_${PN} = "\ & WHENCE \ " -FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*" -FILES_${PN} += "${nonarch_base_libdir}/firmware/*" -RDEPENDS_${PN} += "${PN}-license" -RDEPENDS_${PN} += "${PN}-whence-license" +FILES:${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*" +FILES:${PN} += "${nonarch_base_libdir}/firmware/*" +RDEPENDS:${PN} += "${PN}-license" +RDEPENDS:${PN} += "${PN}-whence-license" # Make linux-firmware depend on all of the split-out packages. # Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages. # Make linux-firmware-ibt depend on all of the split-out ibt packages. -python populate_packages_prepend () { +python populate_packages:prepend () { firmware_pkgs = oe.utils.packages_filter_out_system(d) - d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs)) + d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs)) iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs) - d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs)) + d.appendVar('RRECOMMENDS:linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs)) ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs) - d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs)) + d.appendVar('RRECOMMENDS:linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs)) } # Firmware files are generally not ran on the CPU, so they can be diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc index 175b2d181..3867d09d0 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc @@ -75,15 +75,15 @@ do_install() { find ${D}${includedir} -name ..install.cmd | xargs rm -f } -do_install_append_aarch64 () { +do_install:append:aarch64 () { do_install_armmultilib } -do_install_append_arm () { +do_install:append:arm () { do_install_armmultilib } -do_install_append_armeb () { +do_install:append:armeb () { do_install_armmultilib } @@ -103,8 +103,8 @@ do_install_armmultilib () { BBCLASSEXTEND = "nativesdk" -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" INHIBIT_DEFAULT_DEPS = "1" DEPENDS += "unifdef-native bison-native rsync-native" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb index 251d00440..556ca07f2 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb @@ -1,13 +1,13 @@ require linux-libc-headers.inc -SRC_URI_append_libc-musl = "\ +SRC_URI:append:libc-musl = "\ file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \ file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ " -SRC_URI_append = "\ +SRC_URI:append = "\ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ " diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 21b42833b..3b5fdda77 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -315,17 +315,17 @@ do_install() { # Ensure we don't race against "make scripts" during cpio do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock" -FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}" -FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*" +FILES:${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}" +FILES:${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*" -RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils" +RDEPENDS:${PN} = "bc python3 flex bison ${TCLIBC}-utils" # 4.15+ needs these next two RDEPENDS -RDEPENDS_${PN} += "openssl-dev util-linux" +RDEPENDS:${PN} += "openssl-dev util-linux" # and x86 needs a bit more for 4.15+ -RDEPENDS_${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}" +RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}" # 5.8+ needs gcc-plugins libmpc-dev -RDEPENDS_${PN} += "gcc-plugins libmpc-dev" +RDEPENDS:${PN} += "gcc-plugins libmpc-dev" # 5.13+ needs awk for arm64 -RDEPENDS_${PN}_append_aarch64 = " gawk" +RDEPENDS:${PN}:append:aarch64 = " gawk" # 5.13+ needs grep for powerpc -RDEPENDS_${PN}_append_powerpc = " grep" +RDEPENDS:${PN}:append:powerpc = " grep" diff --git a/poky/meta/recipes-kernel/linux/linux-dummy.bb b/poky/meta/recipes-kernel/linux/linux-dummy.bb index c56f8990d..175e66068 100644 --- a/poky/meta/recipes-kernel/linux/linux-dummy.bb +++ b/poky/meta/recipes-kernel/linux/linux-dummy.bb @@ -16,12 +16,12 @@ PACKAGES_DYNAMIC += "^kernel-image-.*" PACKAGES_DYNAMIC += "^kernel-firmware-.*" PACKAGES += "kernel-modules kernel-vmlinux" -FILES_kernel-modules = "" -ALLOW_EMPTY_kernel-modules = "1" -DESCRIPTION_kernel-modules = "Kernel modules meta package" -FILES_kernel-vmlinux = "" -ALLOW_EMPTY_kernel-vmlinux = "1" -DESCRIPTION_kernel-vmlinux = "Kernel vmlinux meta package" +FILES:kernel-modules = "" +ALLOW_EMPTY:kernel-modules = "1" +DESCRIPTION:kernel-modules = "Kernel modules meta package" +FILES:kernel-vmlinux = "" +ALLOW_EMPTY:kernel-vmlinux = "1" +DESCRIPTION:kernel-vmlinux = "Kernel vmlinux meta package" INHIBIT_DEFAULT_DEPS = "1" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index f40788231..28a255a0c 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -41,16 +41,16 @@ DEPENDS += "openssl-native util-linux-native" COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" KERNEL_VERSION_SANITY_SKIP = "1" 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 133b1f6fe..ee8083648 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 ?= "dad5434fab65cdd316f940c5e9bd46e0d0607b5a" -SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736" +SRCREV_machine ?= "969fef49cbbc8639e9622e6a0655337fbfcc7627" +SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e" 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.52" +LINUX_VERSION ?= "5.10.53" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" @@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt" COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb index adcc84bd4..daf3d41a6 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "10eba41eae2548d854c5d1908db77e8235336191" -SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d" +SRCREV_machine ?= "f7609685b99c816483dd1eb4d3d7cfd236abcd8a" +SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83" 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.13;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.13.4" +LINUX_VERSION ?= "5.13.5" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" @@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt" COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index a975004d7..2590879a4 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "849a67646d942d3a6d706f456df39954367ac7bf" -SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3" +SRCREV_machine ?= "f4e30367bf1e579ff497fc9e7a16010c879048dc" +SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11" 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.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.134" +LINUX_VERSION ?= "5.4.135" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" @@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt" COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" 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 238123a42..2045944da 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 @@ -1,12 +1,12 @@ KBRANCH ?= "v5.10/standard/tiny/base" -KBRANCH_qemuarm ?= "v5.10/standard/tiny/arm-versatile-926ejs" +KBRANCH:qemuarm ?= "v5.10/standard/tiny/arm-versatile-926ejs" LINUX_KERNEL_TYPE = "tiny" KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.52" +LINUX_VERSION ?= "5.10.53" 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 ?= "faa3b7802d0ee1fe0217283ecaf2c54c9503fa20" -SRCREV_machine ?= "240422889570d39c3f7d63808159c8e743117a1d" -SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736" +SRCREV_machine:qemuarm ?= "d5a79da206965b27043f558739b28a434efca75c" +SRCREV_machine ?= "f44b5bb716fdb6f804383fa087c9fdb54584cd5b" +SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e" PV = "${LINUX_VERSION}+git${SRCPV}" @@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" # Functionality flags KERNEL_FEATURES = "" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb index 6598684bb..4cc0d9409 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb @@ -1,12 +1,12 @@ KBRANCH ?= "v5.13/standard/tiny/base" -KBRANCH_qemuarm ?= "v5.13/standard/tiny/arm-versatile-926ejs" +KBRANCH:qemuarm ?= "v5.13/standard/tiny/arm-versatile-926ejs" LINUX_KERNEL_TYPE = "tiny" KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.13.4" +LINUX_VERSION ?= "5.13.5" 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 ?= "e394a72e8bc77484bf7bae8c842c75b23cc3dd63" -SRCREV_machine ?= "7275d462cec720120d1767e277a2525d88901c80" -SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d" +SRCREV_machine:qemuarm ?= "52d457436c83b3ce994a12d5387c532df7859e3d" +SRCREV_machine ?= "e167b61e5f9f6e6de8d57f72ed022ea6cdf9ba85" +SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83" PV = "${LINUX_VERSION}+git${SRCPV}" @@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" # Functionality flags KERNEL_FEATURES = "" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index 95ead533d..b87a88bbb 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -1,12 +1,12 @@ KBRANCH ?= "v5.4/standard/tiny/base" -KBRANCH_qemuarm ?= "v5.4/standard/tiny/arm-versatile-926ejs" +KBRANCH:qemuarm ?= "v5.4/standard/tiny/arm-versatile-926ejs" LINUX_KERNEL_TYPE = "tiny" KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.134" +LINUX_VERSION ?= "5.4.135" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" 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 ?= "86c31c51c87557af60e4d4dbee73f18618bc4c92" -SRCREV_machine ?= "bf89a54b3f77fbac15dd0194870db288aee5c8b7" -SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3" +SRCREV_machine:qemuarm ?= "fa414639057bbad7acd21a1a70a3847f9be469c0" +SRCREV_machine ?= "c81f0e376b1fce7a1198eec7b286966d98eae44d" +SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11" PV = "${LINUX_VERSION}+git${SRCPV}" @@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" # Functionality flags KERNEL_FEATURES = "" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc index eb3081ee3..331727d62 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto.inc +++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc @@ -19,22 +19,22 @@ python () { } DEPENDS += "xz-native bc-native" -DEPENDS_append_aarch64 = " libgcc" -KERNEL_CC_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" -KERNEL_LD_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" +DEPENDS:append:aarch64 = " libgcc" +KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}" +KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}" -DEPENDS_append_nios2 = " libgcc" -KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}" -KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}" +DEPENDS:append:nios2 = " libgcc" +KERNEL_CC:append:nios2 = " ${TOOLCHAIN_OPTIONS}" +KERNEL_LD:append:nios2 = " ${TOOLCHAIN_OPTIONS}" -DEPENDS_append_arc = " libgcc" -KERNEL_CC_append_arc = " ${TOOLCHAIN_OPTIONS}" -KERNEL_LD_append_arc = " ${TOOLCHAIN_OPTIONS}" +DEPENDS:append:arc = " libgcc" +KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}" +KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}" -KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" +KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}" # A KMACHINE is the mapping of a yocto $MACHINE to what is built # by the kernel. This is typically the branch that should be built, @@ -49,11 +49,11 @@ inherit kernel-yocto B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build" -do_install_append(){ +do_install:append(){ if [ -n "${KMETA}" ]; then rm -rf ${STAGING_KERNEL_DIR}/${KMETA} fi } # enable kernel-sample for oeqa/runtime/cases's ksample.py test -KERNEL_FEATURES_append_qemuall=" features/kernel-sample/kernel-sample.scc" +KERNEL_FEATURES:append:qemuall=" features/kernel-sample/kernel-sample.scc" 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 40a2a5e3b..1f95dcd7f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -3,36 +3,36 @@ KBRANCH ?= "v5.10/standard/base" require recipes-kernel/linux/linux-yocto.inc # board specific branches -KBRANCH_qemuarm ?= "v5.10/standard/arm-versatile-926ejs" -KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64" -KBRANCH_qemumips ?= "v5.10/standard/mti-malta32" -KBRANCH_qemuppc ?= "v5.10/standard/qemuppc" -KBRANCH_qemuriscv64 ?= "v5.10/standard/base" -KBRANCH_qemuriscv32 ?= "v5.10/standard/base" -KBRANCH_qemux86 ?= "v5.10/standard/base" -KBRANCH_qemux86-64 ?= "v5.10/standard/base" -KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" - -SRCREV_machine_qemuarm ?= "96a6083817785461bcabad63f3872d0a08b21c29" -SRCREV_machine_qemuarm64 ?= "c8d8b20a749f476020d0844d76f63cd9e4cca644" -SRCREV_machine_qemumips ?= "acdebd5080a846f3906ba1d5343d5af5c4b76522" -SRCREV_machine_qemuppc ?= "afd31d567447f4693b7c9af35f09bb37cc0c0fa4" -SRCREV_machine_qemuriscv64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd" -SRCREV_machine_qemuriscv32 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd" -SRCREV_machine_qemux86 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd" -SRCREV_machine_qemux86-64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd" -SRCREV_machine_qemumips64 ?= "efad0ca4150cddffa6d052ffb53fec0553de4da8" -SRCREV_machine ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd" -SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736" +KBRANCH:qemuarm ?= "v5.10/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v5.10/standard/qemuarm64" +KBRANCH:qemumips ?= "v5.10/standard/mti-malta32" +KBRANCH:qemuppc ?= "v5.10/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v5.10/standard/base" +KBRANCH:qemuriscv32 ?= "v5.10/standard/base" +KBRANCH:qemux86 ?= "v5.10/standard/base" +KBRANCH:qemux86-64 ?= "v5.10/standard/base" +KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64" + +SRCREV_machine:qemuarm ?= "c74da440f36f7073b1e99f42cb363031bb0c38ca" +SRCREV_machine:qemuarm64 ?= "e4e52d0a19fba26538218d78c70e54319ae00ca3" +SRCREV_machine:qemumips ?= "60118f08d49cd825d17f11b078d5848eb5bb7e6d" +SRCREV_machine:qemuppc ?= "eb3d2abf3d5aab1814d53767193770c282552774" +SRCREV_machine:qemuriscv64 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285" +SRCREV_machine:qemuriscv32 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285" +SRCREV_machine:qemux86 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285" +SRCREV_machine:qemux86-64 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285" +SRCREV_machine:qemumips64 ?= "643c332e487cfa1557d14050d6e1148d1c5d75da" +SRCREV_machine ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285" +SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e" # remap qemuarm to qemuarma15 for the 5.8 kernel -# KMACHINE_qemuarm ?= "qemuarma15" +# KMACHINE:qemuarm ?= "qemuarma15" 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.52" +LINUX_VERSION ?= "5.10.53" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -43,16 +43,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "1" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb index 497c3307d..9a215bfe1 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb @@ -3,46 +3,46 @@ KBRANCH ?= "v5.13/standard/base" require recipes-kernel/linux/linux-yocto.inc # board specific branches -KBRANCH_qemuarm ?= "v5.13/standard/arm-versatile-926ejs" -KBRANCH_qemuarm64 ?= "v5.13/standard/qemuarm64" -KBRANCH_qemumips ?= "v5.13/standard/mti-malta32" -KBRANCH_qemuppc ?= "v5.13/standard/qemuppc" -KBRANCH_qemuriscv64 ?= "v5.13/standard/base" -KBRANCH_qemuriscv32 ?= "v5.13/standard/base" -KBRANCH_qemux86 ?= "v5.13/standard/base" -KBRANCH_qemux86-64 ?= "v5.13/standard/base" -KBRANCH_qemumips64 ?= "v5.13/standard/mti-malta64" +KBRANCH:qemuarm ?= "v5.13/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v5.13/standard/qemuarm64" +KBRANCH:qemumips ?= "v5.13/standard/mti-malta32" +KBRANCH:qemuppc ?= "v5.13/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v5.13/standard/base" +KBRANCH:qemuriscv32 ?= "v5.13/standard/base" +KBRANCH:qemux86 ?= "v5.13/standard/base" +KBRANCH:qemux86-64 ?= "v5.13/standard/base" +KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "dc19ba17f4d43a220ae8129312703add02d03d1e" -SRCREV_machine_qemuarm64 ?= "1e086c08b65e8bd1f45f01fd8026599a62deb6c0" -SRCREV_machine_qemumips ?= "4dd19bc8178a6100a2cb9ffd8364e359230253c8" -SRCREV_machine_qemuppc ?= "73c8e406db9beb3a99a5dd3ea67824f0e3c0d7a8" -SRCREV_machine_qemuriscv64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068" -SRCREV_machine_qemuriscv32 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068" -SRCREV_machine_qemux86 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068" -SRCREV_machine_qemux86-64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068" -SRCREV_machine_qemumips64 ?= "0632623fd488acc7c78a4f48d4630caba5e6044e" -SRCREV_machine ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068" -SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d" +SRCREV_machine:qemuarm ?= "d7f11adcd88182a9201a9901f3ccd07e2143bf5b" +SRCREV_machine:qemuarm64 ?= "8ba49ea4d2954c788b44acf8efd2713d8d69f1e3" +SRCREV_machine:qemumips ?= "9d92ef75cabdf752e3186aa734ba57866cc512d9" +SRCREV_machine:qemuppc ?= "6fac7caad94efa0be0e46d04af4e7b5f1300aa92" +SRCREV_machine:qemuriscv64 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1" +SRCREV_machine:qemuriscv32 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1" +SRCREV_machine:qemux86 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1" +SRCREV_machine:qemux86-64 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1" +SRCREV_machine:qemumips64 ?= "c6c25c0c1a64480f255a9c2e86895db0aea8b92b" +SRCREV_machine ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1" +SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83" # 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" -DEFAULT_PREFERENCE_class-devupstream = "-1" -SRCREV_machine_class-devupstream ?= "64376a981a0e2e57c46efa63197c2ebb7dab35df" -PN_class-devupstream = "linux-yocto-upstream" -KBRANCH_class-devupstream = "v5.13/base" +DEFAULT_PREFERENCE:class-devupstream = "-1" +SRCREV_machine:class-devupstream ?= "25423f4bd9a9ac3e6b0ce7ecfe56c36f4e514893" +PN:class-devupstream = "linux-yocto-upstream" +KBRANCH:class-devupstream = "v5.13/base" # remap qemuarm to qemuarma15 for the 5.8 kernel -# KMACHINE_qemuarm ?= "qemuarma15" +# KMACHINE:qemuarm ?= "qemuarma15" 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.13;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.13.4" +LINUX_VERSION ?= "5.13.5" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -53,16 +53,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "1" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index 90a557bb6..7f22d34ef 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -3,34 +3,34 @@ KBRANCH ?= "v5.4/standard/base" require recipes-kernel/linux/linux-yocto.inc # board specific branches -KBRANCH_qemuarm ?= "v5.4/standard/arm-versatile-926ejs" -KBRANCH_qemuarm64 ?= "v5.4/standard/qemuarm64" -KBRANCH_qemumips ?= "v5.4/standard/mti-malta32" -KBRANCH_qemuppc ?= "v5.4/standard/qemuppc" -KBRANCH_qemuriscv64 ?= "v5.4/standard/base" -KBRANCH_qemux86 ?= "v5.4/standard/base" -KBRANCH_qemux86-64 ?= "v5.4/standard/base" -KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" - -SRCREV_machine_qemuarm ?= "bea52ab7529ef152f99a0f6ebd97cc7e904e5360" -SRCREV_machine_qemuarm64 ?= "8a29c9de0fc366bd89ce6954685dce0e330dbabe" -SRCREV_machine_qemumips ?= "b15816ccad0762d27c78c269e7a1986504e60c63" -SRCREV_machine_qemuppc ?= "906f9509a8d2f842ec8766bf81287f8939ff1fa8" -SRCREV_machine_qemuriscv64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc" -SRCREV_machine_qemux86 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc" -SRCREV_machine_qemux86-64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc" -SRCREV_machine_qemumips64 ?= "152e33a0782920e9707c36ccacf53585a8911e9f" -SRCREV_machine ?= "dd8a64a523fb714a98328441e0de72cde115a6fc" -SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3" +KBRANCH:qemuarm ?= "v5.4/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v5.4/standard/qemuarm64" +KBRANCH:qemumips ?= "v5.4/standard/mti-malta32" +KBRANCH:qemuppc ?= "v5.4/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v5.4/standard/base" +KBRANCH:qemux86 ?= "v5.4/standard/base" +KBRANCH:qemux86-64 ?= "v5.4/standard/base" +KBRANCH:qemumips64 ?= "v5.4/standard/mti-malta64" + +SRCREV_machine:qemuarm ?= "f367cbe6d0c21c65257c66a4c9b1845fd43285f8" +SRCREV_machine:qemuarm64 ?= "8dcb7ee83e58da8bf51ed8b72165e1ed35beb928" +SRCREV_machine:qemumips ?= "3d4c6263bfdf95960894b75c76aa450d240e3e8e" +SRCREV_machine:qemuppc ?= "125a824c8d14c49b640bc0d6e040d495177caa10" +SRCREV_machine:qemuriscv64 ?= "997c04e7a40084a53bc3d45490949584364697bd" +SRCREV_machine:qemux86 ?= "997c04e7a40084a53bc3d45490949584364697bd" +SRCREV_machine:qemux86-64 ?= "997c04e7a40084a53bc3d45490949584364697bd" +SRCREV_machine:qemumips64 ?= "7082f58984404a5aad90bca1dac4e27773fff26e" +SRCREV_machine ?= "997c04e7a40084a53bc3d45490949584364697bd" +SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11" # remap qemuarm to qemuarma15 for the 5.4 kernel -# KMACHINE_qemuarm ?= "qemuarma15" +# KMACHINE:qemuarm ?= "qemuarma15" 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.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.134" +LINUX_VERSION ?= "5.4.135" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -40,16 +40,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "1" -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb index 7fb524eeb..2aafe8173 100644 --- a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb +++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb @@ -24,12 +24,12 @@ EXTRA_OECONF = "--disable-debug-info" PACKAGECONFIG ??= "manpages" PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native" -FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" -FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so" +FILES:${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" +FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so" ASNEEDED = "" -RDEPENDS_${PN}-ptest += "bash gawk python3" +RDEPENDS:${PN}-ptest += "bash gawk python3" do_compile_ptest () { make -C tests all diff --git a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb index 9e5d3a7a9..9f8b03512 100644 --- a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb +++ b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb @@ -21,7 +21,7 @@ EXTRA_OECONF = "--disable-debug-info" ASNEEDED = "" -RDEPENDS_${PN}-ptest += "bash gawk" +RDEPENDS:${PN}-ptest += "bash gawk" addtask do_patch_ptest_path after do_patch before do_configure do_patch_ptest_path () { diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb index 94e849de5..c46faaee5 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb @@ -19,24 +19,24 @@ export INSTALL_MOD_DIR="kernel/lttng-modules" EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'" -do_install_append() { +do_install:append() { # Delete empty directories to avoid QA failures if no modules were built find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \; } -python do_package_prepend() { +python do_package:prepend() { if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')): bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) } BBCLASSEXTEND = "devupstream:target" -LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4" -DEFAULT_PREFERENCE_class-devupstream = "-1" -SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \ +LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4" +DEFAULT_PREFERENCE:class-devupstream = "-1" +SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \ file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \ " -SRCREV_class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933" -PV_class-devupstream = "2.13.0-rc2+git${SRCPV}" -S_class-devupstream = "${WORKDIR}/git" +SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933" +PV:class-devupstream = "2.13.0-rc2+git${SRCPV}" +S:class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-platforms.inc b/poky/meta/recipes-kernel/lttng/lttng-platforms.inc index aa8220bbb..933c65d85 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-platforms.inc +++ b/poky/meta/recipes-kernel/lttng/lttng-platforms.inc @@ -2,16 +2,16 @@ # Whether the platform supports kernel tracing # LTTNGMODULES = "lttng-modules" -LTTNGMODULES_arc = "" -LTTNGMODULES_riscv64 = "" +LTTNGMODULES:arc = "" +LTTNGMODULES:riscv64 = "" -COMPATIBLE_HOST_riscv64_pn-lttng-modules = "null" -COMPATIBLE_HOST_arc_pn-lttng-modules = "null" +COMPATIBLE_HOST:riscv64:pn-lttng-modules = "null" +COMPATIBLE_HOST:arc:pn-lttng-modules = "null" # Whether the platform supports userspace tracing # lttng-ust uses sched_getcpu() which is not there on for some platforms. LTTNGUST = "lttng-ust" -LTTNGUST_arc = "" +LTTNGUST:arc = "" -COMPATIBLE_HOST_arc_pn-lttng-ust = "null" +COMPATIBLE_HOST:arc:pn-lttng-ust = "null" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb index 133d7561b..dc2e1f324 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb @@ -13,13 +13,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ include lttng-platforms.inc DEPENDS = "liburcu popt libxml2 util-linux" -RDEPENDS_${PN} = "libgcc" -RRECOMMENDS_${PN} += "${LTTNGMODULES}" -RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" -RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" +RDEPENDS:${PN} = "libgcc" +RRECOMMENDS:${PN} += "${LTTNGMODULES}" +RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils" +RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils" # babelstats.pl wants getopt-long -RDEPENDS_${PN}-ptest += "perl-module-getopt-long" +RDEPENDS:${PN}-ptest += "perl-module-getopt-long" PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ @@ -43,26 +43,26 @@ SRC_URI[sha256sum] = "d729f8c2373a41194f171aeb0da0a9bb35ac181f31afa7e260786d19a5 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd -SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" +SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service" SYSTEMD_AUTO_ENABLE = "disable" USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "tracing" +GROUPADD_PARAM:${PN} = "tracing" -FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ +FILES:${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ ${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" +FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" # Since files are installed into ${libdir}/lttng/libexec we match # the libexec insane test so skip it. # Python module needs to keep _lttng.so -INSANE_SKIP_${PN} = "libexec dev-so" -INSANE_SKIP_${PN}-dbg = "libexec" +INSANE_SKIP:${PN} = "libexec dev-so" +INSANE_SKIP:${PN}-dbg = "libexec" -PRIVATE_LIBS_${PN}-ptest = "libfoo.so" +PRIVATE_LIBS:${PN}-ptest = "libfoo.so" -do_install_append () { +do_install:append () { # install systemd unit file install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb index e340ff346..54a473d2c 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb @@ -20,12 +20,12 @@ include lttng-platforms.inc EXTRA_OECONF = "--disable-numa" DEPENDS = "liburcu util-linux" -RDEPENDS_${PN}-bin = "python3-core" +RDEPENDS:${PN}-bin = "python3-core" # For backwards compatibility after rename -RPROVIDES_${PN} = "lttng2-ust" -RREPLACES_${PN} = "lttng2-ust" -RCONFLICTS_${PN} = "lttng2-ust" +RPROVIDES:${PN} = "lttng2-ust" +RREPLACES:${PN} = "lttng2-ust" +RCONFLICTS:${PN} = "lttng2-ust" PE = "2" @@ -41,11 +41,11 @@ 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" +FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" +FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" -do_install_append() { +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/make-mod-scripts/make-mod-scripts_1.0.bb b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb index b2b50b9bc..e5a162889 100644 --- a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb +++ b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb @@ -13,7 +13,7 @@ S = "${WORKDIR}" do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" DEPENDS += "bc-native bison-native" DEPENDS += "gmp-native" diff --git a/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb index 97b4ddb88..aa7130912 100644 --- a/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb +++ b/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb @@ -22,8 +22,8 @@ do_install () { install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/ } -PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}" -pkg_postinst_${PN} () { +PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}" +pkg_postinst:${PN} () { if type systemctl >/dev/null 2>/dev/null; then if [ -n "$D" ]; then OPTS="--root=$D" diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 99808d636..f47327209 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -30,9 +30,9 @@ PACKAGECONFIG[cap] = ",,libcap" PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd" # libunwind is not yet ported for some architectures -PACKAGECONFIG_remove_arc = "libunwind" -PACKAGECONFIG_remove_riscv64 = "libunwind" -PACKAGECONFIG_remove_riscv32 = "libunwind" +PACKAGECONFIG:remove:arc = "libunwind" +PACKAGECONFIG:remove:riscv64 = "libunwind" +PACKAGECONFIG:remove:riscv32 = "libunwind" DEPENDS = " \ virtual/${MLPREFIX}libc \ @@ -110,7 +110,7 @@ EXTRA_OEMAKE += "\ # that it has to be done this way rather than by passing -j1, since # perf's build system by default ignores any -j argument, but does # honour a JOBS variable. -EXTRA_OEMAKE_append_task-configure = " JOBS=1" +EXTRA_OEMAKE:append:task-configure = " JOBS=1" PERF_SRC ?= "Makefile \ tools/arch \ @@ -127,8 +127,8 @@ PERF_SRC ?= "Makefile \ PERF_EXTRA_LDFLAGS = "" # MIPS N32 -PERF_EXTRA_LDFLAGS_mipsarchn32eb = "-m elf32btsmipn32" -PERF_EXTRA_LDFLAGS_mipsarchn32el = "-m elf32ltsmipn32" +PERF_EXTRA_LDFLAGS:mipsarchn32eb = "-m elf32btsmipn32" +PERF_EXTRA_LDFLAGS:mipsarchn32el = "-m elf32ltsmipn32" do_compile() { # Linux kernel build system is expected to do the right thing @@ -166,7 +166,7 @@ python copy_perf_source_from_kernel() { bb.utils.copyfile(src, dest) } -do_configure_prepend () { +do_configure:prepend () { # If building a multlib based perf, the incorrect library path will be # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit # build, with a 64 bit multilib, the arch won't match and the detection of a @@ -311,7 +311,7 @@ do_configure_prepend () { done } -python do_package_prepend() { +python do_package:prepend() { d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0]) } @@ -320,25 +320,25 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" -RDEPENDS_${PN} += "elfutils bash" -RDEPENDS_${PN}-archive =+ "bash" -RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}" -RDEPENDS_${PN}-perl =+ "bash perl perl-modules" -RDEPENDS_${PN}-tests =+ "python3 bash" +RDEPENDS:${PN} += "elfutils bash" +RDEPENDS:${PN}-archive =+ "bash" +RDEPENDS:${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}" +RDEPENDS:${PN}-perl =+ "bash perl perl-modules" +RDEPENDS:${PN}-tests =+ "python3 bash" RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}" -RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}" +RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}" FILES_SOLIBSDEV = "" -FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so" -FILES_${PN}-archive = "${libdir}/perf/perf-core/perf-archive" -FILES_${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests" -FILES_${PN}-python = " \ +FILES:${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so" +FILES:${PN}-archive = "${libdir}/perf/perf-core/perf-archive" +FILES:${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests" +FILES:${PN}-python = " \ ${PYTHON_SITEPACKAGES_DIR} \ ${libexecdir}/perf-core/scripts/python \ " -FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl" +FILES:${PN}-perl = "${libexecdir}/perf-core/scripts/perl" INHIBIT_PACKAGE_DEBUG_SPLIT="1" -DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" +DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized" diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.14.bb b/poky/meta/recipes-kernel/powertop/powertop_2.14.bb index cb7f3c4dc..c176cba38 100644 --- a/poky/meta/recipes-kernel/powertop/powertop_2.14.bb +++ b/poky/meta/recipes-kernel/powertop/powertop_2.14.bb @@ -13,12 +13,12 @@ SRCREV = "52f022f9bbe6e060fba11701d657a8d9762702ba" S = "${WORKDIR}/git" -LDFLAGS_append = " -pthread" +LDFLAGS:append = " -pthread" inherit autotools gettext pkgconfig bash-completion inherit update-alternatives -ALTERNATIVE_${PN} = "powertop" +ALTERNATIVE:${PN} = "powertop" ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop" ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop" ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb index 6ee0be5e3..2181e45a8 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb @@ -5,13 +5,13 @@ require systemtap_git.inc DEPENDS = "systemtap virtual/kernel" # On systems without CONFIG_UTRACE, this package is empty. -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" inherit module-base gettext FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:" -FILES_${PN} += "${datadir}/systemtap/runtime/uprobes" +FILES:${PN} += "${datadir}/systemtap/runtime/uprobes" # Compile and install the uprobes kernel module on machines with utrace # support. Note that staprun expects it in the systemtap/runtime directory, diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch b/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch new file mode 100644 index 000000000..4d044de7e --- /dev/null +++ b/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch @@ -0,0 +1,26 @@ +From ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470 Mon Sep 17 00:00:00 2001 +From: Du Zhe +Date: Tue, 13 Jul 2021 19:11:55 -0400 +Subject: [PATCH] runtime: fix unintended compile error with + autoconf-x86-uniregs.c + +Adding a #include restores this test on the gentoo +linux-5.10.47-gentoo kernel. + +Upstream-Status: Backport +--- + runtime/linux/autoconf-x86-uniregs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/runtime/linux/autoconf-x86-uniregs.c b/runtime/linux/autoconf-x86-uniregs.c +index 25729c220..232c18670 100644 +--- a/runtime/linux/autoconf-x86-uniregs.c ++++ b/runtime/linux/autoconf-x86-uniregs.c +@@ -1,3 +1,4 @@ ++#include + #include + + #if defined (__i386__) || defined (__x86_64__) +-- +2.27.0 + diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb index c4a6eef59..8161a448c 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb @@ -33,46 +33,46 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base # exporter comes with python3-probes PACKAGES =+ "${PN}-exporter" -FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \ +FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \ ${sysconfdir}/sysconfig/stap-exporter \ ${systemd_unitdir}/system/stap-exporter.service \ ${sbindir}/stap-exporter" -RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient" -SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service" +RDEPENDS:${PN}-exporter = "${PN} python3-core python3-netclient" +SYSTEMD_SERVICE:${PN}-exporter = "stap-exporter.service" PACKAGES =+ "${PN}-runtime" -FILES_${PN}-runtime = "\ +FILES:${PN}-runtime = "\ ${bindir}/staprun \ ${bindir}/stap-merge \ ${bindir}/stapsh \ ${libexecdir}/${BPN}/stapio \ " -RDEPENDS_${PN}_class-target += "${PN}-runtime" +RDEPENDS:${PN}:class-target += "${PN}-runtime" PACKAGES =+ "${PN}-examples" -FILES_${PN}-examples = "${datadir}/${BPN}/examples/" -RDEPENDS_${PN}-examples += "${PN}" +FILES:${PN}-examples = "${datadir}/${BPN}/examples/" +RDEPENDS:${PN}-examples += "${PN}" # don't complain that some examples involve bash, perl, php... -INSANE_SKIP_${PN}-examples += "file-rdeps" +INSANE_SKIP:${PN}-examples += "file-rdeps" PACKAGES =+ "${PN}-python" -FILES_${PN}-python += "\ +FILES:${PN}-python += "\ ${bindir}/dtrace \ ${libdir}/python*/ \ ${libexecdir}/${BPN}/python/ \ " # python material requires sdt headers -RDEPENDS_${PN}-python += "${PN}-dev python3-core" -INSANE_SKIP_${PN}-python += "dev-deps" +RDEPENDS:${PN}-python += "${PN}-dev python3-core" +INSANE_SKIP:${PN}-python += "dev-deps" -do_configure_prepend () { +do_configure:prepend () { # Improve reproducibility for c++ object files reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}" sed -i "s:@RELATIVE_STAGING_INCDIR@:$reltivepath:g" ${S}/stringtable.h } -do_install_append () { +do_install:append () { if [ ! -f ${D}${bindir}/stap ]; then # translator disabled case, need to leave only minimal runtime rm -rf ${D}${datadir}/${PN} diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index 23ecc6198..97d4435f8 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -7,10 +7,11 @@ SRC_URI = "git://sourceware.org/git/systemtap.git \ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ file://0001-Install-python-modules-to-correct-library-dir.patch \ file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ + file://ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch \ " COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' -COMPATIBLE_HOST_libc-musl = 'null' +COMPATIBLE_HOST:libc-musl = 'null' S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb index f79c0b29e..7b54d8c05 100644 --- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb +++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb @@ -24,9 +24,9 @@ do_install() { # For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass # (in meta-networking) in kernel's recipe. PACKAGES = "${PN}-static ${PN}" -RCONFLICTS_${PN} = "${PN}-static" +RCONFLICTS:${PN} = "${PN}-static" -FILES_${PN}-static = " \ +FILES:${PN}-static = " \ ${nonarch_base_libdir}/firmware/regulatory.db \ ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ " @@ -34,10 +34,10 @@ FILES_${PN}-static = " \ # Native users might want to use the source of regulatory DB. # This is for example used by Linux kernel <= v4.14 and # kernel_wireless_regdb.bbclass in meta-networking. -do_install_append_class-native() { +do_install:append:class-native() { install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt } -RSUGGESTS_${PN} = "crda" +RSUGGESTS:${PN} = "crda" BBCLASSEXTEND = "native" -- cgit v1.2.3 From 0ca19ccf045e022d8a24d26afbf346ab7f2f519f Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Mon, 16 Aug 2021 14:03:13 -0500 Subject: subtree updates poky: 492205ea83..94dfcaff64: Alejandro Hernandez Samaniego (1): baremetal-helloworld: Enable RISC-V 32 port Alexandre Belloni (1): oeqa/runtime/cases: make date.DateTest.test_date more reliable Anton Blanchard (3): libjpeg-turbo: Handle powerpc64le without Altivec kmod: use nonarch_base_libdir for depmod.d and modprobe.d pixman: Handle PowerPC without Altivec Changqing Li (1): libconvert-asn1-perl: 0.27 -> 0.31 Chen Qi (4): convert-overrides.py: also convert comments without a leading whitespace meta: use new override syntax in comments multilib.bbclass: fix new override syntax for virtclass-multilib util-linux: add back manpages related settings Daniel Gomez (1): docs: fix typo in releases Dmitry Baryshkov (1): linux-firmware: add more Qualcomm firmware packages Dragos-Marian Panait (1): util-linux: fix CVE-2021-37600 Joe Slater (1): terminal.bbclass: force bash for devshell Jon Mason (1): tune-cortexm*: add support for all Arm Cortex-M processors Jose Quaresma (1): sstate.bbclass: fix error handling when sstate mirrors is ro Joshua Watt (2): classes/cve-check: Move get_patches_cves to library lib/packagedata: Fix for new overrides Khem Raj (4): glibc: Upgrade to 2.34 release glibc: Remove obsolete --enable-stackguard-randomization glibc: Drop DUMMY_LOCALE_T define patch glibc: Add missing symlinks for libpthread and librt dev files Michael Halstead (1): releases: update to include 3.1.10 Michael Opdenacker (12): manuals: mention license information in footer manuals: further documentation for cve-check cve-check: remove deprecated CVE_CHECK_CVE_WHITELIST bsp-guide: overrides syntax updates dev-manual: overrides syntax updates kernel-dev manual: overrides syntax updates ref-manual: overrides syntax updates sdk-manual: overrides syntax updates test-manual: overrides syntax updates sdk-manual: reference obsolete reference to ADT Manuals: replace "file name" by "filename" dev-manual: fix grammar in post-install script explanations Nisha Parrakat (1): dbus_%.bbappend: stop using selinux_set_mapping Olaf Mandel (1): kickstart: document which options accept units Patrick Williams (3): pixman: re-disable iwmmxt systemd: add zstd PACKAGECONFIG systemd: set zstd as default PACKAGECONFIG Paul Barker (2): u-boot: Package extlinux.conf separately pypi: Allow override of PyPI archive name Quentin Schulz (3): insane.bbclass: fix new override syntax migration docs: fix new override syntax migration docs: overview-manual: concepts: remove long-gone BBHASHDEPS variable Richard Purdie (6): test-manual: Add extra detail to YP Compatible section migration-3.4: Add extra notes to override syntax changes ruby: Fix DEBUG_PREFIX_MAP in LDFLAGS issue gettext: Fix reproducibility issue with LDFLAGS curl: Fix reproducibility issue with LDFLAGS libtool: Fix lto option passing for reproducible builds Ross Burton (11): e2fsprogs: ensure small images have 256-byte inodes wic: don't forcibly pass -T default parted: drop unneeded ld-is-gold patch parted: update patch status buildtools-tarball: add testsdk task oeqa/sdk: add some buildtools tests bitbake: utils: add environment updating context manager bitbake: fetch2: expose environment variable names that need to be exported bitbake: fetch2/wget: ensure all variables are set when calling urllib bitbake: fetch2/wget: fetch securely by default tar: ignore node-tar CVEs Thomas Perrot (2): kernel-fitimage: images should not be signed with the same keys as the configurations oeqa/selftest/fitimage: update tests to use two keys Tim Orling (3): python3-scons{-native}: upgrade 4.1.0 -> 4.2.0 perl: do_create_rdepends_inc override syntax package.bbclass: FILER* override syntax Tom Rini (2): common-tasks: Add a summary to the end of the bbappend example manuals: Rename the "Using .bbappend Files in Your Layer" section Tony Battersby (2): bitbake.conf: add DEBUG_PREFIX_MAP to TARGET_LDFLAGS ruby: Fix reproducibility issue with LDFLAGS Tony Tascioglu (1): valgrind: skip broken ptests for glibc 2.34 Vyacheslav Yurkov (7): lib/oe: add generic functions for overlayfs overlayfs.bbclass: generate overlayfs mount units rootfs-postcommands: add QA check for overlayfs systemd-machine-units: add bbappend for meta-selftest overlayfs: meta-selftest recipe oeqa/selftest: overlayfs unit tests MAINTAINERS: add overlayfs maintainer Yi Zhao (3): dbus: add PACKAGECONFIG for audit and selinux glib-2.0: add PACKAGECONFIG for selinux shadow: add PACKAGECONFIG for audit and selinux hongxu (1): sdk: fix relocate symlink failed wangmy (1): ell: upgrade 0.41 -> 0.42 meta-raspberrypi: c7f4c739a3..32921fc9bd: Omer Akram (1): linux-firmware-rpidistro: fix wifi driver loading on cm4 Otavio Salvador (1): rpi-config: Allow setting hdmi_cvt meta-openembedded: 3cf2475ea0..a13db91f19: Changqing Li (1): ndpi: fix CVE-2021-36082 Chen Qi (1): Convert to new override syntax using latest convert-overrides.py script Dmitry Baryshkov (1): image_types_sparse: fix sparse image generation Geoff Parker (1): cifs-utils: typo fix fakse --> false Kai Kang (2): libdbi-perl: fix CVE-2014-10402 python3-m2crypto: fix for new overrides syntax Khem Raj (1): packagegroup-meta-oe: Add ttf-ipa Leon Anavi (15): python3-astroid: Upgrade 2.6.5 -> 2.6.6 python3-gast: Upgrade 0.5.1 -> 0.5.2 python3-greenlet: Upgrade 1.1.0 -> 1.1.1 python3-bitarray: Upgrade 2.2.3 -> 2.2.5 python3-send2trash: Upgrade 1.7.1 -> 1.8.0 python3-zeroconf: Upgrade 0.33.2 -> 0.34.3 python3-aiohue: Upgrade 2.5.1 -> 2.6.1 python3-configargparse: Upgrade 1.5.1 -> 1.5.2 python3-pycurl: Upgrade 7.43.0.6 -> 7.44.0 python3-distro: Upgrade 1.5.0 -> 1.6.0 python3-google-api-core: Upgrade 1.30.0 -> 1.31.1 python3-google-auth: Upgrade 1.32.0 -> 1.34.0 python3-google-api-python-client: Upgrade 2.12.0 -> 2.15.0 python3-huey: Upgrade 2.3.2 -> 2.4.0 python3-apply-defaults: Upgrade 0.1.4 -> 0.1.6 Martin Jansa (1): python3-grpcio: make sure that GRPC_CFLAGS is expanded to empty Michael Opdenacker (3): vorbis-tools: update to 1.4.2 (latest in 1.4.x series) bigbuckbunny-1080p: fix sample video URL opus-tools: update to 0.2, move to meta-multimedia and fix license Mingli Yu (3): jemalloc: fix the race during do_install jemalloc: add ptest support jemalloc: improve the ptest output Naveen Saini (1): python3-defusedxml: extend recipe to add native support Philippe Coval (1): mycroft: Install more tools needed by scripts Tony Battersby (3): curlpp: fix QA Issue after LDFLAGS change ldns: fix QA Issue after LDFLAGS change tcsh: fix compile error after LDFLAGS change Yi Zhao (5): audit: upgrade 3.0.3 -> 3.0.4 augeas: rename PACKAGECONFIG[libselinux] to PACKAGECONFIG[selinux] network-manager-applet: add selinux to PACKAGECONFIG if enable selinux distro feature networkmanager: add PACKAGECONFIG for audit and selinux augeas: add selinux to PACKAGECONFIG if enable selinux distro feature leimaohui (1): ttf-ipa: Added a new font. wangmy (1): iwd: upgrade 1.15 -> 1.16 zangrc (1): python3-humanize: upgrade 3.10.0 -> 3.11.0 zhengruoqin (3): python3-engineio: upgrade 4.2.0 -> 4.2.1 python3-ipython: upgrade 7.25.0 -> 7.26.0 python3-isort: upgrade 5.9.2 -> 5.9.3 Signed-off-by: Patrick Williams Change-Id: I7a8bd19709f465db51254ed3fcaf2486fe64dcaf --- .../network-manager-applet_1.22.0.bb | 2 +- .../recipes-multimedia/mycroft/mycroft_19.8.1.bb | 3 + .../opus-tools/opus-tools_0.2.bb | 15 + .../packagegroups/packagegroup-meta-multimedia.bb | 1 + .../sample-content/bigbuckbunny-1080p.bb | 2 +- ...oggenc-Fix-large-alloca-on-bad-AIFF-input.patch | 49 - ...error-blocking-compilation-with-hardening.patch | 26 - .../vorbis-tools/vorbis-tools/gettext.patch | 32 +- .../vorbis-tools/vorbis-tools_1.4.0.bb | 27 - .../vorbis-tools/vorbis-tools_1.4.2.bb | 25 + .../networkmanager/networkmanager_1.32.4.bb | 3 + .../recipes-daemons/lldpd/lldpd_1.0.8.bb | 2 +- .../recipes-support/cifs/cifs-utils_6.13.bb | 2 +- .../recipes-support/curlpp/curlpp_0.8.1.bb | 7 + .../ntopng/files/CVE-2021-36082.patch | 116 ++ .../recipes-support/ntopng/ndpi_3.4.bb | 1 + .../meta-oe/classes/image_types_sparse.bbclass | 24 +- .../meta-oe/recipes-connectivity/iwd/iwd_1.15.bb | 55 - .../meta-oe/recipes-connectivity/iwd/iwd_1.16.bb | 55 + .../recipes-core/meta/distro-feed-configs.bb | 2 +- .../packagegroups/packagegroup-meta-oe.bb | 2 +- .../recipes-devtools/geany/geany-plugins_1.37.bb | 18 +- ...in-make-sure-doc-generated-before-install.patch | 42 + .../recipes-devtools/jemalloc/files/run-ptest | 21 + .../recipes-devtools/jemalloc/jemalloc_5.2.1.bb | 21 +- .../meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb | 7 + .../perl/libdbi-perl/CVE-2014-10402.patch | 56 + .../recipes-devtools/perl/libdbi-perl_1.643.bb | 4 +- .../recipes-graphics/dnfdragora/dnfdragora_git.bb | 2 +- .../ttf-fonts/ttf-ipa_003.03.01.bb | 21 + .../opus-tools/opus-tools_0.1.8.bb | 15 - ...id-caches-when-user-group-added-deleted-m.patch | 132 ++ .../meta-oe/recipes-security/audit/audit_3.0.3.bb | 109 -- .../meta-oe/recipes-security/audit/audit_3.0.4.bb | 110 ++ .../meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb | 2 +- .../meta-oe/recipes-support/augeas/augeas.inc | 4 +- .../libmime/libmime-types-perl_2.17.bb | 2 +- .../python/python3-aiohue_2.5.1.bb | 11 - .../python/python3-aiohue_2.6.1.bb | 11 + .../python/python3-apply-defaults_0.1.4.bb | 15 - .../python/python3-apply-defaults_0.1.6.bb | 14 + .../python/python3-astroid_2.6.5.bb | 32 - .../python/python3-astroid_2.6.6.bb | 32 + .../python/python3-bitarray_2.2.3.bb | 10 - .../python/python3-bitarray_2.2.5.bb | 10 + .../python/python3-configargparse_1.5.1.bb | 21 - .../python/python3-configargparse_1.5.2.bb | 21 + .../python/python3-defusedxml_0.7.1.bb | 2 + .../python/python3-distro_1.5.0.bb | 13 - .../python/python3-distro_1.6.0.bb | 12 + .../python/python3-engineio_4.2.0.bb | 21 - .../python/python3-engineio_4.2.1.bb | 20 + .../recipes-devtools/python/python3-gast_0.5.1.bb | 11 - .../recipes-devtools/python/python3-gast_0.5.2.bb | 11 + .../python/python3-google-api-core_1.30.0.bb | 26 - .../python/python3-google-api-core_1.31.1.bb | 26 + .../python3-google-api-python-client_2.12.0.bb | 20 - .../python3-google-api-python-client_2.15.0.bb | 20 + .../python/python3-google-auth_1.32.0.bb | 27 - .../python/python3-google-auth_1.34.0.bb | 27 + .../python/python3-greenlet_1.1.0.bb | 9 - .../python/python3-greenlet_1.1.1.bb | 9 + .../python/python3-grpcio_1.38.1.bb | 1 + .../recipes-devtools/python/python3-huey_2.3.2.bb | 11 - .../recipes-devtools/python/python3-huey_2.4.0.bb | 11 + .../python/python3-humanize_3.10.0.bb | 21 - .../python/python3-humanize_3.11.0.bb | 21 + .../python/python3-ipython_7.25.0.bb | 28 - .../python/python3-ipython_7.26.0.bb | 28 + .../recipes-devtools/python/python3-isort_5.9.2.bb | 20 - .../recipes-devtools/python/python3-isort_5.9.3.bb | 20 + .../python/python3-m2crypto_0.38.0.bb | 4 +- .../python/python3-pycurl_7.43.0.6.bb | 23 - .../python/python3-pycurl_7.44.0.bb | 22 + .../python/python3-zeroconf_0.33.2.bb | 13 - .../python/python3-zeroconf_0.34.3.bb | 13 + .../send2trash/python3-send2trash_1.7.1.bb | 9 - .../send2trash/python3-send2trash_1.8.0.bb | 9 + meta-raspberrypi/docs/extra-build-config.md | 2 +- .../recipes-bsp/bootfiles/rpi-config_git.bb | 3 + .../linux-firmware-rpidistro_git.bb | 1 + poky/MAINTAINERS.md | 1 + .../bitbake-user-manual-fetching.rst | 4 + .../bitbake-user-manual-ref-variables.rst | 4 + poky/bitbake/lib/bb/fetch2/__init__.py | 46 +- poky/bitbake/lib/bb/fetch2/wget.py | 64 +- poky/bitbake/lib/bb/tests/utils.py | 18 + poky/bitbake/lib/bb/utils.py | 16 + poky/documentation/bsp-guide/bsp.rst | 52 +- poky/documentation/conf.py | 2 +- poky/documentation/dev-manual/common-tasks.rst | 366 +++-- poky/documentation/kernel-dev/advanced.rst | 6 +- poky/documentation/kernel-dev/common.rst | 74 +- poky/documentation/kernel-dev/faq.rst | 4 +- .../migration-guides/migration-1.4.rst | 2 +- .../migration-guides/migration-1.5.rst | 2 +- .../migration-guides/migration-3.4.rst | 7 + poky/documentation/overview-manual/concepts.rst | 7 +- poky/documentation/overview-manual/yp-intro.rst | 2 +- poky/documentation/ref-manual/classes.rst | 38 +- poky/documentation/ref-manual/faq.rst | 4 +- poky/documentation/ref-manual/kickstart.rst | 30 +- poky/documentation/ref-manual/qa-checks.rst | 22 +- poky/documentation/ref-manual/variables.rst | 195 +-- poky/documentation/releases.rst | 3 +- .../sdk-manual/appendix-customizing-standard.rst | 2 +- .../sdk-manual/appendix-customizing.rst | 6 +- poky/documentation/sdk-manual/appendix-obtain.rst | 2 +- poky/documentation/sdk-manual/extensible.rst | 4 +- poky/documentation/sdk-manual/intro.rst | 10 - poky/documentation/sphinx-static/switchers.js | 2 +- .../test-manual/reproducible-builds.rst | 2 +- .../test-manual/understand-autobuilder.rst | 2 +- .../test-manual/yocto-project-compatible.rst | 5 + .../recipes-test/overlayfs-user/overlayfs-user.bb | 17 + .../systemd-machine-units_%.bbappend | 2 + .../baremetal-examples/baremetal-helloworld_git.bb | 5 +- poky/meta/classes/baremetal-image.bbclass | 3 + poky/meta/classes/cve-check.bbclass | 65 +- poky/meta/classes/insane.bbclass | 12 +- poky/meta/classes/kernel-fitimage.bbclass | 40 +- poky/meta/classes/multilib.bbclass | 4 +- poky/meta/classes/overlayfs.bbclass | 111 ++ poky/meta/classes/package.bbclass | 24 +- poky/meta/classes/pypi.bbclass | 6 +- poky/meta/classes/rootfs-postcommands.bbclass | 25 + poky/meta/classes/sstate.bbclass | 2 + poky/meta/classes/terminal.bbclass | 5 +- poky/meta/conf/bitbake.conf | 6 +- poky/meta/conf/distro/include/tcmode-default.inc | 2 +- .../meta/conf/machine/include/arm/arch-armv7em.inc | 17 + poky/meta/conf/machine/include/arm/arch-armv7m.inc | 17 + .../machine/include/arm/arch-armv8-1m-main.inc | 18 + .../conf/machine/include/arm/arch-armv8m-base.inc | 17 + .../conf/machine/include/arm/arch-armv8m-main.inc | 36 + .../include/arm/armv8-1m/tune-cortexm55.inc | 14 + .../machine/include/arm/armv8-m/tune-cortexm23.inc | 14 + .../machine/include/arm/armv8-m/tune-cortexm33.inc | 17 + .../include/arm/armv8-m/tune-cortexm35p.inc | 17 + poky/meta/conf/machine/include/tune-cortexm1.inc | 14 + poky/meta/conf/machine/include/tune-cortexm3.inc | 14 + poky/meta/conf/machine/include/tune-cortexm4.inc | 14 + poky/meta/conf/machine/include/tune-cortexm7.inc | 14 + poky/meta/conf/machine/qemuppc64.conf | 4 +- poky/meta/files/toolchain-shar-relocate.sh | 2 +- poky/meta/lib/oe/cve_check.py | 83 + poky/meta/lib/oe/overlayfs.py | 43 + poky/meta/lib/oe/packagedata.py | 6 +- poky/meta/lib/oeqa/runtime/cases/date.py | 9 +- poky/meta/lib/oeqa/sdk/buildtools-cases/README | 2 + poky/meta/lib/oeqa/sdk/buildtools-cases/build.py | 23 + poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py | 22 + poky/meta/lib/oeqa/selftest/cases/fitimage.py | 21 +- poky/meta/lib/oeqa/selftest/cases/overlayfs.py | 171 +++ poky/meta/recipes-bsp/u-boot/u-boot.inc | 5 +- poky/meta/recipes-core/dbus/dbus-glib_0.112.bb | 2 +- poky/meta/recipes-core/dbus/dbus.inc | 5 +- .../dbus/dbus/stop_using_selinux_set_mapping.patch | 148 ++ poky/meta/recipes-core/ell/ell_0.41.bb | 24 - poky/meta/recipes-core/ell/ell_0.42.bb | 24 + poky/meta/recipes-core/gettext/gettext_0.21.bb | 1 + poky/meta/recipes-core/glib-2.0/glib.inc | 3 +- .../glibc/cross-localedef-native_2.33.bb | 50 - .../glibc/cross-localedef-native_2.34.bb | 49 + poky/meta/recipes-core/glibc/glibc-common.inc | 2 +- poky/meta/recipes-core/glibc/glibc-locale_2.33.bb | 1 - poky/meta/recipes-core/glibc/glibc-locale_2.34.bb | 1 + poky/meta/recipes-core/glibc/glibc-mtrace_2.33.bb | 1 - poky/meta/recipes-core/glibc/glibc-mtrace_2.34.bb | 1 + poky/meta/recipes-core/glibc/glibc-package.inc | 5 +- poky/meta/recipes-core/glibc/glibc-scripts_2.33.bb | 1 - poky/meta/recipes-core/glibc/glibc-scripts_2.34.bb | 1 + .../recipes-core/glibc/glibc-testsuite_2.33.bb | 64 - .../recipes-core/glibc/glibc-testsuite_2.34.bb | 64 + poky/meta/recipes-core/glibc/glibc-version.inc | 8 +- poky/meta/recipes-core/glibc/glibc.inc | 2 +- ...def-Add-hardlink-resolver-from-util-linux.patch | 2 +- ...ledef-fix-ups-hardlink-to-make-it-compile.patch | 2 +- ...libc-Look-for-host-system-ld.so.cache-as-.patch | 8 +- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 6 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 22 +- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 2 +- ...libc-Make-relocatable-install-for-locales.patch | 6 +- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 1581 -------------------- ...libc-Fall-back-to-faccessat-on-faccess2-r.patch | 32 + ...500-e5500-e6500-603e-fsqrt-implementation.patch | 1581 ++++++++++++++++++++ ...-Fix-undefined-reference-to-__sqrt_finite.patch | 205 --- ...qrt-f-are-now-inline-functions-and-call-o.patch | 384 ----- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 205 +++ ...bug-1443-which-explains-what-the-patch-do.patch | 58 - ...qrt-f-are-now-inline-functions-and-call-o.patch | 384 +++++ ...bug-1443-which-explains-what-the-patch-do.patch | 58 + ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 33 - ...qrt-f-are-now-inline-functions-and-call-o.patch | 58 - ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 33 + ...qrt-f-are-now-inline-functions-and-call-o.patch | 58 + ...-configure.ac-handle-correctly-libc_cv_ro.patch | 39 - ...-configure.ac-handle-correctly-libc_cv_ro.patch | 39 + ...thin-the-path-sets-wrong-config-variables.patch | 260 ---- ...-timezone-re-written-tzselect-as-posix-sh.patch | 42 - ...thin-the-path-sets-wrong-config-variables.patch | 260 ++++ ...move-bash-dependency-for-nscd-init-script.patch | 72 - ...-timezone-re-written-tzselect-as-posix-sh.patch | 34 + ...move-bash-dependency-for-nscd-init-script.patch | 72 + ...c-Cross-building-and-testing-instructions.patch | 616 -------- ...c-Cross-building-and-testing-instructions.patch | 616 ++++++++ ...019-eglibc-Help-bootstrap-cross-toolchain.patch | 97 -- ...020-eglibc-Help-bootstrap-cross-toolchain.patch | 97 ++ ...0020-eglibc-Resolve-__fpscr_values-on-SH4.patch | 53 - ...ward-port-cross-locale-generation-support.patch | 560 ------- ...0021-eglibc-Resolve-__fpscr_values-on-SH4.patch | 53 + ...0022-Define-DUMMY_LOCALE_T-if-not-defined.patch | 29 - ...ward-port-cross-locale-generation-support.patch | 560 +++++++ ...dd-to-archive-uses-a-hard-coded-locale-pa.patch | 80 - ....c-Make-_dl_build_local_scope-breadth-fir.patch | 53 - ...dd-to-archive-uses-a-hard-coded-locale-pa.patch | 80 + ....c-Make-_dl_build_local_scope-breadth-fir.patch | 53 + ...tl-Emit-no-lines-in-bison-generated-files.patch | 31 - ...tl-Emit-no-lines-in-bison-generated-files.patch | 31 + ...ent-maybe-uninitialized-errors-with-Os-BZ.patch | 2 +- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 2 +- ...-Unify-the-header-between-arm-and-aarch64.patch | 4 +- ...erpc-Do-not-ask-compiler-for-finding-arch.patch | 2 +- .../recipes-core/glibc/glibc/CVE-2021-33574.patch | 61 - .../recipes-core/glibc/glibc/faccessat2-perm.patch | 31 - .../recipes-core/glibc/glibc/mte-backports.patch | 1238 --------------- poky/meta/recipes-core/glibc/glibc_2.33.bb | 134 -- poky/meta/recipes-core/glibc/glibc_2.34.bb | 130 ++ poky/meta/recipes-core/meta/buildtools-tarball.bb | 13 + poky/meta/recipes-core/systemd/systemd_249.1.bb | 3 +- poky/meta/recipes-core/util-linux/util-linux.inc | 1 + .../util-linux/util-linux/CVE-2021-37600.patch | 33 + .../recipes-core/util-linux/util-linux_2.37.1.bb | 31 +- .../e2fsprogs/big-inodes-for-small-fs.patch | 22 + .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb | 1 + .../recipes-devtools/elfutils/elfutils_0.185.bb | 2 +- .../recipes-devtools/libtool/libtool-2.4.6.inc | 1 + .../libtool/libtool/lto-prefix.patch | 22 + poky/meta/recipes-devtools/perl/perl_5.34.0.bb | 2 +- .../python/python3-scons-native_4.1.0.bb | 7 - .../python/python3-scons-native_4.2.0.bb | 7 + .../0001-Fix-man-page-installation.patch | 23 +- .../recipes-devtools/python/python3-scons_4.1.0.bb | 27 - .../recipes-devtools/python/python3-scons_4.2.0.bb | 27 + poky/meta/recipes-devtools/qemu/qemu.inc | 2 +- ...plate-Makefile.in-filter-out-f-prefix-map.patch | 42 + poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb | 5 + .../valgrind/valgrind/remove-for-aarch64 | 2 + .../valgrind/valgrind/remove-for-all | 7 + ...s_resize-link-against-libuuid-explicitly-.patch | 34 - .../recipes-extended/parted/files/check-vfat.patch | 2 +- poky/meta/recipes-extended/parted/parted_3.4.bb | 1 - .../perl/libconvert-asn1-perl_0.27.bb | 22 - .../perl/libconvert-asn1-perl_0.31.bb | 22 + poky/meta/recipes-extended/shadow/shadow.inc | 6 +- poky/meta/recipes-extended/tar/tar_1.34.bb | 3 + .../recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 1 + .../recipes-graphics/xorg-lib/pixman_0.40.0.bb | 4 + poky/meta/recipes-kernel/kmod/kmod_git.bb | 8 +- .../linux-firmware/linux-firmware_20210511.bb | 17 +- poky/meta/recipes-support/curl/curl_7.78.0.bb | 1 + poky/scripts/contrib/convert-overrides.py | 6 +- poky/scripts/lib/wic/canned-wks/common.wks.inc | 2 +- poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks | 2 +- poky/scripts/lib/wic/canned-wks/mkefidisk.wks | 2 +- 265 files changed, 7449 insertions(+), 7225 deletions(-) create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ntopng/files/CVE-2021-36082.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-Makefile.in-make-sure-doc-generated-before-install.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/run-ptest create mode 100644 meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch delete mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.6.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.6.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.30.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.31.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.12.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.32.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.34.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.10.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.11.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.25.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.26.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.33.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.7.1.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb create mode 100644 poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb create mode 100644 poky/meta-selftest/recipes-test/systemd-machine-units/systemd-machine-units_%.bbappend create mode 100644 poky/meta/classes/overlayfs.bbclass create mode 100644 poky/meta/conf/machine/include/arm/arch-armv7em.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv7m.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv8m-base.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv8m-main.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc create mode 100644 poky/meta/conf/machine/include/tune-cortexm1.inc create mode 100644 poky/meta/conf/machine/include/tune-cortexm3.inc create mode 100644 poky/meta/conf/machine/include/tune-cortexm4.inc create mode 100644 poky/meta/conf/machine/include/tune-cortexm7.inc create mode 100644 poky/meta/lib/oe/overlayfs.py create mode 100644 poky/meta/lib/oeqa/sdk/buildtools-cases/README create mode 100644 poky/meta/lib/oeqa/sdk/buildtools-cases/build.py create mode 100644 poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/overlayfs.py create mode 100644 poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch delete mode 100644 poky/meta/recipes-core/ell/ell_0.41.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.42.bb delete mode 100644 poky/meta/recipes-core/glibc/cross-localedef-native_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/cross-localedef-native_2.34.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-locale_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-locale_2.34.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-mtrace_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-mtrace_2.34.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-scripts_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-scripts_2.34.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-testsuite_2.34.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc/0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0009-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0016-yes-within-the-path-sets-wrong-config-variables.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0017-timezone-re-written-tzselect-as-posix-sh.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0018-Remove-bash-dependency-for-nscd-init-script.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0019-eglibc-Cross-building-and-testing-instructions.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0020-eglibc-Help-bootstrap-cross-toolchain.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0021-eglibc-Forward-port-cross-locale-generation-support.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0022-Define-DUMMY_LOCALE_T-if-not-defined.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0025-intl-Emit-no-lines-in-bison-generated-files.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/CVE-2021-33574.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/faccessat2-perm.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/mte-backports.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc_2.33.bb create mode 100644 poky/meta/recipes-core/glibc/glibc_2.34.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch create mode 100644 poky/meta/recipes-devtools/libtool/libtool/lto-prefix.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons_4.2.0.bb create mode 100644 poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch delete mode 100644 poky/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch delete mode 100644 poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb create mode 100644 poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.31.bb (limited to 'poky/meta/recipes-kernel') diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb index 28d95d442..cef7c7569 100644 --- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb +++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb @@ -16,7 +16,7 @@ EXTRA_OEMESON = "-Dappindicator=no" # We currently don't build NetworkManager with libteamdctl support EXTRA_OEMESON += "-Dteam=false" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager" PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb index 050076ddf..35c7989be 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb @@ -87,4 +87,7 @@ RDEPENDS:${PN} += "mimic" # pgrep is used by stop-mycroft.sh RDEPENDS:${PN} += "procps" +# More tools needed by scripts +RDEPENDS:${PN} += "bash jq libnotify" + SYSTEMD_SERVICE:${PN} = "mycroft-setup.service mycroft.service" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb new file mode 100644 index 000000000..b5e6ed947 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "Opus Audio Tools" +HOMEPAGE = "http://www.opus-codec.org/" + +LICENSE = "BSD-2-Clause & GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=79f6fc2a6239fbe5f6e52f20ac76698c" + +SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz" +SRC_URI[md5sum] = "ff2d0536e960cabbfb8ca7c8c1759b6c" +SRC_URI[sha256sum] = "b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86" + +S = "${WORKDIR}/opus-tools-${PV}" + +DEPENDS = "libopus libopusenc flac opusfile" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb index 9e0c319c3..5522731a2 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb @@ -66,6 +66,7 @@ RDEPENDS:packagegroup-meta-multimedia = "\ mycroft \ openal-soft \ opusfile \ + opus-tools \ libdvdcss \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "vlc", "", d), "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "sox streamripper", "", d)} \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb index 7268c94ab..b848b820c 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb @@ -3,7 +3,7 @@ LICENSE = "CC-BY-3.0" # http://www.bigbuckbunny.org/index.php/about/ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" -SRC_URI = "http://themazzone.com/big_buck_bunny_1080p_surround.avi" +SRC_URI = "https://www.mediaspip.net/IMG/avi/big_buck_bunny_1080p_surround.avi" SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a" SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch deleted file mode 100644 index b623dbf37..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch +++ /dev/null @@ -1,49 +0,0 @@ -Upstream-Status: Backport - -Backport patch to fix CVE-2015-6749 from: - -https://trac.xiph.org/ticket/2212 - -Signed-off-by: Kai Kang ---- -From 04815d3e1bfae3a6cdfb2c25358a5a72b61299f7 Mon Sep 17 00:00:00 2001 -From: Mark Harris -Date: Sun, 30 Aug 2015 05:54:46 -0700 -Subject: [PATCH] oggenc: Fix large alloca on bad AIFF input - -Fixes #2212 ---- - oggenc/audio.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/oggenc/audio.c b/oggenc/audio.c -index 477da8c..4921fb9 100644 ---- a/oggenc/audio.c -+++ b/oggenc/audio.c -@@ -245,8 +245,8 @@ static int aiff_permute_matrix[6][6] = - int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen) - { - int aifc; /* AIFC or AIFF? */ -- unsigned int len; -- unsigned char *buffer; -+ unsigned int len, readlen; -+ unsigned char buffer[22]; - unsigned char buf2[8]; - aiff_fmt format; - aifffile *aiff = malloc(sizeof(aifffile)); -@@ -269,9 +269,9 @@ int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen) - return 0; /* Weird common chunk */ - } - -- buffer = alloca(len); -- -- if(fread(buffer,1,len,in) < len) -+ readlen = len < sizeof(buffer) ? len : sizeof(buffer); -+ if(fread(buffer,1,readlen,in) < readlen || -+ (len > readlen && !seek_forward(in, len-readlen))) - { - fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n")); - return 0; --- -2.5.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch deleted file mode 100644 index 111e98ac1..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Petter Reinholdtsen -Date: Wed, 22 Oct 2014 13:25:21 +0200 -Subject: Fix format error blocking compilation with hardening - -Last-Update: 2014-10-22 -Forwarded: no - -Enabling hardening refuses to compile code with sprintf() calls -with no formatting string. Adjust the code to work with hardening. ---- - ogg123/status.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ogg123/status.c b/ogg123/status.c -index 92b8ff1..ccec389 100644 ---- a/ogg123/status.c -+++ b/ogg123/status.c -@@ -148,7 +148,7 @@ int print_statistics_line (stat_format_t stats[]) - - switch (stats->type) { - case stat_noarg: -- len += sprintf(str+len, stats->formatstr); -+ len += sprintf(str+len, "%s", stats->formatstr); - break; - case stat_intarg: - len += sprintf(str+len, stats->formatstr, stats->arg.intarg); diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch index b61ce7c18..dd03fa952 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch @@ -2,23 +2,10 @@ Fix build with gettext 0.20.x Upstream-Status: Pending Signed-off-by: Khem Raj - ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,8 +2,8 @@ - - AUTOMAKE_OPTIONS = foreign dist-zip - --SUBDIRS = po intl include share debian win32 @OPT_SUBDIRS@ --DIST_SUBDIRS = po intl include share debian win32 ogg123 oggenc oggdec ogginfo \ -+SUBDIRS = po include share debian win32 @OPT_SUBDIRS@ -+DIST_SUBDIRS = po include share debian win32 ogg123 oggenc oggdec ogginfo \ - vcut vorbiscomment m4 - - EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES vorbis-tools.spec config.h mkinstalldirs +Signed-off-by: Michael Opdenacker --- a/configure.ac +++ b/configure.ac -@@ -31,7 +31,7 @@ CFLAGS="$cflags_save" +@@ -34,7 +34,7 @@ AC_PROG_LIBTOOL ALL_LINGUAS="be cs da en_GB eo es fr hr hu nl pl ro ru sk sv uk vi" @@ -27,7 +14,7 @@ Signed-off-by: Khem Raj dnl -------------------------------------------------- dnl System checks -@@ -383,7 +383,6 @@ AC_OUTPUT([ +@@ -397,7 +397,6 @@ Makefile m4/Makefile po/Makefile.in @@ -35,3 +22,16 @@ Signed-off-by: Khem Raj include/Makefile share/Makefile win32/Makefile +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,8 +2,8 @@ + + AUTOMAKE_OPTIONS = foreign dist-zip + +-SUBDIRS = po intl include share win32 @OPT_SUBDIRS@ +-DIST_SUBDIRS = po intl include share win32 ogg123 oggenc oggdec ogginfo \ ++SUBDIRS = po include share win32 @OPT_SUBDIRS@ ++DIST_SUBDIRS = po include share win32 ogg123 oggenc oggdec ogginfo \ + vcut vorbiscomment m4 + + EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb deleted file mode 100644 index 89e66528a..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Vorbis Tools" -DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ -that is free of intellectual property restrictions. vorbis-tools \ -include some command line applications to use the libraries." -HOMEPAGE = "http://www.vorbis.com/" -BUGTRACKER = "https://trac.xiph.org" -SECTION = "multimedia" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "libogg libvorbis" - -SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ - file://0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch \ - file://0004-Fix-format-error-blocking-compilation-with-hardening.patch \ - file://gettext.patch \ - " - -SRC_URI[md5sum] = "567e0fb8d321b2cd7124f8208b8b90e6" -SRC_URI[sha256sum] = "a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc" - -inherit autotools pkgconfig gettext - -PACKAGECONFIG ??= "flac ogg123" -PACKAGECONFIG[flac] = ",--without-flac,flac,libflac" -PACKAGECONFIG[speex] = ",--without-speex,speex,speex" -PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb new file mode 100644 index 000000000..f399bfaa2 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb @@ -0,0 +1,25 @@ +SUMMARY = "Vorbis Tools" +DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ +that is free of intellectual property restrictions. vorbis-tools \ +include some command line applications to use the libraries." +HOMEPAGE = "http://www.vorbis.com/" +BUGTRACKER = "https://trac.xiph.org" +SECTION = "multimedia" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "libogg libvorbis" + +SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ + file://gettext.patch \ + " + +SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e" +SRC_URI[sha256sum] = "db7774ec2bf2c939b139452183669be84fda5774d6400fc57fde37f77624f0b0" + +inherit autotools pkgconfig gettext + +PACKAGECONFIG ??= "flac ogg123" +PACKAGECONFIG[flac] = ",--without-flac,flac,libflac" +PACKAGECONFIG[speex] = ",--without-speex,speex,speex" +PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb index 0ef525d31..167d81022 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb @@ -59,6 +59,7 @@ PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ " inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} @@ -83,6 +84,8 @@ PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline" PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson" +PACKAGECONFIG[audit] = "--with-libaudit,--without-libaudit,audit" +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" PACKAGES =+ " \ ${PN}-nmcli ${PN}-nmcli-doc \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb index d5e9e2c30..cf2b156fe 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb @@ -61,4 +61,4 @@ RDEPENDS:${PN} += "os-release" FILES:${PN}-zsh-completion += "${datadir}/zsh/" # FIXME: zsh is broken in meta-oe so this cannot be enabled for now -#RDEPENDS_${PN}-zsh-completion += "zsh" +#RDEPENDS:${PN}-zsh-completion += "zsh" diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb index 54aa3ce19..a8d3e91eb 100644 --- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb +++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb @@ -26,7 +26,7 @@ do_configure:prepend() { # want installed to /usr/sbin rather than /sbin to be DISTRO_FEATURES usrmerge compliant # must override ROOTSBINDIR (default '/sbin'), # setting --exec-prefix or --prefix in EXTRA_OECONF does not work - if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','fakse',d)}; then + if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then export ROOTSBINDIR=${sbindir} fi } diff --git a/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb b/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb index 6ce52d717..263de81c7 100644 --- a/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb @@ -16,3 +16,10 @@ S = "${WORKDIR}/git" inherit cmake pkgconfig binconfig BBCLASSEXTEND = "native nativesdk" + +do_install:append() { + sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -i ${D}${libdir}/pkgconfig/*.pc +} diff --git a/meta-openembedded/meta-networking/recipes-support/ntopng/files/CVE-2021-36082.patch b/meta-openembedded/meta-networking/recipes-support/ntopng/files/CVE-2021-36082.patch new file mode 100644 index 000000000..8fdd62d18 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ntopng/files/CVE-2021-36082.patch @@ -0,0 +1,116 @@ +From 1ec621c85b9411cc611652fd57a892cfef478af3 Mon Sep 17 00:00:00 2001 +From: Luca Deri +Date: Sat, 15 May 2021 19:53:46 +0200 +Subject: [PATCH] Added further checks + +Upstream-Status: Backport [https://github.com/ntop/nDPI/commit/1ec621c85b9411cc611652fd57a892cfef478af3] +CVE: CVE-2021-36082 + +Signed-off-by: Changqing Li + +--- + src/lib/protocols/netbios.c | 2 +- + src/lib/protocols/tls.c | 32 +++++++++++++++++--------------- + 2 files changed, 18 insertions(+), 16 deletions(-) + +diff --git a/src/lib/protocols/netbios.c b/src/lib/protocols/netbios.c +index 1f3850cb..0d3b705f 100644 +--- a/src/lib/protocols/netbios.c ++++ b/src/lib/protocols/netbios.c +@@ -42,7 +42,7 @@ int ndpi_netbios_name_interpret(char *in, size_t inlen, char *out, u_int out_len + int ret = 0, len, idx = inlen; + char *b; + +- len = (*in++)/2; ++ len = (*in++)/2, inlen--; + b = out; + *out = 0; + +diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c +index 5b572cae..c115ac08 100644 +--- a/src/lib/protocols/tls.c ++++ b/src/lib/protocols/tls.c +@@ -994,21 +994,23 @@ int processClientServerHello(struct ndpi_detection_module_struct *ndpi_struct, + i += 4 + extension_len, offset += 4 + extension_len; + } + +- ja3_str_len = snprintf(ja3_str, sizeof(ja3_str), "%u,", ja3.tls_handshake_version); ++ ja3_str_len = snprintf(ja3_str, JA3_STR_LEN, "%u,", ja3.tls_handshake_version); + +- for(i=0; i 0) ? "-" : "", ja3.cipher[i]); ++ for(i=0; (i ja3_str_len); i++) { ++ rc = snprintf(&ja3_str[ja3_str_len], JA3_STR_LEN-ja3_str_len, "%s%u", (i > 0) ? "-" : "", ja3.cipher[i]); + + if(rc <= 0) break; else ja3_str_len += rc; + } + +- rc = snprintf(&ja3_str[ja3_str_len], sizeof(ja3_str)-ja3_str_len, ","); +- if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; ++ if(JA3_STR_LEN > ja3_str_len) { ++ rc = snprintf(&ja3_str[ja3_str_len], JA3_STR_LEN-ja3_str_len, ","); ++ if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; ++ } + + /* ********** */ + +- for(i=0; i 0) ? "-" : "", ja3.tls_extension[i]); ++ for(i=0; (i 0) ? "-" : "", ja3.tls_extension[i]); + + if(rc <= 0) break; else ja3_str_len += rc; + } +@@ -1443,41 +1445,41 @@ int processClientServerHello(struct ndpi_detection_module_struct *ndpi_struct, + int rc; + + compute_ja3c: +- ja3_str_len = snprintf(ja3_str, sizeof(ja3_str), "%u,", ja3.tls_handshake_version); ++ ja3_str_len = snprintf(ja3_str, JA3_STR_LEN, "%u,", ja3.tls_handshake_version); + + for(i=0; i 0) ? "-" : "", ja3.cipher[i]); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; else break; + } + +- rc = snprintf(&ja3_str[ja3_str_len], sizeof(ja3_str)-ja3_str_len, ","); ++ rc = snprintf(&ja3_str[ja3_str_len], JA3_STR_LEN-ja3_str_len, ","); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; + + /* ********** */ + + for(i=0; i 0) ? "-" : "", ja3.tls_extension[i]); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; else break; + } + +- rc = snprintf(&ja3_str[ja3_str_len], sizeof(ja3_str)-ja3_str_len, ","); ++ rc = snprintf(&ja3_str[ja3_str_len], JA3_STR_LEN-ja3_str_len, ","); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; + + /* ********** */ + + for(i=0; i 0) ? "-" : "", ja3.elliptic_curve[i]); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; else break; + } + +- rc = snprintf(&ja3_str[ja3_str_len], sizeof(ja3_str)-ja3_str_len, ","); ++ rc = snprintf(&ja3_str[ja3_str_len], JA3_STR_LEN-ja3_str_len, ","); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; + + for(i=0; i 0) ? "-" : "", ja3.elliptic_curve_point_format[i]); + if(rc > 0 && ja3_str_len + rc < JA3_STR_LEN) ja3_str_len += rc; else break; + } +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/ntopng/ndpi_3.4.bb b/meta-openembedded/meta-networking/recipes-support/ntopng/ndpi_3.4.bb index cfc60a7aa..89450f562 100644 --- a/meta-openembedded/meta-networking/recipes-support/ntopng/ndpi_3.4.bb +++ b/meta-openembedded/meta-networking/recipes-support/ntopng/ndpi_3.4.bb @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" SRCREV = "64929a75e0a7a60d864bd25a9fd97fdf9ac892a2" SRC_URI = "git://github.com/ntop/nDPI.git;branch=3.4-stable \ file://0001-autogen.sh-not-generate-configure.patch \ + file://CVE-2021-36082.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass index af3879372..65d980fd9 100644 --- a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass +++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass @@ -1,16 +1,16 @@ inherit image_types CONVERSIONTYPES += "sparse" -CONVERSION_CMD:sparse() { - in="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" - out="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" - case "${type}" in - ext*) - ext2simg "$in" "$out" - ;; - *) - img2simg "$in" "$out" - ;; - esac -} +CONVERSION_CMD:sparse = " \ + case "${type}" in \ + ext*) \ + ext2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \ + "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \ + ;; \ + *) \ + img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \ + "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \ + ;; \ + esac \ +" CONVERSION_DEPENDS_sparse = "android-tools-native" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.15.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.15.bb deleted file mode 100644 index bb7538739..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.15.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ - file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ - " -SRC_URI[sha256sum] = "a7ab8e80592da5cb1a8b651b6d41e87e4507a3f07e04246e05bca89c547af659" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE:${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure:prepend() { - install -d ${S}/build-aux -} - -do_install:append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS:${PN} = "dbus" - -RRECOMMENDS:${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb new file mode 100644 index 000000000..6bace616a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb @@ -0,0 +1,55 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + " +SRC_URI[sha256sum] = "af548398aea2089a3a5103e5586561f24791090a17d4b2e50785e2faab5ed03a" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE:${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure:prepend() { + install -d ${S}/build-aux +} + +do_install:append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS:${PN} = "dbus" + +RRECOMMENDS:${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb index cffeeb6a0..a87de4583 100644 --- a/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb +++ b/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb @@ -28,6 +28,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" # confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ] # return " ".join( confs ) # -#CONFFILES_${PN} += '${@distro_feed_configs(d)}' +#CONFFILES:${PN} += '${@distro_feed_configs(d)}' CONFFILES:${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }' diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 47ee3099a..d46447d33 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -525,6 +525,7 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\ ttf-gentium \ ttf-hunky-sans \ ttf-hunky-serif \ + ttf-ipa \ ttf-lohit \ ttf-inconsolata \ ttf-liberation-sans-narrow \ @@ -668,7 +669,6 @@ RDEPENDS:packagegroup-meta-oe-multimedia ="\ live555-examples \ live555-mediaserver \ libmikmod \ - opus-tools \ libmodplug \ sound-theme-freedesktop \ yavta \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb index 10e51fa81..9a7053792 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb @@ -66,7 +66,7 @@ FILES:${PN}-commander = "${libdir}/geany/commander.so" EXTRA_OECONF += "--disable-debugger" #PLUGINS += "${PN}-debugger" #LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4" -#FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger" +#FILES:${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger" PLUGINS += "${PN}-defineformat" LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe" @@ -76,8 +76,8 @@ FILES:${PN}-defineformat = "${libdir}/geany/defineformat.so" EXTRA_OECONF += "--disable-devhelp" #PLUGINS += "${PN}-devhelp" #LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504" -#LICENSE_${PN}-devhelp = "GPLv3" -#FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so" +#LICENSE:${PN}-devhelp = "GPLv3" +#FILES:${PN}-devhelp = "${libdir}/geany/devhelp.so" PLUGINS += "${PN}-geanyctags" LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" @@ -100,7 +100,7 @@ FILES:${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so" EXTRA_OECONF += "--disable-geanylua" #PLUGINS += "${PN}-geanylua" #LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4" -#FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so" +#FILES:${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so" PLUGINS += "${PN}-geanymacro" LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" @@ -125,7 +125,7 @@ FILES:${PN}-geanyprj = "${libdir}/geany/geanyprj.so" #PLUGINS += "${PN}-geanypy" #LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so" +#FILES:${PN}-geanypy = "${libdir}/geany/geanypy.so" PLUGINS += "${PN}-geanyvc" LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" @@ -160,13 +160,13 @@ FILES:${PN}-lipsum = "${libdir}/geany/lipsum.so" EXTRA_OECONF += "--disable-peg-markdown" #PLUGINS += "${PN}-markdown" #LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -#FILES_${PN}-markdown = "${libdir}/geany/markdown.so" +#FILES:${PN}-markdown = "${libdir}/geany/markdown.so" # | checking whether the GTK version in use is compatible with plugin multiterm... no EXTRA_OECONF += "--disable-multiterm" #PLUGINS += "${PN}-multiterm" #LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -#FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so" +#FILES:${PN}-multiterm = "${libdir}/geany/multiterm.so" PLUGINS += "${PN}-overview" LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0" @@ -226,8 +226,8 @@ FILES:${PN}-vimode = "${libdir}/geany/vimode.so" EXTRA_OECONF += " --disable-webhelper" #PLUGINS += "${PN}-webhelper" #LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504" -#LICENSE_${PN}-webhelper = "GPLv3" -#FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so" +#LICENSE:${PN}-webhelper = "GPLv3" +#FILES:${PN}-webhelper = "${libdir}/geany/webhelper.so" PLUGINS += "${PN}-workbench" LIC_FILES_CHKSUM += "file://workbench/COPYING;md5=c107cf754550e65755c42985a5d4e9c9" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-Makefile.in-make-sure-doc-generated-before-install.patch b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-Makefile.in-make-sure-doc-generated-before-install.patch new file mode 100644 index 000000000..0a1fe6d76 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-Makefile.in-make-sure-doc-generated-before-install.patch @@ -0,0 +1,42 @@ +From 1efb45330f5dbe475a092cda6982e6d7e135485a Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Tue, 10 Aug 2021 13:02:18 +0000 +Subject: [PATCH] Makefile.in: make sure doc generated before install + +There is a race between the doc generation and the doc installation, +so make the install depend on the build for doc to fix the error occurs +sometimes as below: + | TOPDIR/tmp-glibc/hosttools/install: cannot stat 'doc/jemalloc.3': No such file or directory + | make: *** [Makefile:513: install_doc_man] Error 1 + +Upstream-Status: Submitted [https://github.com/jemalloc/jemalloc/pull/2108] + +Signed-off-by: Mingli Yu +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 7128b007..ab94f0c8 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -501,14 +501,14 @@ install_lib: install_lib_static + endif + install_lib: install_lib_pc + +-install_doc_html: ++install_doc_html: build_doc_html + $(INSTALL) -d $(DATADIR)/doc/jemalloc$(install_suffix) + @for d in $(DOCS_HTML); do \ + echo "$(INSTALL) -m 644 $$d $(DATADIR)/doc/jemalloc$(install_suffix)"; \ + $(INSTALL) -m 644 $$d $(DATADIR)/doc/jemalloc$(install_suffix); \ + done + +-install_doc_man: ++install_doc_man: build_doc_man + $(INSTALL) -d $(MANDIR)/man3 + @for d in $(DOCS_MAN3); do \ + echo "$(INSTALL) -m 644 $$d $(MANDIR)/man3"; \ +-- +2.29.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/run-ptest b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/run-ptest new file mode 100644 index 000000000..b351f947e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/run-ptest @@ -0,0 +1,21 @@ +#!/bin/sh + +saved_dir=$PWD +for dir in tests/* ; do + cd $dir + for atest in * ; do + if [ \( -x $atest \) -a \( -f $atest \) ] ; then + rm -rf tests.log + ./$atest > tests.log 2>&1 + sed -e '/: pass/ s/^/PASS: /g' \ + -e '/: skip/ s/^/SKIP: /g' \ + -e '/: fail/ s/^/FAIL: /g' \ + -e 's/: pass//g' \ + -e 's/: skip//g' \ + -e 's/: fail//g' \ + -e '/^--- pass:/d' tests.log + fi + done + cd $saved_dir +done + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb index 39637663f..b5d53bb11 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb @@ -13,14 +13,31 @@ SECTION = "libs" LIC_FILES_CHKSUM = "file://README;md5=6900e4a158982e4c4715bf16aa54fa10" -SRC_URI = "git://github.com/jemalloc/jemalloc.git" +SRC_URI = "git://github.com/jemalloc/jemalloc.git \ + file://0001-Makefile.in-make-sure-doc-generated-before-install.patch \ + file://run-ptest \ +" SRCREV = "ea6b3e973b477b8061e0076bb257dbd7f3faa756" S = "${WORKDIR}/git" -inherit autotools +inherit autotools ptest EXTRA_AUTORECONF += "--exclude=autoheader" EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_" + +do_compile_ptest() { + oe_runmake tests +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + subdirs="test/unit test/integration test/stress " + for tooltest in ${subdirs} + do + cp -r ${B}/${tooltest} ${D}${PTEST_PATH}/tests + done + find ${D}${PTEST_PATH}/tests \( -name "*.d" -o -name "*.o" \) -exec rm -f {} \; +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb index 2a52dd688..2ce669154 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb @@ -16,3 +16,10 @@ PACKAGECONFIG[drill] = "--with-drill,--without-drill" EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \ libtool=${TARGET_PREFIX}libtool" + +do_install:append() { + sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -i ${D}${libdir}/pkgconfig/*.pc +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch new file mode 100644 index 000000000..b41bbe0a5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch @@ -0,0 +1,56 @@ +Backport patch to fix CVE-2014-10402. + +CVE: CVE-2014-10402 +Upstream-Status: Backport [https://github.com/rehsack/dbi/commit/19d0fb1] + +Ref: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972180#12 + +Signed-off-by: Kai Kang + + +From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001 +From: Jens Rehsack +Date: Tue, 6 Oct 2020 10:22:17 +0200 +Subject: [PATCH] lib/DBD/File.pm: fix CVE-2014-10401 + +Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and +figure out that DBI->parse_dsn is the wrong helper to parse our attributes in +DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes +parse_dsn to bailout. + +Parsing on our own similar to parse_dsn shows the way out. + +Signed-off-by: Jens Rehsack +--- + lib/DBD/File.pm | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm +index fb14e9a..f55076f 100644 +--- a/lib/DBD/File.pm ++++ b/lib/DBD/File.pm +@@ -109,7 +109,11 @@ sub connect + # We do not (yet) care about conflicting attributes here + # my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" }); + # will test here that both test and text should exist +- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) { ++ # ++ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter. ++ if ($dbname) { ++ my @attrs = split /;/ => $dbname; ++ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs }; + if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) { + my $msg = "No such directory '$attr_hash->{f_dir}"; + $drh->set_err (2, $msg); +@@ -120,7 +124,6 @@ sub connect + if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) { + my $msg = "No such directory '$attr->{f_dir}"; + $drh->set_err (2, $msg); +- $attr->{RaiseError} and croak $msg; + return; + } + +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb index 311cf2730..b21418298 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb @@ -9,7 +9,9 @@ SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5" -SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz" +SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz \ + file://CVE-2014-10402.patch \ + " SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398" SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa" diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb index f1e994863..70e1a47f0 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb @@ -17,7 +17,7 @@ S = "${WORKDIR}/git" inherit cmake gettext pkgconfig python3-dir python3native distutils3-base mime-xdg DEPENDS += "dnf python3 " -#DEPENDS_class-nativesdk += "nativesdk-python3" +#DEPENDS:class-nativesdk += "nativesdk-python3" RDEPENDS:${PN}:class-target = " python3-core libyui libyui-ncurses " diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb new file mode 100644 index 000000000..89c48d5fe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb @@ -0,0 +1,21 @@ +require ttf.inc + +SUMMARY = "Ipa fonts - TTF Version" +HOMEPAGE = "https://moji.or.jp/ipafont" +LICENSE = "IPA" +LICENSE_URL = "https://moji.or.jp/ipafont/license/" +LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276 \ +" +SRC_URI = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip " + +SRC_URI[sha256sum] = "f755ed79a4b8e715bed2f05a189172138aedf93db0f465b4e20c344a02766fe5" + +S = "${WORKDIR}/IPAfont00303" + +PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp" +FONT_PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp" + +FILES:ttf-ipag = "${datadir}/fonts/truetype/ipag.ttf" +FILES:ttf-ipagp = "${datadir}/fonts/truetype/ipagp.ttf" +FILES:ttf-ipam = "${datadir}/fonts/truetype/ipam.ttf" +FILES:ttf-ipamp = "${datadir}/fonts/truetype/ipamp.ttf" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb deleted file mode 100644 index a84f2bf07..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Opus Audio Tools" -HOMEPAGE = "http://www.opus-codec.org/" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=843a066da9f1facfcc6ea6f616ffecb1" - -SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz" -SRC_URI[md5sum] = "b424790eda9357a4df394e2d7ca19eac" -SRC_URI[sha256sum] = "e4e188579ea1c4e4d5066460d4a7214a7eafe3539e9a4466fdc98af41ba4a2f6" - -S = "${WORKDIR}/opus-tools-${PV}" - -DEPENDS = "libopus flac" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch new file mode 100644 index 000000000..e55093d1a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch @@ -0,0 +1,132 @@ +From 759318f11352d01b45bbab62c7bf0a53fb781083 Mon Sep 17 00:00:00 2001 +From: Steve Grubb +Date: Tue, 10 Aug 2021 11:27:16 -0400 +Subject: [PATCH] flush uid/gid caches when user/group added/deleted/modified + +It was reported in issue #209 that in the enriched format that auditd +is creating the wrong account associations. This is due to caching +previous lookups. The fix is to monitor for account lifecycle changes +and flush the LRUs if any are seen. + +Upstream-Status: Backport +[https://github.com/linux-audit/audit-userspace/commit/8662f61108f8b9365f96ef49ca8ca331a7880f24] + +Signed-off-by: Yi Zhao +--- + auparse/auparse-idata.h | 3 ++- + auparse/interpret.c | 12 ++++++++++++ + src/auditd-event.c | 27 +++++++++++++++++++++++++-- + 3 files changed, 39 insertions(+), 3 deletions(-) + +diff --git a/auparse/auparse-idata.h b/auparse/auparse-idata.h +index 660901a..eaca86a 100644 +--- a/auparse/auparse-idata.h ++++ b/auparse/auparse-idata.h +@@ -1,6 +1,6 @@ + /* + * idata.h - Header file for ausearch-lookup.c +-* Copyright (c) 2013,2016-17 Red Hat Inc., Durham, North Carolina. ++* Copyright (c) 2013,2016-17,2021 Red Hat Inc. + * All Rights Reserved. + * + * This library is free software; you can redistribute it and/or +@@ -45,6 +45,7 @@ char *auparse_do_interpretation(int type, const idata *id, + void _auparse_load_interpretations(const char *buf); + void _auparse_free_interpretations(void); + const char *_auparse_lookup_interpretation(const char *name); ++void _auparse_flush_caches(void); + + #endif + +diff --git a/auparse/interpret.c b/auparse/interpret.c +index 046867b..eef377a 100644 +--- a/auparse/interpret.c ++++ b/auparse/interpret.c +@@ -653,6 +653,18 @@ void aulookup_destroy_gid_list(void) + gid_cache_created = 0; + } + ++void _auparse_flush_caches(void) ++{ ++ if (uid_cache_created) { ++ destroy_lru(uid_cache); ++ uid_cache_created = 0; ++ } ++ if (gid_cache_created) { ++ destroy_lru(gid_cache); ++ gid_cache_created = 0; ++ } ++} ++ + static const char *print_uid(const char *val, unsigned int base) + { + int uid; +diff --git a/src/auditd-event.c b/src/auditd-event.c +index cb29fee..3655726 100644 +--- a/src/auditd-event.c ++++ b/src/auditd-event.c +@@ -42,6 +42,7 @@ + #include "libaudit.h" + #include "private.h" + #include "auparse.h" ++#include "auparse-idata.h" + + /* This is defined in auditd.c */ + extern volatile int stop; +@@ -56,7 +57,7 @@ static void do_space_left_action(int admin); + static void do_disk_full_action(void); + static void do_disk_error_action(const char *func, int err); + static void fix_disk_permissions(void); +-static void check_excess_logs(void); ++static void check_excess_logs(void); + static void rotate_logs_now(void); + static void rotate_logs(unsigned int num_logs, unsigned int keep_logs); + static void shift_logs(void); +@@ -394,7 +395,7 @@ static const char *format_enrich(const struct audit_reply *rep) + snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, + "type=DAEMON_ERR op=format-enriched msg=NULL res=failed"); + } else { +- int rc; ++ int rc, rtype; + size_t mlen, len; + char *message; + // Do raw format to get event started +@@ -427,6 +428,17 @@ static const char *format_enrich(const struct audit_reply *rep) + + // Loop over all fields while possible to add field + rc = auparse_first_record(au); ++ rtype = auparse_get_type(au); ++ switch (rtype) ++ { // Flush before adding to pickup new associations ++ case AUDIT_ADD_USER: ++ case AUDIT_ADD_GROUP: ++ _auparse_flush_caches(); ++ break; ++ default: ++ break; ++ } ++ + while (rc > 0 && len > MIN_SPACE_LEFT) { + // See what kind of field we have + size_t vlen; +@@ -454,6 +466,17 @@ static const char *format_enrich(const struct audit_reply *rep) + rc = auparse_next_field(au); + } + ++ switch(rtype) ++ { // Flush after modification to remove stale entries ++ case AUDIT_USER_MGMT: ++ case AUDIT_DEL_USER: ++ case AUDIT_DEL_GROUP: ++ case AUDIT_GRP_MGMT: ++ _auparse_flush_caches(); ++ break; ++ default: ++ break; ++ } + free(message); + } + return format_buf; +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.3.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.3.bb deleted file mode 100644 index c30b97162..000000000 --- a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.3.bb +++ /dev/null @@ -1,109 +0,0 @@ -SUMMARY = "User space tools for kernel auditing" -DESCRIPTION = "The audit package contains the user space utilities for \ -storing and searching the audit records generated by the audit subsystem \ -in the Linux kernel." -HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master \ - file://Fixed-swig-host-contamination-issue.patch \ - file://auditd \ - file://auditd.service \ - file://audit-volatile.conf \ -" - -S = "${WORKDIR}/git" -SRCREV = "17c100abcfef4cbd94a0a5be9b830c8386c3add6" - -inherit autotools python3native update-rc.d systemd - -UPDATERCPN = "auditd" -INITSCRIPT_NAME = "auditd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_PACKAGES = "auditd" -SYSTEMD_SERVICE:auditd = "auditd.service" - -DEPENDS = "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native" - -EXTRA_OECONF = " --with-libwrap \ - --enable-gssapi-krb5=no \ - --with-libcap-ng=yes \ - --with-python3=yes \ - --libdir=${base_libdir} \ - --sbindir=${base_sbindir} \ - --without-python \ - --without-golang \ - --disable-zos-remote \ - --with-arm=yes \ - --with-aarch64=yes \ - " - -EXTRA_OEMAKE = "PYLIBVER='python${PYTHON_BASEVERSION}' \ - PYINC='${STAGING_INCDIR}/$(PYLIBVER)' \ - pyexecdir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ - STDINC='${STAGING_INCDIR}' \ - pkgconfigdir=${libdir}/pkgconfig \ - " - -SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher" -DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ -interface to the audit system, audispd. These plugins can do things \ -like relay events to remote machines or analyze events for suspicious \ -behavior." - -PACKAGES =+ "audispd-plugins" -PACKAGES += "auditd ${PN}-python" - -FILES:${PN} = "${sysconfdir}/libaudit.conf ${base_libdir}/libaudit.so.1* ${base_libdir}/libauparse.so.*" -FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* ${datadir}/audit/*" -FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \ - ${sysconfdir}/audit/plugins.d/au-remote.conf \ - ${sysconfdir}/audit/plugins.d/syslog.conf \ - ${base_sbindir}/audisp-remote \ - ${base_sbindir}/audisp-syslog \ - ${localstatedir}/spool/audit \ - " -FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" -FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -CONFFILES:auditd = "${sysconfdir}/audit/audit.rules" -RDEPENDS:auditd = "bash" - -do_install:append() { - rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a - rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la - - # reuse auditd config - [ ! -e ${D}/etc/default ] && mkdir ${D}/etc/default - mv ${D}/etc/sysconfig/auditd ${D}/etc/default - rmdir ${D}/etc/sysconfig/ - - # replace init.d - install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd - rm -rf ${D}/etc/rc.d - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - # install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/auditd.service ${D}${systemd_unitdir}/system - - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - fi - - # audit-2.5 doesn't install any rules by default, so we do that here - mkdir -p ${D}/etc/audit ${D}/etc/audit/rules.d - cp ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules - - chmod 750 ${D}/etc/audit ${D}/etc/audit/rules.d - chmod 640 ${D}/etc/audit/auditd.conf ${D}/etc/audit/rules.d/audit.rules - - # Based on the audit.spec "Copy default rules into place on new installation" - cp ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules - - # Create /var/spool/audit directory for audisp-remote - install -m 0700 -d ${D}${localstatedir}/spool/audit -} diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb new file mode 100644 index 000000000..db550492e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb @@ -0,0 +1,110 @@ +SUMMARY = "User space tools for kernel auditing" +DESCRIPTION = "The audit package contains the user space utilities for \ +storing and searching the audit records generated by the audit subsystem \ +in the Linux kernel." +HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master \ + file://Fixed-swig-host-contamination-issue.patch \ + file://0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch \ + file://auditd \ + file://auditd.service \ + file://audit-volatile.conf \ +" + +S = "${WORKDIR}/git" +SRCREV = "86a975cd96c3838e56be9d27262f8a36bb822634" + +inherit autotools python3native update-rc.d systemd + +UPDATERCPN = "auditd" +INITSCRIPT_NAME = "auditd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_PACKAGES = "auditd" +SYSTEMD_SERVICE:auditd = "auditd.service" + +DEPENDS = "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native" + +EXTRA_OECONF = " --with-libwrap \ + --enable-gssapi-krb5=no \ + --with-libcap-ng=yes \ + --with-python3=yes \ + --libdir=${base_libdir} \ + --sbindir=${base_sbindir} \ + --without-python \ + --without-golang \ + --disable-zos-remote \ + --with-arm=yes \ + --with-aarch64=yes \ + " + +EXTRA_OEMAKE = "PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYINC='${STAGING_INCDIR}/$(PYLIBVER)' \ + pyexecdir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ + STDINC='${STAGING_INCDIR}' \ + pkgconfigdir=${libdir}/pkgconfig \ + " + +SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher" +DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ +interface to the audit system, audispd. These plugins can do things \ +like relay events to remote machines or analyze events for suspicious \ +behavior." + +PACKAGES =+ "audispd-plugins" +PACKAGES += "auditd ${PN}-python" + +FILES:${PN} = "${sysconfdir}/libaudit.conf ${base_libdir}/libaudit.so.1* ${base_libdir}/libauparse.so.*" +FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* ${datadir}/audit/*" +FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \ + ${sysconfdir}/audit/plugins.d/au-remote.conf \ + ${sysconfdir}/audit/plugins.d/syslog.conf \ + ${base_sbindir}/audisp-remote \ + ${base_sbindir}/audisp-syslog \ + ${localstatedir}/spool/audit \ + " +FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" +FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" + +CONFFILES:auditd = "${sysconfdir}/audit/audit.rules" +RDEPENDS:auditd = "bash" + +do_install:append() { + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la + + # reuse auditd config + [ ! -e ${D}/etc/default ] && mkdir ${D}/etc/default + mv ${D}/etc/sysconfig/auditd ${D}/etc/default + rmdir ${D}/etc/sysconfig/ + + # replace init.d + install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd + rm -rf ${D}/etc/rc.d + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/auditd.service ${D}${systemd_unitdir}/system + + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + fi + + # audit-2.5 doesn't install any rules by default, so we do that here + mkdir -p ${D}/etc/audit ${D}/etc/audit/rules.d + cp ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules + + chmod 750 ${D}/etc/audit ${D}/etc/audit/rules.d + chmod 640 ${D}/etc/audit/auditd.conf ${D}/etc/audit/rules.d/audit.rules + + # Based on the audit.spec "Copy default rules into place on new installation" + cp ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules + + # Create /var/spool/audit directory for audisp-remote + install -m 0700 -d ${D}${localstatedir}/spool/audit +} diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb index ac6c6db81..c4da5cd83 100644 --- a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb +++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb @@ -20,7 +20,7 @@ EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'" inherit autotools do_compile:prepend() { - oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost + oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' LDFLAGS='${BUILD_LDFLAGS}' gethost } do_install:append () { diff --git a/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc b/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc index 077a2db5e..d83ba493e 100644 --- a/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc +++ b/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc @@ -27,7 +27,7 @@ do_install:append() { rm -fr ${D}${datadir}/vim } -PACKAGECONFIG ??= "" -PACKAGECONFIG[libselinux] = "--with-selinux,--without-selinux,libselinux" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" EXTRA_AUTORECONF += "-I ${S}/gnulib/m4" diff --git a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb index fd398a0fe..18fa46f01 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb @@ -29,7 +29,7 @@ RDEPENDS:${PN} = "\ " RDEPENDS:${PN}-ptest = "perl-module-lib perl-module-test-more" -#RSUGGESTS_${PN}-ptest = "libmojo-base-perl" +#RSUGGESTS:${PN}-ptest = "libmojo-base-perl" do_install () { cpan_do_install diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.1.bb deleted file mode 100644 index 6ea4da3ea..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Asynchronous library to control Philips Hue" -HOMEPAGE = "https://pypi.org/project/aiohue/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f" - -SRC_URI[sha256sum] = "3ee8e857b07364516f8b9f0e5c52d4cd775036f3ace37c2769de1e8579f4dc07" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "${PYTHON_PN}-aiohttp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.6.1.bb new file mode 100644 index 000000000..c79a922a2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.6.1.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Asynchronous library to control Philips Hue" +HOMEPAGE = "https://pypi.org/project/aiohue/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f" + +SRC_URI[sha256sum] = "1374f7fc50bac46375e18ce7d511515265ce83c9180f312e60a36d63055f0104" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "${PYTHON_PN}-aiohttp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb deleted file mode 100644 index 7889f0c62..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Apply values to optional params" -HOMEPAGE = "https://github.com/bcb/apply_defaults" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15" - -PYPI_PACKAGE = "apply_defaults" - -SRC_URI[md5sum] = "719abb133f4b46283ebd940fcdf30a78" -SRC_URI[sha256sum] = "1ce26326a61d8773d38a9726a345c6525a91a6120d7333af79ad792dacb6246c" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "python3-core" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.6.bb new file mode 100644 index 000000000..6bf61cfcd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.6.bb @@ -0,0 +1,14 @@ +SUMMARY = "Apply values to optional params" +HOMEPAGE = "https://github.com/bcb/apply_defaults" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15" + +PYPI_PACKAGE = "apply_defaults" + +SRC_URI[sha256sum] = "3773de3491b94c0fe44310f1a85888389cdc71e1544b343bce0d2bd6991acea5" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "python3-core" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.5.bb deleted file mode 100644 index 5d7ef8f29..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.5.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "An abstract syntax tree for Python with inference support." -HOMEPAGE = "https://pypi.python.org/pypi/astroid" -SECTION = "devel/python" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" - -SRC_URI[sha256sum] = "83e494b02d75d07d4e347b27c066fd791c0c74fc96c613d1ea3de0c82c48168f" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-pytest-runner-native" - -PACKAGES =+ "${PN}-tests" - -FILES:${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ -" - -RDEPENDS:${PN}:class-target += "\ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-lazy-object-proxy \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-wrapt \ - ${PYTHON_PN}-setuptools \ -" - -RDEPENDS:${PN}-tests:class-target += "\ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb new file mode 100644 index 000000000..10851039b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "An abstract syntax tree for Python with inference support." +HOMEPAGE = "https://pypi.python.org/pypi/astroid" +SECTION = "devel/python" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" + +SRC_URI[sha256sum] = "3975a0bd5373bdce166e60c851cfcbaf21ee96de80ec518c1f4cb3e94c3fb334" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ +" + +RDEPENDS:${PN}:class-target += "\ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-lazy-object-proxy \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-wrapt \ + ${PYTHON_PN}-setuptools \ +" + +RDEPENDS:${PN}-tests:class-target += "\ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.3.bb deleted file mode 100644 index b72ca3b56..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" - -SRC_URI[sha256sum] = "b5d707d9c4aa75e684e21ff1848b234f3d2ff41d5038db89e2465e5527f90c68" - -inherit setuptools3 pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb new file mode 100644 index 000000000..f8e248907 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb @@ -0,0 +1,10 @@ +SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" + +SRC_URI[sha256sum] = "efb2dc83f0acb832a94af3687eea558d72512cf2e54a64fca56a10aacf57934c" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.1.bb deleted file mode 100644 index 32b24f042..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." -HOMEPAGE = "https://github.com/bw2/ConfigArgParse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" - -SRC_URI[sha256sum] = "371f46577e76ec71a183b88378f36dd09f4b946f60fe60712f411b020f26b812" - -PYPI_PACKAGE = "ConfigArgParse" - -inherit pypi setuptools3 - -PACKAGECONFIG ?= "yaml" -PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-json \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.2.bb new file mode 100644 index 000000000..e4b679718 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." +HOMEPAGE = "https://github.com/bw2/ConfigArgParse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" + +SRC_URI[sha256sum] = "c39540eb4843883d526beeed912dc80c92481b0c13c9787c91e614a624de3666" + +PYPI_PACKAGE = "ConfigArgParse" + +inherit pypi setuptools3 + +PACKAGECONFIG ?= "yaml" +PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-json \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb index f48c429c4..e5790f478 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb @@ -8,3 +8,5 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e" SRC_URI[sha256sum] = "1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" inherit pypi setuptools3 + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb deleted file mode 100644 index aaaee0dee..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Distro is an OS platform information API" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -PYPI_PACKAGE = "distro" - -SRC_URI[md5sum] = "0ed68b4064709bdaaf6cce69780ddc51" -SRC_URI[sha256sum] = "0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.6.0.bb new file mode 100644 index 000000000..8aa225567 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.6.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Distro is an OS platform information API" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" + +PYPI_PACKAGE = "distro" + +SRC_URI[sha256sum] = "83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb deleted file mode 100644 index 7a828a645..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Engine.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "python-engineio" - -RDEPENDS:${PN} += " \ - python3-netclient \ - python3-json \ - python3-logging \ - python3-compression \ - python3-asyncio \ -" - -SRC_URI[md5sum] = "1fa937ec2a9f6feac27e9f65824c5781" -SRC_URI[sha256sum] = "4e97c1189c23923858f5bb6dc47cfcd915005383c3c039ff01c89f2c00d62077" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.1.bb new file mode 100644 index 000000000..2eb82e8fc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Engine.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "python-engineio" + +RDEPENDS:${PN} += " \ + python3-netclient \ + python3-json \ + python3-logging \ + python3-compression \ + python3-asyncio \ +" + +SRC_URI[sha256sum] = "d510329b6d8ed5662547862f58bc73659ae62defa66b66d745ba021de112fa62" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.1.bb deleted file mode 100644 index eda18602f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "A generic AST to represent Python2 and Python3's Abstract Syntax Tree(AST)." -HOMEPAGE = "https://github.com/serge-sans-paille/gast" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90" - -SRC_URI[sha256sum] = "b00e63584db482ffe6107b5832042bbe5c5bf856e3c7279b6e93201b3dcfcb46" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.2.bb new file mode 100644 index 000000000..d318973a1 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "A generic AST to represent Python2 and Python3's Abstract Syntax Tree(AST)." +HOMEPAGE = "https://github.com/serge-sans-paille/gast" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90" + +SRC_URI[sha256sum] = "f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.30.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.30.0.bb deleted file mode 100644 index 2ded8c66b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.30.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "Google API client core library" -HOMEPAGE = "https://github.com/googleapis/python-api-core" -AUTHOR = "Google LLC" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "0724d354d394b3d763bc10dfee05807813c5210f0bd9b8e2ddf6b6925603411c" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-asyncio \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ -" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-googleapis-common-protos \ - ${PYTHON_PN}-google-auth \ - ${PYTHON_PN}-grpcio \ - ${PYTHON_PN}-protobuf \ - ${PYTHON_PN}-pytz \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.31.1.bb new file mode 100644 index 000000000..fe0aebb52 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_1.31.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Google API client core library" +HOMEPAGE = "https://github.com/googleapis/python-api-core" +AUTHOR = "Google LLC" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "108cf94336aed7e614eafc53933ef02adf63b9f0fd87e8f8212acaa09eaca456" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-asyncio \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ +" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-googleapis-common-protos \ + ${PYTHON_PN}-google-auth \ + ${PYTHON_PN}-grpcio \ + ${PYTHON_PN}-protobuf \ + ${PYTHON_PN}-pytz \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.12.0.bb deleted file mode 100644 index 36345e016..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.12.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \ -Moderator, and many other Google APIs." -HOMEPAGE = "https://github.com/googleapis/google-api-python-client" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" - -SRC_URI[sha256sum] = "a5d203241a93201a770c966f8eca39de7f88b28194f9d252065b18e83bd99c4b" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-httplib2 \ - ${PYTHON_PN}-uritemplate \ - ${PYTHON_PN}-google-api-core \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb new file mode 100644 index 000000000..6172cd28f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \ +Moderator, and many other Google APIs." +HOMEPAGE = "https://github.com/googleapis/google-api-python-client" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "8375489232823f44c601196a960505e03ec58c95ddb6415c6b1d1d76b468f8ba" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-httplib2 \ + ${PYTHON_PN}-uritemplate \ + ${PYTHON_PN}-google-api-core \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.32.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.32.0.bb deleted file mode 100644 index 72dd24ded..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.32.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Google Authentication Library" -HOMEPAGE = "https://github.com/googleapis/google-auth-library-python" -AUTHOR = "Google Cloud Platform" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "e34e5f5de5610b202f9b40ebd9f8b27571d5c5537db9afed3a72b2db5a345039" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-asyncio \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ -" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-aiohttp \ - ${PYTHON_PN}-cachetools \ - ${PYTHON_PN}-pyasn1-modules \ - ${PYTHON_PN}-rsa \ - ${PYTHON_PN}-six \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.34.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.34.0.bb new file mode 100644 index 000000000..92ad24800 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_1.34.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Google Authentication Library" +HOMEPAGE = "https://github.com/googleapis/google-auth-library-python" +AUTHOR = "Google Cloud Platform" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "f1094088bae046fb06f3d1a3d7df14717e8d959e9105b79c57725bd4e17597a2" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-asyncio \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ +" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-aiohttp \ + ${PYTHON_PN}-cachetools \ + ${PYTHON_PN}-pyasn1-modules \ + ${PYTHON_PN}-rsa \ + ${PYTHON_PN}-six \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb deleted file mode 100644 index 0f0f18fe3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Python lightweight in-process concurrent programming" -HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/" -LICENSE = "MIT & PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ - file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" - -SRC_URI[sha256sum] = "c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee" - -inherit pypi distutils3 setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.1.bb new file mode 100644 index 000000000..9d014ec7a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.1.bb @@ -0,0 +1,9 @@ +SUMMARY = "Python lightweight in-process concurrent programming" +HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/" +LICENSE = "MIT & PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ + file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" + +SRC_URI[sha256sum] = "c0f22774cd8294078bdf7392ac73cf00bfa1e5e0ed644bd064fdabc5f2a2f481" + +inherit pypi distutils3 setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb index cbc8ce95f..f68034763 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb @@ -34,6 +34,7 @@ BORING_SSL:arm = "1" BORING_SSL ?= "0" export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}" +GRPC_CFLAGS ?= "" GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb deleted file mode 100644 index 4ef80c4a8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "a little task queue for python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" - -PYPI_PACKAGE = "huey" - -SRC_URI[sha256sum] = "7176acb113850824490da5a31f328cc48a2002a59bfb396efbab8ecbd3573910" - -inherit pypi setuptools3 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb new file mode 100644 index 000000000..afdc65b24 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "a little task queue for python" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" + +PYPI_PACKAGE = "huey" + +SRC_URI[sha256sum] = "82981fb8f1964e8c9ee8f4ebcd5a2ebad561dd93ce8b454bf4f4ecfb54bd1411" + +inherit pypi setuptools3 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.10.0.bb deleted file mode 100644 index 56983841c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.10.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Python humanize utilities" -HOMEPAGE = "http://github.com/jmoiron/humanize" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" - -SRC_URI[sha256sum] = "b2413730ce6684f85e0439a5b80b8f402e09f03e16ab8023d1da758c6ff41148" - -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-setuptools-scm-native \ -" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-setuptools \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.11.0.bb new file mode 100644 index 000000000..aacda65ca --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.11.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Python humanize utilities" +HOMEPAGE = "http://github.com/jmoiron/humanize" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" + +SRC_URI[sha256sum] = "4160cdc63fcd0daac27d2e1e218a31bb396fc3fe5712d153675d89432a03778f" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-setuptools-scm-native \ +" + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-setuptools \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.25.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.25.0.bb deleted file mode 100644 index 5e5261fa5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.25.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "IPython: Productive Interactive Computing" -HOMEPAGE = "https://ipython.org" -AUTHOR = "The IPython Development Team " -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" - -PYPI_PACKAGE = "ipython" - -SRC_URI[sha256sum] = "54bbd1fe3882457aaf28ae060a5ccdef97f212a741754e420028d4ec5c2291dc" - -RDEPENDS:${PN} = "\ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-jedi \ - ${PYTHON_PN}-decorator \ - ${PYTHON_PN}-pickleshare \ - ${PYTHON_PN}-traitlets \ - ${PYTHON_PN}-prompt-toolkit \ - ${PYTHON_PN}-pygments \ - ${PYTHON_PN}-backcall \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-pexpect \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-sqlite3 \ -" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.26.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.26.0.bb new file mode 100644 index 000000000..4c1d4ebd7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.26.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "IPython: Productive Interactive Computing" +HOMEPAGE = "https://ipython.org" +AUTHOR = "The IPython Development Team " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" + +PYPI_PACKAGE = "ipython" + +SRC_URI[sha256sum] = "0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e" + +RDEPENDS:${PN} = "\ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-jedi \ + ${PYTHON_PN}-decorator \ + ${PYTHON_PN}-pickleshare \ + ${PYTHON_PN}-traitlets \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-pygments \ + ${PYTHON_PN}-backcall \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-pexpect \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-sqlite3 \ +" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.2.bb deleted file mode 100644 index a45942383..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A Python utility / library to sort Python imports." -HOMEPAGE = "https://pypi.python.org/pypi/isort" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[sha256sum] = "f65ce5bd4cbc6abdfbe29afc2f0245538ab358c14590912df638033f157d555e" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-profile \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-difflib \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.3.bb new file mode 100644 index 000000000..44a51db28 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.9.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "A Python utility / library to sort Python imports." +HOMEPAGE = "https://pypi.python.org/pypi/isort" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[sha256sum] = "9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-profile \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-difflib \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb index e0f4870be..e1ee99bae 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb @@ -31,14 +31,14 @@ DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGIN DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" SWIG_FEATURES:x86 = "-D__i386__" -SWIG_FEATURES_x32 = "-D__ILP32__" +SWIG_FEATURES:x32 = "-D__ILP32__" SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']}" SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" -SWIG_FEATURES:append:powerpc64le = " -D_:powerpc64__" +SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__" export SWIG_FEATURES export STAGING_DIR diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb deleted file mode 100644 index 0437a6cc9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A Python Interface To The cURL library" -DESCRIPTION = "\ -PycURL is a Python interface to libcurl, the multiprotocol file \ -transfer library. Similarly to the urllib Python module, PycURL can \ -be used to fetch objects identified by a URL from a Python program \ -" -SECTION = "devel/python" -HOMEPAGE = "http://pycurl.io/" - -LICENSE = "LGPLv2 | MIT" -LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING-MIT;md5=60872a112595004233b769b6cbfd65b6 \ - " - -SRC_URI[md5sum] = "3e121d895101022c30619e1bbf97eb97" -SRC_URI[sha256sum] = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325" - -inherit pypi setuptools3 - -DEPENDS = "\ - curl \ - ${PYTHON_PN}\ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb new file mode 100644 index 000000000..72b87dafb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "A Python Interface To The cURL library" +DESCRIPTION = "\ +PycURL is a Python interface to libcurl, the multiprotocol file \ +transfer library. Similarly to the urllib Python module, PycURL can \ +be used to fetch objects identified by a URL from a Python program \ +" +SECTION = "devel/python" +HOMEPAGE = "http://pycurl.io/" + +LICENSE = "LGPLv2 | MIT" +LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING-MIT;md5=75f131c591546fd1277ca49c9a81ab1b \ + " + +SRC_URI[sha256sum] = "2ce9905626d8ceafcbadee666e2f45397e29c7618ddcdc63fc22d85e5046c6d6" + +inherit pypi setuptools3 + +DEPENDS = "\ + curl \ + ${PYTHON_PN}\ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.33.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.33.2.bb deleted file mode 100644 index 242f329dc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.33.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE = "https://github.com/jstasiak/python-zeroconf" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80" - -SRC_URI[sha256sum] = "5a59425d225a1f5fba0196766fccf856d4686f653037108cbc643a76c1a884fd" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-ifaddr \ - ${PYTHON_PN}-asyncio \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb new file mode 100644 index 000000000..a8b9aeb73 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb @@ -0,0 +1,13 @@ +SUMMARY = "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE = "https://github.com/jstasiak/python-zeroconf" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80" + +SRC_URI[sha256sum] = "145e67c182d361b350f057fb9240dedec5e79a7c61f465a01138d4a49a4b87b3" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-ifaddr \ + ${PYTHON_PN}-asyncio \ +" diff --git a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.7.1.bb b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.7.1.bb deleted file mode 100644 index d3554c803..000000000 --- a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.7.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "17730aa0a33ab82ed6ca76be3bb25f0433d0014f1ccf63c979bab13a5b9db2b2" - -PYPI_PACKAGE = "Send2Trash" diff --git a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb new file mode 100644 index 000000000..76f59e285 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d" + +PYPI_PACKAGE = "Send2Trash" diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md index f52c51f2d..82ec3c0f1 100644 --- a/meta-raspberrypi/docs/extra-build-config.md +++ b/meta-raspberrypi/docs/extra-build-config.md @@ -99,7 +99,7 @@ selected according to the connected monitor's EDID information and the composite mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a detailed description of options and modes. The following variables are supported in local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`, -`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`. +`HDMI_CVT`, `CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`. Example to force HDMI output to 720p in CEA mode: diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb index c1c5340cc..583144d05 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb @@ -105,6 +105,9 @@ do_deploy() { if [ -n "${HDMI_MODE}" ]; then sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' $CONFIG fi + if [ -n "${HDMI_CVT}" ]; then + echo 'hdmi_cvt=${HDMI_CVT}' >> $CONFIG + fi if [ -n "${CONFIG_HDMI_BOOST}" ]; then sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' $CONFIG fi diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 37e2e5709..4f242d30d 100644 --- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -63,6 +63,7 @@ do_install() { # add compat links. Fixes errors like # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2 ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt + ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt diff --git a/poky/MAINTAINERS.md b/poky/MAINTAINERS.md index 2ddcde687..36a9bde90 100644 --- a/poky/MAINTAINERS.md +++ b/poky/MAINTAINERS.md @@ -40,6 +40,7 @@ Component/Subsystem Maintainers * opkg: Alex Stewart * devtool: Saul Wold * eSDK: Saul Wold +* overlayfs: Vyacheslav Yurkov Maintainers needed ------------------ diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst index 593de61f2..40b245b6d 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst @@ -144,6 +144,10 @@ download without a checksum triggers an error message. The make any attempted network access a fatal error, which is useful for checking that mirrors are complete as well as other things. +If :term:`BB_CHECK_SSL_CERTS` is set to ``0`` then SSL certificate checking will +be disabled. This variable defaults to ``1`` so SSL certificates are normally +checked. + .. _bb-the-unpack: The Unpack diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 6283c2654..2392ec425 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -93,6 +93,10 @@ overview of their function and contents. fetcher does not attempt to use the host listed in :term:`SRC_URI` after a successful fetch from the :term:`PREMIRRORS` occurs. + :term:`BB_CHECK_SSL_CERTS` + Specifies if SSL certificates should be checked when fetching. The default + value is ``1`` and certificates are not checked if the value is set to ``0``. + :term:`BB_CONSOLELOG` Specifies the path to a log file into which BitBake's user interface writes output during the build. diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index ad898680f..914fa5c02 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -808,6 +808,29 @@ def localpath(url, d): fetcher = bb.fetch2.Fetch([url], d) return fetcher.localpath(url) +# Need to export PATH as binary could be in metadata paths +# rather than host provided +# Also include some other variables. +FETCH_EXPORT_VARS = ['HOME', 'PATH', + 'HTTP_PROXY', 'http_proxy', + 'HTTPS_PROXY', 'https_proxy', + 'FTP_PROXY', 'ftp_proxy', + 'FTPS_PROXY', 'ftps_proxy', + 'NO_PROXY', 'no_proxy', + 'ALL_PROXY', 'all_proxy', + 'GIT_PROXY_COMMAND', + 'GIT_SSH', + 'GIT_SSL_CAINFO', + 'GIT_SMART_HTTP', + 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', + 'SOCKS5_USER', 'SOCKS5_PASSWD', + 'DBUS_SESSION_BUS_ADDRESS', + 'P4CONFIG', + 'SSL_CERT_FILE', + 'AWS_ACCESS_KEY_ID', + 'AWS_SECRET_ACCESS_KEY', + 'AWS_DEFAULT_REGION'] + def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None): """ Run cmd returning the command output @@ -816,28 +839,7 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None): Optionally remove the files/directories listed in cleanup upon failure """ - # Need to export PATH as binary could be in metadata paths - # rather than host provided - # Also include some other variables. - # FIXME: Should really include all export varaiables? - exportvars = ['HOME', 'PATH', - 'HTTP_PROXY', 'http_proxy', - 'HTTPS_PROXY', 'https_proxy', - 'FTP_PROXY', 'ftp_proxy', - 'FTPS_PROXY', 'ftps_proxy', - 'NO_PROXY', 'no_proxy', - 'ALL_PROXY', 'all_proxy', - 'GIT_PROXY_COMMAND', - 'GIT_SSH', - 'GIT_SSL_CAINFO', - 'GIT_SMART_HTTP', - 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', - 'SOCKS5_USER', 'SOCKS5_PASSWD', - 'DBUS_SESSION_BUS_ADDRESS', - 'P4CONFIG', - 'AWS_ACCESS_KEY_ID', - 'AWS_SECRET_ACCESS_KEY', - 'AWS_DEFAULT_REGION'] + exportvars = FETCH_EXPORT_VARS if not cleanup: cleanup = [] diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 784df70c9..29fcfbb3d 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -52,13 +52,19 @@ class WgetProgressHandler(bb.progress.LineFilterProgressHandler): class Wget(FetchMethod): + """Class to fetch urls via 'wget'""" # CDNs like CloudFlare may do a 'browser integrity test' which can fail # with the standard wget/urllib User-Agent, so pretend to be a modern # browser. user_agent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" - """Class to fetch urls via 'wget'""" + def check_certs(self, d): + """ + Should certificates be checked? + """ + return (d.getVar("BB_CHECK_SSL_CERTS") or "1") != "0" + def supports(self, ud, d): """ Check to see if a given url can be fetched with wget. @@ -82,7 +88,10 @@ class Wget(FetchMethod): if not ud.localfile: ud.localfile = d.expand(urllib.parse.unquote(ud.host + ud.path).replace("/", ".")) - self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate" + self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp" + + if not self.check_certs(d): + self.basecmd += " --no-check-certificate" def _runwget(self, ud, d, command, quiet, workdir=None): @@ -282,19 +291,44 @@ class Wget(FetchMethod): newreq = urllib.request.HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, newurl) newreq.get_method = req.get_method return newreq - exported_proxies = export_proxies(d) - - handlers = [FixedHTTPRedirectHandler, HTTPMethodFallback] - if exported_proxies: - handlers.append(urllib.request.ProxyHandler()) - handlers.append(CacheHTTPHandler()) - # Since Python 2.7.9 ssl cert validation is enabled by default - # see PEP-0476, this causes verification errors on some https servers - # so disable by default. - import ssl - if hasattr(ssl, '_create_unverified_context'): - handlers.append(urllib.request.HTTPSHandler(context=ssl._create_unverified_context())) - opener = urllib.request.build_opener(*handlers) + + # We need to update the environment here as both the proxy and HTTPS + # handlers need variables set. The proxy needs http_proxy and friends to + # be set, and HTTPSHandler ends up calling into openssl to load the + # certificates. In buildtools configurations this will be looking at the + # wrong place for certificates by default: we set SSL_CERT_FILE to the + # right location in the buildtools environment script but as BitBake + # prunes prunes the environment this is lost. When binaries are executed + # runfetchcmd ensures these values are in the environment, but this is + # pure Python so we need to update the environment. + # + # Avoid tramping the environment too much by using bb.utils.environment + # to scope the changes to the build_opener request, which is when the + # environment lookups happen. + newenv = {} + for name in bb.fetch2.FETCH_EXPORT_VARS: + value = d.getVar(name) + if not value: + origenv = d.getVar("BB_ORIGENV") + if origenv: + value = origenv.getVar(name) + if value: + newenv[name] = value + + with bb.utils.environment(**newenv): + import ssl + + if self.check_certs(d): + context = ssl.create_default_context() + else: + context = ssl._create_unverified_context() + + handlers = [FixedHTTPRedirectHandler, + HTTPMethodFallback, + urllib.request.ProxyHandler(), + CacheHTTPHandler(), + urllib.request.HTTPSHandler(context=context)] + opener = urllib.request.build_opener(*handlers) try: uri = ud.url.split(";")[0] diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py index a7ff33db5..4d5e21b99 100644 --- a/poky/bitbake/lib/bb/tests/utils.py +++ b/poky/bitbake/lib/bb/tests/utils.py @@ -666,3 +666,21 @@ class GetReferencedVars(unittest.TestCase): layers = [{"SRC_URI"}, {"QT_GIT", "QT_MODULE", "QT_MODULE_BRANCH_PARAM", "QT_GIT_PROTOCOL"}, {"QT_GIT_PROJECT", "QT_MODULE_BRANCH", "BPN"}, {"PN", "SPECIAL_PKGSUFFIX"}] self.check_referenced("${SRC_URI}", layers) + + +class EnvironmentTests(unittest.TestCase): + def test_environment(self): + os.environ["A"] = "this is A" + self.assertIn("A", os.environ) + self.assertEqual(os.environ["A"], "this is A") + self.assertNotIn("B", os.environ) + + with bb.utils.environment(B="this is B"): + self.assertIn("A", os.environ) + self.assertEqual(os.environ["A"], "this is A") + self.assertIn("B", os.environ) + self.assertEqual(os.environ["B"], "this is B") + + self.assertIn("A", os.environ) + self.assertEqual(os.environ["A"], "this is A") + self.assertNotIn("B", os.environ) diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py index e6e82d111..70634910f 100644 --- a/poky/bitbake/lib/bb/utils.py +++ b/poky/bitbake/lib/bb/utils.py @@ -1681,3 +1681,19 @@ def rename(src, dst): shutil.move(src, dst) else: raise err + +@contextmanager +def environment(**envvars): + """ + Context manager to selectively update the environment with the specified mapping. + """ + backup = dict(os.environ) + try: + os.environ.update(envvars) + yield + finally: + for var in envvars: + if var in backup: + os.environ[var] = backup[var] + else: + del os.environ[var] diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst index 5f62376d6..b80354a05 100644 --- a/poky/documentation/bsp-guide/bsp.rst +++ b/poky/documentation/bsp-guide/bsp.rst @@ -1042,7 +1042,7 @@ also supports several other machines: #. Edit the ``init-ifupdown_1.0.bbappend`` file so that it contains the following:: - FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + FILESEXTRAPATHS:prepend := "${THISDIR}/files:" The append file needs to be in the ``meta-xyz/recipes-core/init-ifupdown`` directory. @@ -1269,9 +1269,9 @@ located in the layer ``poky/meta-yocto-bsp/conf/machine`` and is named include conf/machine/include/tune-cortexa8.inc IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" - EXTRA_IMAGECMD_jffs2 = "-lnp " + EXTRA_IMAGECMD:jffs2 = "-lnp " WKS_FILE ?= "beaglebone-yocto.wks" - IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" + IMAGE_INSTALL:append = " kernel-devicetree kernel-image-zimage" do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" @@ -1458,29 +1458,29 @@ kernel recipe (i.e. ``linux-yocto_5.0.bb``), which is located in Following is the contents of the append file:: - KBRANCH_genericx86 = "v5.0/standard/base" - KBRANCH_genericx86-64 = "v5.0/standard/base" - KBRANCH_edgerouter = "v5.0/standard/edgerouter" - KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" - - KMACHINE_genericx86 ?= "common-pc" - KMACHINE_genericx86-64 ?= "common-pc-64" - KMACHINE_beaglebone-yocto ?= "beaglebone" - - SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" - SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" - SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" - SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" - - COMPATIBLE_MACHINE_genericx86 = "genericx86" - COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" - COMPATIBLE_MACHINE_edgerouter = "edgerouter" - COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" - - LINUX_VERSION_genericx86 = "5.0.3" - LINUX_VERSION_genericx86-64 = "5.0.3" - LINUX_VERSION_edgerouter = "5.0.3" - LINUX_VERSION_beaglebone-yocto = "5.0.3" + KBRANCH:genericx86 = "v5.0/standard/base" + KBRANCH:genericx86-64 = "v5.0/standard/base" + KBRANCH:edgerouter = "v5.0/standard/edgerouter" + KBRANCH:beaglebone-yocto = "v5.0/standard/beaglebone" + + KMACHINE:genericx86 ?= "common-pc" + KMACHINE:genericx86-64 ?= "common-pc-64" + KMACHINE:beaglebone-yocto ?= "beaglebone" + + SRCREV_machine:genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine:genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine:edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine:beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + + COMPATIBLE_MACHINE:genericx86 = "genericx86" + COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" + COMPATIBLE_MACHINE:edgerouter = "edgerouter" + COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" + + LINUX_VERSION:genericx86 = "5.0.3" + LINUX_VERSION:genericx86-64 = "5.0.3" + LINUX_VERSION:edgerouter = "5.0.3" + LINUX_VERSION:beaglebone-yocto = "5.0.3" This particular append file works for all the machines that are part of the ``meta-yocto-bsp`` layer. The relevant statements are diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py index 6c6458fed..8e15fdc86 100644 --- a/poky/documentation/conf.py +++ b/poky/documentation/conf.py @@ -28,7 +28,7 @@ release = current_version # -- Project information ----------------------------------------------------- project = 'The Yocto Project \xae' -copyright = '2010-%s, The Linux Foundation' % datetime.datetime.now().year +copyright = '2010-%s, The Linux Foundation, CC-BY-SA-2.0-UK license' % datetime.datetime.now().year author = 'The Linux Foundation' # -- General configuration --------------------------------------------------- diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst index 7fa0df4d3..7f51674a9 100644 --- a/poky/documentation/dev-manual/common-tasks.rst +++ b/poky/documentation/dev-manual/common-tasks.rst @@ -207,37 +207,37 @@ following list: To make sure your changes apply only when building machine "one", use a machine override with the :term:`DEPENDS` statement:: - DEPENDS_one = "foo" + DEPENDS:one = "foo" - You should follow the same strategy when using ``_append`` - and ``_prepend`` operations:: + You should follow the same strategy when using ``:append`` + and ``:prepend`` operations:: - DEPENDS_append_one = " foo" - DEPENDS_prepend_one = "foo " + DEPENDS:append:one = " foo" + DEPENDS:prepend:one = "foo " As an actual example, here's a snippet from the generic kernel include file ``linux-yocto.inc``, wherein the kernel compile and link options are adjusted in the case of a subset of the supported architectures:: - DEPENDS_append_aarch64 = " libgcc" - KERNEL_CC_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" - KERNEL_LD_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" + DEPENDS:append:aarch64 = " libgcc" + KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}" + KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}" - DEPENDS_append_nios2 = " libgcc" - KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}" - KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}" + DEPENDS:append:nios2 = " libgcc" + KERNEL_CC:append:nios2 = " ${TOOLCHAIN_OPTIONS}" + KERNEL_LD:append:nios2 = " ${TOOLCHAIN_OPTIONS}" - DEPENDS_append_arc = " libgcc" - KERNEL_CC_append_arc = " ${TOOLCHAIN_OPTIONS}" - KERNEL_LD_append_arc = " ${TOOLCHAIN_OPTIONS}" + DEPENDS:append:arc = " libgcc" + KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}" + KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}" - KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" + KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc" .. note:: - Avoiding "+=" and "=+" and using machine-specific ``_append`` - and ``_prepend`` operations is recommended as well. + Avoiding "+=" and "=+" and using machine-specific ``:append`` + and ``:prepend`` operations is recommended as well. - *Place Machine-Specific Files in Machine-Specific Locations:* When you have a base recipe, such as ``base-files.bb``, that contains a @@ -247,7 +247,7 @@ following list: at ``meta-one/recipes-core/base-files/base-files.bbappend`` could extend :term:`FILESPATH` using :term:`FILESEXTRAPATHS` as follows:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" The build for machine "one" will pick up your machine-specific file as long as you have the file in @@ -443,8 +443,8 @@ file. During the processing of each ``conf/layer.conf`` file, BitBake adds the recipes, classes and configurations contained within the particular layer to the source directory. -Using .bbappend Files in Your Layer ------------------------------------ +Appending Other Layers Metadata With Your Layer +----------------------------------------------- A recipe that appends Metadata to another recipe is called a BitBake append file. A BitBake append file uses the ``.bbappend`` file type @@ -465,7 +465,7 @@ have to manually merge changes as they occur. When you create an append file, you must use the same root name as the corresponding recipe file. For example, the append file ``someapp_3.1.bbappend`` must apply to ``someapp_3.1.bb``. This -means the original recipe and append file names are version +means the original recipe and append filenames are version number-specific. If the corresponding recipe is renamed to update to a newer version, you must also rename and possibly update the corresponding ``.bbappend`` as well. During the build process, BitBake @@ -474,6 +474,9 @@ does not have a corresponding recipe with a matching name. See the :term:`BB_DANGLINGAPPENDS_WARNONLY` variable for information on how to handle this error. +Overlaying a File Using Your Layer +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + As an example, consider the main formfactor recipe and a corresponding formfactor append file both from the :term:`Source Directory`. Here is the main @@ -512,7 +515,7 @@ Following is the append file, which is named ``formfactor_0.0.bbappend`` and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The file is in the layer at ``recipes-bsp/formfactor``:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" By default, the build system uses the :term:`FILESPATH` variable to @@ -537,7 +540,7 @@ important as it ensures that items in the list remain colon-separated. .. note:: BitBake automatically defines the :term:`THISDIR` variable. You should - never set this variable yourself. Using "_prepend" as part of the + never set this variable yourself. Using ":prepend" as part of the :term:`FILESEXTRAPATHS` ensures your path will be searched prior to other paths in the final list. @@ -545,6 +548,12 @@ important as it ensures that items in the list remain colon-separated. allow to add build options (e.g. ``systemd``). For these cases, your append file would not even use the :term:`FILESEXTRAPATHS` statement. +The end result of this ``.bbappend`` file is that on a Raspberry Pi, where +``rpi`` will exist in the list of :term:`OVERRIDES`, the file +``meta-raspberrypi/recipes-bsp/formfactor/formfactor/rpi/machconfig`` will be +used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in +:ref:`ref-tasks-install` will return true, and the file will be installed. + Prioritizing Your Layer ----------------------- @@ -830,27 +839,27 @@ variable changes are in effect for every build and consequently affect all images, which might not be what you require. To add a package to your image using the local configuration file, use -the :term:`IMAGE_INSTALL` variable with the ``_append`` operator:: +the :term:`IMAGE_INSTALL` variable with the ``:append`` operator:: - IMAGE_INSTALL_append = " strace" + IMAGE_INSTALL:append = " strace" Use of the syntax is important - specifically, the space between the quote and the package name, which is -``strace`` in this example. This space is required since the ``_append`` +``strace`` in this example. This space is required since the ``:append`` operator does not add the space. -Furthermore, you must use ``_append`` instead of the ``+=`` operator if +Furthermore, you must use ``:append`` instead of the ``+=`` operator if you want to avoid ordering issues. The reason for this is because doing so unconditionally appends to the variable and avoids ordering problems due to the variable being set in image recipes and ``.bbclass`` files -with operators like ``?=``. Using ``_append`` ensures the operation +with operators like ``?=``. Using ``:append`` ensures the operation takes effect. -As shown in its simplest use, ``IMAGE_INSTALL_append`` affects all +As shown in its simplest use, ``IMAGE_INSTALL:append`` affects all images. It is possible to extend the syntax so that the variable applies to a specific image only. Here is an example:: - IMAGE_INSTALL_append_pn-core-image-minimal = " strace" + IMAGE_INSTALL:append:pn-core-image-minimal = " strace" This example adds ``strace`` to the ``core-image-minimal`` image only. @@ -976,17 +985,17 @@ the full packagegroup name ``packagegroup-custom``:: ${PN}-tools \ " - RDEPENDS_${PN}-apps = "\ + RDEPENDS:${PN}-apps = "\ dropbear \ portmap \ psplash" - RDEPENDS_${PN}-tools = "\ + RDEPENDS:${PN}-tools = "\ oprofile \ oprofileui-server \ lttng-tools" - RRECOMMENDS_${PN}-tools = "\ + RRECOMMENDS:${PN}-tools = "\ kernel-module-oprofile" In the previous example, two package group packages are created with @@ -1013,7 +1022,7 @@ configuration file. Use the following in an append file:: Use the following in a configuration file:: - hostname_pn-base-files = "myhostname" + hostname:pn-base-files = "myhostname" Changing the default value of the variable "hostname" can be useful in certain situations. For example, suppose you need to do extensive @@ -1028,7 +1037,7 @@ Another point of interest is that if you unset the variable, the image will have no default hostname in the filesystem. Here is an example that unsets the variable in a configuration file:: - hostname_pn-base-files = "" + hostname:pn-base-files = "" Having no default hostname in the filesystem is suitable for environments that use dynamic hostnames such as virtual machines. @@ -1544,8 +1553,8 @@ package for a recipe has the same name as the recipe, and the recipe's name can be found through the ``${``\ :term:`PN`\ ``}`` variable, then you specify the dependencies for the main package by setting -``RDEPENDS_${PN}``. If the package were named ``${PN}-tools``, then you -would set ``RDEPENDS_${PN}-tools``, and so forth. +``RDEPENDS:${PN}``. If the package were named ``${PN}-tools``, then you +would set ``RDEPENDS:${PN}-tools``, and so forth. Some runtime dependencies will be set automatically at packaging time. These dependencies include any shared library dependencies (i.e. if a @@ -1796,7 +1805,7 @@ the software being built: sure the install portion of the build completes with no issues. However, if you wish to install additional files not already being installed by ``make install``, you should do this using a - ``do_install_append`` function using the install command as described + ``do_install:append`` function using the install command as described in the "Manual" bulleted item later in this list. - *Other (using* ``make install``\ *)*: You need to define a ``do_install`` @@ -1865,9 +1874,9 @@ additional definitions in your recipe. If you are adding services and the service initialization script or the service file itself is not installed, you must provide for that -installation in your recipe using a ``do_install_append`` function. If +installation in your recipe using a ``do_install:append`` function. If your recipe already has a ``do_install`` function, update the function -near its end rather than adding an additional ``do_install_append`` +near its end rather than adding an additional ``do_install:append`` function. When you create the installation for your services, you need to @@ -1938,7 +1947,7 @@ take. The following list describes the process: discover problems, you can set :term:`PACKAGES`, :term:`FILES`, - ``do_install(_append)``, and so forth as needed. + ``do_install(:append)``, and so forth as needed. - *Splitting an Application into Multiple Packages*: If you need to split an application into several packages, see the @@ -2137,7 +2146,7 @@ Post-Installation Scripts Post-installation scripts run immediately after installing a package on the target or during image creation when a package is included in an image. To add a post-installation script to a package, add a -``pkg_postinst_``\ `PACKAGENAME`\ ``()`` function to the recipe file +``pkg_postinst:``\ `PACKAGENAME`\ ``()`` function to the recipe file (``.bb``) and replace `PACKAGENAME` with the name of the package you want to attach to the ``postinst`` script. To apply the post-installation script to the main package for the recipe, which is usually what is @@ -2147,7 +2156,7 @@ PACKAGENAME. A post-installation function has the following structure:: - pkg_postinst_PACKAGENAME() { + pkg_postinst:PACKAGENAME() { # Commands to carry out } @@ -2300,7 +2309,7 @@ compiler. For example, the application might need an additional header path. You can accomplish this by adding to the :term:`CFLAGS` variable. The following example shows this:: - CFLAGS_prepend = "-I ${S}/include " + CFLAGS:prepend = "-I ${S}/include " In the following example, ``mtd-utils`` is a makefile-based package:: @@ -2330,9 +2339,9 @@ In the following example, ``mtd-utils`` is a makefile-based package:: PACKAGES =+ "mtd-utils-jffs2 mtd-utils-ubifs mtd-utils-misc" - FILES_mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool" - FILES_mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*" - FILES_mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image" + FILES:mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool" + FILES:mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*" + FILES:mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image" PARALLEL_MAKE = "" @@ -2360,14 +2369,14 @@ into separate packages:: XORG_PN = "libXpm" PACKAGES =+ "sxpm cxpm" - FILES_cxpm = "${bindir}/cxpm" - FILES_sxpm = "${bindir}/sxpm" + FILES:cxpm = "${bindir}/cxpm" + FILES:sxpm = "${bindir}/sxpm" In the previous example, we want to ship the ``sxpm`` and ``cxpm`` binaries in separate packages. Since ``bindir`` would be packaged into the main :term:`PN` package by default, we prepend the :term:`PACKAGES` variable so additional package names are added to the start of list. This results -in the extra ``FILES_*`` variables then containing information that +in the extra ``FILES:*`` variables then containing information that define which files and directories go into which packages. Files included by earlier packages are skipped by latter packages. Thus, the main :term:`PN` package does not include the above listed files. @@ -2398,7 +2407,7 @@ configure and compile steps as well as sets things up to grab packages from the appropriate area. In particular, this class sets ``noexec`` on both the :ref:`ref-tasks-configure` and :ref:`ref-tasks-compile` tasks, -sets ``FILES_${PN}`` to "/" so that it picks up all files, and sets up a +sets ``FILES:${PN}`` to "/" so that it picks up all files, and sets up a :ref:`ref-tasks-install` task, which effectively copies all files from ``${S}`` to ``${D}``. The ``bin_package`` class works well when the files extracted into ``${S}`` @@ -2459,7 +2468,7 @@ doing the following: - Ensure that you set up :term:`FILES` (usually - ``FILES_${``\ :term:`PN`\ ``}``) to + ``FILES:${``\ :term:`PN`\ ``}``) to point to the files you have installed, which of course depends on where you have installed them and whether those files are in different locations than the defaults. @@ -2504,7 +2513,7 @@ chapter of the BitBake User Manual. S = "${WORKDIR}/postfix-${PV}" CFLAGS += "-DNO_ASM" - SRC_URI_append = " file://fixup.patch" + SRC_URI:append = " file://fixup.patch" - *Functions:* Functions provide a series of actions to be performed. You usually use functions to override the default implementation of a @@ -2631,7 +2640,7 @@ in the BitBake User Manual. VAR =+ "Starts" -- *Appending (_append):* Use the ``_append`` operator to append values +- *Appending (:append):* Use the ``:append`` operator to append values to existing variables. This operator does not add any additional space. Also, the operator is applied after all the ``+=``, and ``=+`` operators have been applied and after all ``=`` assignments have @@ -2641,15 +2650,15 @@ in the BitBake User Manual. start to ensure the appended value is not merged with the existing value:: - SRC_URI_append = " file://fix-makefile.patch" + SRC_URI:append = " file://fix-makefile.patch" You can also use - the ``_append`` operator with overrides, which results in the actions + the ``:append`` operator with overrides, which results in the actions only being performed for the specified target or machine:: - SRC_URI_append_sh4 = " file://fix-makefile.patch" + SRC_URI:append:sh4 = " file://fix-makefile.patch" -- *Prepending (_prepend):* Use the ``_prepend`` operator to prepend +- *Prepending (:prepend):* Use the ``:prepend`` operator to prepend values to existing variables. This operator does not add any additional space. Also, the operator is applied after all the ``+=``, and ``=+`` operators have been applied and after all ``=`` @@ -2659,13 +2668,13 @@ in the BitBake User Manual. end to ensure the prepended value is not merged with the existing value:: - CFLAGS_prepend = "-I${S}/myincludes " + CFLAGS:prepend = "-I${S}/myincludes " You can also use the - ``_prepend`` operator with overrides, which results in the actions + ``:prepend`` operator with overrides, which results in the actions only being performed for the specified target or machine:: - CFLAGS_prepend_sh4 = "-I${S}/myincludes " + CFLAGS:prepend:sh4 = "-I${S}/myincludes " - *Overrides:* You can use overrides to set a value conditionally, typically based on how the recipe is being built. For example, to set @@ -2676,7 +2685,7 @@ in the BitBake User Manual. you would do the following:: KBRANCH = "standard/base" - KBRANCH_qemuarm = "standard/arm-versatile-926ejs" + KBRANCH:qemuarm = "standard/arm-versatile-926ejs" Overrides are also used to separate alternate values of a variable in other situations. For example, when @@ -2951,7 +2960,7 @@ The following steps describe how to set up the AUH utility: If your distro does not enable by default ptest, which Poky does, you need the following in your ``local.conf`` file:: - DISTRO_FEATURES_append = " ptest" + DISTRO_FEATURES:append = " ptest" 6. *Optionally Start a vncserver:* If you are running in a server @@ -4301,7 +4310,7 @@ point to your external source code. Here are the statements to put in your ``local.conf`` file:: INHERIT += "externalsrc" - EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" + EXTERNALSRC:pn-myrecipe = "path-to-your-source-tree" This next example shows how to accomplish the same thing by setting :term:`EXTERNALSRC` in the recipe itself or in the recipe's append file:: @@ -4323,7 +4332,7 @@ some other nominated directory, you can set :term:`EXTERNALSRC_BUILD` to point to that directory:: - EXTERNALSRC_BUILD_pn-myrecipe = "path-to-your-source-tree" + EXTERNALSRC_BUILD:pn-myrecipe = "path-to-your-source-tree" Replicating a Build Offline --------------------------- @@ -4538,7 +4547,7 @@ that can help you speed up the build: exceptions:: STATICLIBCONF = "--disable-static" - STATICLIBCONF_sqlite3-native = "" + STATICLIBCONF:sqlite3-native = "" EXTRA_OECONF += "${STATICLIBCONF}" .. note:: @@ -4578,7 +4587,7 @@ can control which static library files (``*.a`` files) get included in the built library. The :term:`PACKAGES` and -:term:`FILES_* ` variables in the +:term:`FILES:* ` variables in the ``meta/conf/bitbake.conf`` configuration file define how files installed by the ``do_install`` task are packaged. By default, the :term:`PACKAGES` variable includes ``${PN}-staticdev``, which represents all static @@ -4597,7 +4606,7 @@ how the static library files are defined:: PACKAGES_DYNAMIC = "^${PN}-locale-.*" FILES = "" - FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ + FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ ${sysconfdir} ${sharedstatedir} ${localstatedir} \ ${base_bindir}/* ${base_sbindir}/* \ ${base_libdir}/*${SOLIBS} \ @@ -4607,24 +4616,24 @@ how the static library files are defined:: ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ ${libdir}/bonobo/servers" - FILES_${PN}-bin = "${bindir}/* ${sbindir}/*" + FILES:${PN}-bin = "${bindir}/* ${sbindir}/*" - FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ + FILES:${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ ${datadir}/gnome/help" - SECTION_${PN}-doc = "doc" + SECTION:${PN}-doc = "doc" FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}" - FILES_${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ + FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ ${datadir}/aclocal ${base_libdir}/*.o \ ${libdir}/${BPN}/*.la ${base_libdir}/*.la" - SECTION_${PN}-dev = "devel" - ALLOW_EMPTY_${PN}-dev = "1" - RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" + SECTION:${PN}-dev = "devel" + ALLOW_EMPTY:${PN}-dev = "1" + RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})" - FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" - SECTION_${PN}-staticdev = "devel" - RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})" + FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" + SECTION:${PN}-staticdev = "devel" + RDEPENDS:${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})" Combining Multiple Versions of Library Files into One Image ----------------------------------------------------------- @@ -4701,8 +4710,8 @@ configuration would be as follows:: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" - DEFAULTTUNE_virtclass-multilib-lib32 = "x86" - IMAGE_INSTALL_append = "lib32-glib-2.0" + DEFAULTTUNE:virtclass-multilib-lib32 = "x86" + IMAGE_INSTALL:append = "lib32-glib-2.0" This example enables an additional library named ``lib32`` alongside the normal target packages. When combining these @@ -4749,7 +4758,7 @@ Here are the implementation details for the RPM Package Management System: :term:`Build Directory`. For example, consider ``lib32`` in a ``qemux86-64`` image. The possible architectures in the system are "all", "qemux86_64", - "lib32_qemux86_64", and "lib32_x86". + "lib32:qemux86_64", and "lib32:x86". - The ``${MLPREFIX}`` variable is stripped from ``${PN}`` during RPM packaging. The naming for a normal RPM package and a Multilib RPM @@ -4768,7 +4777,7 @@ Here are the implementation details for the IPK Package Management System: - The ``${MLPREFIX}`` is not stripped from ``${PN}`` during IPK packaging. The naming for a normal RPM package and a Multilib IPK package in a ``qemux86-64`` system resolves to something like - ``bash_4.1-r2.x86_64.ipk`` and ``lib32-bash_4.1-rw_x86.ipk``, + ``bash_4.1-r2.x86_64.ipk`` and ``lib32-bash_4.1-rw:x86.ipk``, respectively. - The IPK deploy folder is not modified with ``${MLPREFIX}`` because @@ -4857,7 +4866,7 @@ configuration file as follows:: MACHINE = "qemux86-64" DEFAULTTUNE = "x86-64-x32" - baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE') \ + baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') \ or 'INVALID')) or 'lib'}" Once you have set @@ -6085,7 +6094,7 @@ layer. The following steps provide some more detail: - Add a ``psplash`` append file for a branded splash screen. For information on append files, see the - ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" + ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`" section. - Add any other append files to make custom changes that are @@ -6510,11 +6519,11 @@ function in your recipe. The ``do_split_packages`` function searches for a pattern of files or directories under a specified path and creates a package for each one it finds by appending to the :term:`PACKAGES` variable and -setting the appropriate values for ``FILES_packagename``, -``RDEPENDS_packagename``, ``DESCRIPTION_packagename``, and so forth. +setting the appropriate values for ``FILES:packagename``, +``RDEPENDS:packagename``, ``DESCRIPTION:packagename``, and so forth. Here is an example from the ``lighttpd`` recipe:: - python populate_packages_prepend () { + python populate_packages:prepend () { lighttpd_libdir = d.expand('${libdir}') do_split_packages(d, lighttpd_libdir, '^mod_(.*).so$', 'lighttpd-module-%s', 'Lighttpd module for %s', @@ -6618,7 +6627,7 @@ optional arguments:: instead of the default False which appends them match_path match file_regex on the whole relative path to - the root rather than just the file name + the root rather than just the filename aux_files_pattern_verbatim Extra item(s) to be added to FILES for each package, using the actual derived module name @@ -7101,7 +7110,7 @@ To add package testing to your build, add the variables to your ``local.conf`` file, which is found in the :term:`Build Directory`:: - DISTRO_FEATURES_append = " ptest" + DISTRO_FEATURES:append = " ptest" EXTRA_IMAGE_FEATURES += "ptest-pkgs" Once your build is complete, the ptest files are installed into the @@ -7145,7 +7154,7 @@ test. Here is what you have to do for each recipe: your recipe in order for the package to meet the dependencies. Here is an example where the package has a runtime dependency on "make":: - RDEPENDS_${PN}-ptest += "make" + RDEPENDS:${PN}-ptest += "make" - *Add a function to build the test suite:* Not many packages support cross-compilation of their test suites. Consequently, you usually @@ -7289,11 +7298,11 @@ The ``devtool edit-recipe`` command lets you take a look at the recipe:: " S = "${WORKDIR}/npm" inherit npm - LICENSE_${PN} = "MIT" - LICENSE_${PN}-accepts = "MIT" - LICENSE_${PN}-array-flatten = "MIT" + LICENSE:${PN} = "MIT" + LICENSE:${PN}-accepts = "MIT" + LICENSE:${PN}-array-flatten = "MIT" ... - LICENSE_${PN}-vary = "MIT" + LICENSE:${PN}-vary = "MIT" Here are three key points in the previous example: @@ -7389,11 +7398,11 @@ The variable can be used in multiple ways, including using suffixes to set it for a specific package type and/or package. Note that the order of precedence is the same as this list: -- ``PACKAGE_ADD_METADATA__`` +- ``PACKAGE_ADD_METADATA_:`` - ``PACKAGE_ADD_METADATA_`` -- ``PACKAGE_ADD_METADATA_`` +- ``PACKAGE_ADD_METADATA:`` - :term:`PACKAGE_ADD_METADATA` @@ -7523,7 +7532,7 @@ Using systemd Exclusively Set these variables in your distribution configuration file as follows:: - DISTRO_FEATURES_append = " systemd" + DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" You can also prevent the SysVinit distribution feature from @@ -7547,7 +7556,7 @@ Using systemd for the Main Image and Using SysVinit for the Rescue Image Set these variables in your distribution configuration file as follows:: - DISTRO_FEATURES_append = " systemd" + DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" Doing so causes your main image to use the @@ -7646,7 +7655,7 @@ the recipe needs to reference Then, you can add the following to your ``local.conf``:: - SRCREV_pn-PN = "${AUTOREV}" + SRCREV:pn-PN = "${AUTOREV}" :term:`PN` is the name of the recipe for which you want to enable automatic source revision updating. @@ -7664,22 +7673,22 @@ configuration file contains the line:: This line pulls in the listed include file that contains numerous lines of exactly that form:: - #SRCREV_pn-opkg-native ?= "${AUTOREV}" - #SRCREV_pn-opkg-sdk ?= "${AUTOREV}" - #SRCREV_pn-opkg ?= "${AUTOREV}" - #SRCREV_pn-opkg-utils-native ?= "${AUTOREV}" - #SRCREV_pn-opkg-utils ?= "${AUTOREV}" - SRCREV_pn-gconf-dbus ?= "${AUTOREV}" - SRCREV_pn-matchbox-common ?= "${AUTOREV}" - SRCREV_pn-matchbox-config-gtk ?= "${AUTOREV}" - SRCREV_pn-matchbox-desktop ?= "${AUTOREV}" - SRCREV_pn-matchbox-keyboard ?= "${AUTOREV}" - SRCREV_pn-matchbox-panel-2 ?= "${AUTOREV}" - SRCREV_pn-matchbox-themes-extra ?= "${AUTOREV}" - SRCREV_pn-matchbox-terminal ?= "${AUTOREV}" - SRCREV_pn-matchbox-wm ?= "${AUTOREV}" - SRCREV_pn-settings-daemon ?= "${AUTOREV}" - SRCREV_pn-screenshot ?= "${AUTOREV}" + #SRCREV:pn-opkg-native ?= "${AUTOREV}" + #SRCREV:pn-opkg-sdk ?= "${AUTOREV}" + #SRCREV:pn-opkg ?= "${AUTOREV}" + #SRCREV:pn-opkg-utils-native ?= "${AUTOREV}" + #SRCREV:pn-opkg-utils ?= "${AUTOREV}" + SRCREV:pn-gconf-dbus ?= "${AUTOREV}" + SRCREV:pn-matchbox-common ?= "${AUTOREV}" + SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}" + SRCREV:pn-matchbox-desktop ?= "${AUTOREV}" + SRCREV:pn-matchbox-keyboard ?= "${AUTOREV}" + SRCREV:pn-matchbox-panel-2 ?= "${AUTOREV}" + SRCREV:pn-matchbox-themes-extra ?= "${AUTOREV}" + SRCREV:pn-matchbox-terminal ?= "${AUTOREV}" + SRCREV:pn-matchbox-wm ?= "${AUTOREV}" + SRCREV:pn-settings-daemon ?= "${AUTOREV}" + SRCREV:pn-screenshot ?= "${AUTOREV}" . . . These lines allow you to @@ -7737,9 +7746,9 @@ It is very important that you make sure all post-Installation (``pkg_postinst``) scripts for packages that are installed into the image can be run at the time when the root filesystem is created during the build on the host system. These scripts cannot attempt to run during -first-boot on the target device. With the "read-only-rootfs" feature -enabled, the build system checks during root filesystem creation to make -sure all post-installation scripts succeed. If any of these scripts +the first boot on the target device. With the "read-only-rootfs" feature +enabled, the build system makes sure that all post-installation scripts +succeed at file system creation time. If any of these scripts still need to be run after the root filesystem is created, the build immediately fails. These build-time checks ensure that the build fails rather than the target device fails later during its initial boot @@ -7922,25 +7931,25 @@ output from this command:: $ buildhistory-collect-srcrevs -a # i586-poky-linux - SRCREV_pn-glibc = "b8079dd0d360648e4e8de48656c5c38972621072" - SRCREV_pn-glibc-initial = "b8079dd0d360648e4e8de48656c5c38972621072" - SRCREV_pn-opkg-utils = "53274f087565fd45d8452c5367997ba6a682a37a" - SRCREV_pn-kmod = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" + SRCREV:pn-glibc = "b8079dd0d360648e4e8de48656c5c38972621072" + SRCREV:pn-glibc-initial = "b8079dd0d360648e4e8de48656c5c38972621072" + SRCREV:pn-opkg-utils = "53274f087565fd45d8452c5367997ba6a682a37a" + SRCREV:pn-kmod = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" # x86_64-linux - SRCREV_pn-gtk-doc-stub-native = "1dea266593edb766d6d898c79451ef193eb17cfa" - SRCREV_pn-dtc-native = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf" - SRCREV_pn-update-rc.d-native = "eca680ddf28d024954895f59a241a622dd575c11" - SRCREV_glibc_pn-cross-localedef-native = "b8079dd0d360648e4e8de48656c5c38972621072" - SRCREV_localedef_pn-cross-localedef-native = "c833367348d39dad7ba018990bfdaffaec8e9ed3" - SRCREV_pn-prelink-native = "faa069deec99bf61418d0bab831c83d7c1b797ca" - SRCREV_pn-opkg-utils-native = "53274f087565fd45d8452c5367997ba6a682a37a" - SRCREV_pn-kern-tools-native = "23345b8846fe4bd167efdf1bd8a1224b2ba9a5ff" - SRCREV_pn-kmod-native = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" + SRCREV:pn-gtk-doc-stub-native = "1dea266593edb766d6d898c79451ef193eb17cfa" + SRCREV:pn-dtc-native = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf" + SRCREV:pn-update-rc.d-native = "eca680ddf28d024954895f59a241a622dd575c11" + SRCREV_glibc:pn-cross-localedef-native = "b8079dd0d360648e4e8de48656c5c38972621072" + SRCREV_localedef:pn-cross-localedef-native = "c833367348d39dad7ba018990bfdaffaec8e9ed3" + SRCREV:pn-prelink-native = "faa069deec99bf61418d0bab831c83d7c1b797ca" + SRCREV:pn-opkg-utils-native = "53274f087565fd45d8452c5367997ba6a682a37a" + SRCREV:pn-kern-tools-native = "23345b8846fe4bd167efdf1bd8a1224b2ba9a5ff" + SRCREV:pn-kmod-native = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" # qemux86-poky-linux - SRCREV_machine_pn-linux-yocto = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1" - SRCREV_meta_pn-linux-yocto = "a227f20eff056e511d504b2e490f3774ab260d6f" + SRCREV_machine:pn-linux-yocto = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1" + SRCREV_meta:pn-linux-yocto = "a227f20eff056e511d504b2e490f3774ab260d6f" # all-poky-linux - SRCREV_pn-update-rc.d = "eca680ddf28d024954895f59a241a622dd575c11" + SRCREV:pn-update-rc.d = "eca680ddf28d024954895f59a241a622dd575c11" .. note:: @@ -8564,11 +8573,11 @@ Here are some things to keep in mind when running tests: - The default tests for the image are defined as:: - DEFAULT_TEST_SUITES_pn-image = "ping ssh df connman syslog xorg scp vnc date rpm dnf dmesg" + DEFAULT_TEST_SUITES:pn-image = "ping ssh df connman syslog xorg scp vnc date rpm dnf dmesg" - Add your own test to the list of the by using the following:: - TEST_SUITES_append = " mytest" + TEST_SUITES:append = " mytest" - Run a specific list of tests as follows:: @@ -8941,7 +8950,7 @@ In addition to variable values, the output of the ``bitbake -e`` and - After the variable values, all functions appear in the output. For shell functions, variables referenced within the function body are expanded. If a function has been modified using overrides or using - override-style operators like ``_append`` and ``_prepend``, then the + override-style operators like ``:append`` and ``:prepend``, then the final assembled function body appears in the output. Viewing Package Information with ``oe-pkgdata-util`` @@ -9715,7 +9724,7 @@ To run a ``debuginfod`` server, you need to do the following: (it already is in ``OpenEmbedded-core`` defaults and ``poky`` reference distribution). If not, set in your distro config file or in ``local.conf``:: - DISTRO_FEATURES_append = " debuginfod" + DISTRO_FEATURES:append = " debuginfod" This distro feature enables the server and client library in ``elfutils``, and enables ``debuginfod`` support in clients (at the moment, ``gdb`` and ``binutils``). @@ -9802,7 +9811,7 @@ debugger. Make the following addition in either your ``local.conf`` file or in an image recipe:: - IMAGE_INSTALL_append = " gdbserver" + IMAGE_INSTALL:append = " gdbserver" The change makes sure the ``gdbserver`` package is included. @@ -9938,21 +9947,21 @@ To support this kind of debugging, you need do the following: - Ensure that GDB is on the target. You can do this by adding "gdb" to :term:`IMAGE_INSTALL`:: - IMAGE_INSTALL_append = " gdb" + IMAGE_INSTALL:append = " gdb" Alternatively, you can add "tools-debug" to :term:`IMAGE_FEATURES`:: - IMAGE_FEATURES_append = " tools-debug" + IMAGE_FEATURES:append = " tools-debug" - Ensure that debug symbols are present. You can make sure these symbols are present by installing ``-dbg``:: - IMAGE_INSTALL_append = "packagename-dbg" + IMAGE_INSTALL:append = "packagename-dbg" Alternatively, you can do the following to include all the debug symbols:: - IMAGE_FEATURES_append = " dbg-pkgs" + IMAGE_FEATURES:append = " dbg-pkgs" .. note:: @@ -11131,6 +11140,75 @@ Enabling vulnerabily tracking in recipes The :term:`CVE_PRODUCT` variable defines the name used to match the recipe name against the name in the upstream `NIST CVE database `__. +Editing recipes to fix vulnerabilities +-------------------------------------- + +To fix a given known vulnerability, you need to add a patch file to your recipe. Here's +an example from the :oe_layerindex:`ffmpeg recipe`:: + + SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ + file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \ + file://fix-CVE-2020-20446.patch \ + file://fix-CVE-2020-20453.patch \ + file://fix-CVE-2020-22015.patch \ + file://fix-CVE-2020-22021.patch \ + file://fix-CVE-2020-22033-CVE-2020-22019.patch \ + file://fix-CVE-2021-33815.patch \ + +The :ref:`cve-check ` class defines two ways of +supplying a patch for a given CVE. The first +way is to use a patch filename that matches the below pattern:: + + cve_file_name_match = re.compile(".*([Cc][Vv][Ee]\-\d{4}\-\d+)") + +As shown in the example above, multiple CVE IDs can appear in a patch filename, +but the :ref:`cve-check ` class will only consider +the last CVE ID in the filename as patched. + +The second way to recognize a patched CVE ID is when a line matching the +below pattern is found in any patch file provided by the recipe:: + + cve_match = re.compile("CVE:( CVE\-\d{4}\-\d+)+") + +This allows a single patch file to address multiple CVE IDs at the same time. + +Of course, another way to fix vulnerabilities is to upgrade to a version +of the package which is not impacted, typically a more recent one. +The NIST database knows which versions are vulnerable and which ones +are not. + +Last but not least, you can choose to ignore vulnerabilities through +the :term:`CVE_CHECK_PN_WHITELIST` and :term:`CVE_CHECK_WHITELIST` +variables. + +Implementation details +---------------------- + +Here's what the :ref:`cve-check ` class does to +find unpatched CVE IDs. + +First the code goes through each patch file provided by a recipe. If a valid CVE ID +is found in the name of the file, the corresponding CVE is considered as patched. +Don't forget that if multiple CVE IDs are found in the filename, only the last +one is considered. Then, the code looks for ``CVE: CVE-ID`` lines in the patch +file. The found CVE IDs are also considered as patched. + +Then, the code looks up all the CVE IDs in the NIST database for all the +products defined in :term:`CVE_PRODUCT`. Then, for each found CVE: + + - If the package name (:term:`PN`) is part of + :term:`CVE_CHECK_PN_WHITELIST`, it is considered as patched. + + - If the CVE ID is part of :term:`CVE_CHECK_WHITELIST`, it is + considered as patched too. + + - If the CVE ID is part of the patched CVE for the recipe, it is + already considered as patched. + + - Otherwise, the code checks whether the recipe version (:term:`PV`) + is within the range of versions impacted by the CVE. If so, the CVE + is considered as unpatched. + The CVE database is stored in :term:`DL_DIR` and can be inspected using ``sqlite3`` command as follows:: @@ -11274,7 +11352,7 @@ support, include the "wayland" flag in the :term:`DISTRO_FEATURES` statement in your ``local.conf`` file:: - DISTRO_FEATURES_append = " wayland" + DISTRO_FEATURES:append = " wayland" .. note:: diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst index 871ec8ae7..2dbcca60c 100644 --- a/poky/documentation/kernel-dev/advanced.rst +++ b/poky/documentation/kernel-dev/advanced.rst @@ -69,7 +69,7 @@ to indicate the branch. You can use the :term:`KBRANCH` value to define an alternate branch typically with a machine override as shown here from the ``meta-yocto-bsp`` layer:: - KBRANCH_edgerouter = "standard/edgerouter" + KBRANCH:edgerouter = "standard/edgerouter" The linux-yocto style recipes can optionally define the following @@ -113,7 +113,7 @@ To include a feature called "cfg/sound.scc" just for the ``qemux86`` machine, specify:: - KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc" + KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc" The value of the entries in :term:`KERNEL_FEATURES` are dependent on their location @@ -724,7 +724,7 @@ If the BSP description is in recipe space, you cannot simply list the ``*.scc`` in the :term:`SRC_URI` statement. You need to use the following form from your kernel append file:: - SRC_URI_append_myplatform = " \ + SRC_URI:append:myplatform = " \ file://myplatform;type=kmeta;destsuffix=myplatform \ " diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst index a97140b0b..d42ca5f99 100644 --- a/poky/documentation/kernel-dev/common.rst +++ b/poky/documentation/kernel-dev/common.rst @@ -416,16 +416,16 @@ home directory: kernel. Thus, the name of the append file is ``linux-yocto_4.12.bbappend``:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - SRC_URI_append = " file://patch-file-one.patch" - SRC_URI_append = " file://patch-file-two.patch" - SRC_URI_append = " file://patch-file-three.patch" + SRC_URI:append = " file://patch-file-one.patch" + SRC_URI:append = " file://patch-file-two.patch" + SRC_URI:append = " file://patch-file-three.patch" The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements enable the OpenEmbedded build system to find patch files. For more information on using append files, see the - ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" + ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`" section in the Yocto Project Development Tasks Manual. Modifying an Existing Recipe @@ -469,7 +469,7 @@ prepending the directory that contains your files to the :term:`FILESEXTRAPATHS` variable as follows:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}`` expands to "linux-yocto" in the current directory for this example. If @@ -496,29 +496,29 @@ strings in this example listing might be different than the actual strings in the file from the ``meta-yocto-bsp`` layer upstream. :: - KBRANCH_genericx86 = "standard/base" - KBRANCH_genericx86-64 = "standard/base" + KBRANCH:genericx86 = "standard/base" + KBRANCH:genericx86-64 = "standard/base" - KMACHINE_genericx86 ?= "common-pc" - KMACHINE_genericx86-64 ?= "common-pc-64" - KBRANCH_edgerouter = "standard/edgerouter" - KBRANCH_beaglebone = "standard/beaglebone" + KMACHINE:genericx86 ?= "common-pc" + KMACHINE:genericx86-64 ?= "common-pc-64" + KBRANCH:edgerouter = "standard/edgerouter" + KBRANCH:beaglebone = "standard/beaglebone" - SRCREV_machine_genericx86 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19" - SRCREV_machine_genericx86-64 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19" - SRCREV_machine_edgerouter ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d" - SRCREV_machine_beaglebone ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d" + SRCREV_machine:genericx86 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19" + SRCREV_machine:genericx86-64 ?= "d09f2ce584d60ecb7890550c22a80c48b83c2e19" + SRCREV_machine:edgerouter ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d" + SRCREV_machine:beaglebone ?= "b5c8cfda2dfe296410d51e131289fb09c69e1e7d" - COMPATIBLE_MACHINE_genericx86 = "genericx86" - COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" - COMPATIBLE_MACHINE_edgerouter = "edgerouter" - COMPATIBLE_MACHINE_beaglebone = "beaglebone" + COMPATIBLE_MACHINE:genericx86 = "genericx86" + COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" + COMPATIBLE_MACHINE:edgerouter = "edgerouter" + COMPATIBLE_MACHINE:beaglebone = "beaglebone" - LINUX_VERSION_genericx86 = "4.12.7" - LINUX_VERSION_genericx86-64 = "4.12.7" - LINUX_VERSION_edgerouter = "4.12.10" - LINUX_VERSION_beaglebone = "4.12.10" + LINUX_VERSION:genericx86 = "4.12.7" + LINUX_VERSION:genericx86-64 = "4.12.7" + LINUX_VERSION:edgerouter = "4.12.10" + LINUX_VERSION:beaglebone = "4.12.10" This append file contains statements used to support several BSPs that ship with the @@ -640,7 +640,7 @@ appropriate ``${PN}`` directory in your layer's ``recipes-kernel/linux`` directory, and rename the copied file to "defconfig". Then, add the following lines to the linux-yocto ``.bbappend`` file in your layer:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://defconfig" The :term:`SRC_URI` tells the build system how to search @@ -687,7 +687,7 @@ Next, include this configuration fragment and extend the :term:`FILESPATH` variable in your ``.bbappend`` file:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://8250.cfg" The next time you run BitBake to build the @@ -726,7 +726,7 @@ that assigns the :term:`KBUILD_DEFCONFIG` variable based on "raspberrypi2" and provides the path to the "in-tree" ``defconfig`` file to be used for a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:: - KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" + KBUILD_DEFCONFIG:raspberrypi2 ?= "bcm2709_defconfig" Aside from modifying your kernel recipe and providing your own ``defconfig`` file, you need to be sure no files or statements set @@ -988,10 +988,10 @@ Section. Add the following to the ``local.conf``:: - SRC_URI_pn-linux-yocto = "git:///path-to/linux-yocto-4.12;protocol=file;name=machine;branch=standard/base; \ + SRC_URI:pn-linux-yocto = "git:///path-to/linux-yocto-4.12;protocol=file;name=machine;branch=standard/base; \ git:///path-to/yocto-kernel-cache;protocol=file;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}" - SRCREV_meta_qemux86 = "${AUTOREV}" - SRCREV_machine_qemux86 = "${AUTOREV}" + SRCREV_meta:qemux86 = "${AUTOREV}" + SRCREV_machine:qemux86 = "${AUTOREV}" .. note:: @@ -1061,8 +1061,8 @@ Section. must be named ``linux-yocto_4.12.bbappend`` and have the following contents:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - SRC_URI_append = "file://0001-calibrate.c-Added-some-printk-statements.patch" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + SRC_URI:append = "file://0001-calibrate.c-Added-some-printk-statements.patch" The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements enable the OpenEmbedded build system to find the patch file. @@ -1070,7 +1070,7 @@ Section. For more information on append files and patches, see the ":ref:`kernel-dev/common:creating the append file`" and ":ref:`kernel-dev/common:applying patches`" sections. You can also see the - ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" + ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`" section in the Yocto Project Development Tasks Manual. .. note:: @@ -1237,7 +1237,7 @@ file to "defconfig" (e.g. add the following lines to the linux-yocto ``.bbappend`` file in your layer:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://defconfig" The :term:`SRC_URI` tells the build system how to search for the file, while the @@ -1345,7 +1345,7 @@ the kernel's append file within your layer and then add the following statements to the kernel's append file, those configuration options will be picked up and applied when the kernel is built:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://myconfig.cfg" As mentioned earlier, you can group related configurations into multiple @@ -1939,7 +1939,7 @@ build. 2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the recipe's :term:`SRC_URI` statement:: - SRC_URI_append = " file://test.scc" + SRC_URI:append = " file://test.scc" The leading space before the path is important as the path is appended to the existing path. @@ -1948,7 +1948,7 @@ build. :term:`KERNEL_FEATURES` statement to specify the feature as a kernel feature:: - KERNEL_FEATURES_append = " test.scc" + KERNEL_FEATURES:append = " test.scc" The OpenEmbedded build system processes the kernel feature when it builds the kernel. diff --git a/poky/documentation/kernel-dev/faq.rst b/poky/documentation/kernel-dev/faq.rst index f0a7af37b..5aa702ad6 100644 --- a/poky/documentation/kernel-dev/faq.rst +++ b/poky/documentation/kernel-dev/faq.rst @@ -36,9 +36,9 @@ How do I install/not-install the kernel image on the rootfs? The kernel image (e.g. ``vmlinuz``) is provided by the ``kernel-image`` package. Image recipes depend on ``kernel-base``. To specify whether or not the kernel image is installed in the generated -root filesystem, override ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base`` to include or not +root filesystem, override ``RDEPENDS:${KERNEL_PACKAGE_NAME}-base`` to include or not include "kernel-image". See the -":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" +":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`" section in the Yocto Project Development Tasks Manual for information on how to use an append file to override metadata. diff --git a/poky/documentation/migration-guides/migration-1.4.rst b/poky/documentation/migration-guides/migration-1.4.rst index 3f980915c..baf3c0837 100644 --- a/poky/documentation/migration-guides/migration-1.4.rst +++ b/poky/documentation/migration-guides/migration-1.4.rst @@ -83,7 +83,7 @@ create an append file for the ``init-ifupdown`` recipe instead, which you can find in the :term:`Source Directory` at ``meta/recipes-core/init-ifupdown``. For information on how to use append files, see the -":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" +":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`" section in the Yocto Project Development Tasks Manual. .. _migration-1.4-remote-debugging: diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst index e1ba4a9a1..11c821265 100644 --- a/poky/documentation/migration-guides/migration-1.5.rst +++ b/poky/documentation/migration-guides/migration-1.5.rst @@ -144,7 +144,7 @@ Shortened Git ``SRCREV`` Values BitBake will now shorten revisions from Git repositories from the normal 40 characters down to 10 characters within :term:`SRCPV` -for improved usability in path and file names. This change should be +for improved usability in path and filenames. This change should be safe within contexts where these revisions are used because the chances of spatially close collisions is very low. Distant collisions are not a major issue in the way the values are used. diff --git a/poky/documentation/migration-guides/migration-3.4.rst b/poky/documentation/migration-guides/migration-3.4.rst index 6fa1ab20c..e83e936b7 100644 --- a/poky/documentation/migration-guides/migration-3.4.rst +++ b/poky/documentation/migration-guides/migration-3.4.rst @@ -56,6 +56,13 @@ context being specific tasks in that case. Tune overrides are another special case where some code does use them as overrides but some does not. We plan to try and make the tune code use overrides more consistently in the future. +There are some variables which do not use override syntax which include the +suffix to variables in ``layer.conf`` files such as :term:`BBFILE_PATTERN`, +:term:`SRCREV`\ ``_xxx`` where ``xxx`` is a name from :term:`SRC_URI` and +:term:`PREFERRED_VERSION`\ ``_xxx``. In particular, ``layer.conf`` suffixes +may be the same as a :term:`DISTRO` override causing some confusion. We do +plan to try and improve consistency as these issues are identified. + To help with migration of layers there is a script in OE-Core. Once configured with the overrides used by a layer, this can be run as:: diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst index 4f8e6cb04..c8b89885e 100644 --- a/poky/documentation/overview-manual/concepts.rst +++ b/poky/documentation/overview-manual/concepts.rst @@ -1768,15 +1768,12 @@ It is also worth noting that the end result of these signature generators is to make some dependency and hash information available to the build. This information includes: -- ``BB_BASEHASH_task-``\ taskname: The base hashes for each task in the +- ``BB_BASEHASH:task-``\ taskname: The base hashes for each task in the recipe. - ``BB_BASEHASH_``\ filename\ ``:``\ taskname: The base hashes for each dependent task. -- ``BBHASHDEPS_``\ filename\ ``:``\ taskname: The task dependencies for - each task. - - :term:`BB_TASKHASH`: The hash of the currently running task. Shared State @@ -2027,7 +2024,7 @@ dependencies, you must manually declare the dependencies. .. note:: By default, ``foo-dev`` also has an :term:`RDEPENDS`-style dependency on - ``foo``, because the default value of ``RDEPENDS_${PN}-dev`` (set in + ``foo``, because the default value of ``RDEPENDS:${PN}-dev`` (set in bitbake.conf) includes "${PN}". To ensure that the dependency chain is never broken, ``-dev`` and diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst index d20a4ab09..7aee9db04 100644 --- a/poky/documentation/overview-manual/yp-intro.rst +++ b/poky/documentation/overview-manual/yp-intro.rst @@ -738,7 +738,7 @@ other build process, in which case the basic functionality can be defined by the classes it inherits from the OE-Core layer's class definitions in ``./meta/classes``. Within a recipe you can also define additional tasks as well as task prerequisites. Recipe syntax through -BitBake also supports both ``_prepend`` and ``_append`` operators as a +BitBake also supports both ``:prepend`` and ``:append`` operators as a method of extending task functionality. These operators inject code into the beginning or end of a task. For information on these BitBake operators, see the diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 49905f272..3af023895 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -404,6 +404,22 @@ cross-compilation tools used for building SDKs. See the section in the Yocto Project Overview and Concepts Manual for more discussion on these cross-compilation tools. +.. _ref-classes-cve-check: + +``cve-check.bbclass`` +===================== + +The ``cve-check`` class looks for known CVEs (Common Vulnerabilities +and Exposures) while building an image. This class is meant to be +inherited globally from a configuration file:: + + INHERIT += "cve-check" + +You can also look for vulnerabilities in specific packages by passing +``-c cve_check`` to BitBake. You will find details in the +":ref:`dev-manual/common-tasks:checking for vulnerabilities`" +section in the Development Tasks Manual. + .. _ref-classes-debian: ``debian.bbclass`` @@ -456,8 +472,8 @@ recipe that fetches from an alternative URI (e.g. Git) instead of a tarball. Following is an example:: BBCLASSEXTEND = "devupstream:target" - SRC_URI_class-devupstream = "git://git.example.com/example" - SRCREV_class-devupstream = "abcd1234" + SRC_URI:class-devupstream = "git://git.example.com/example" + SRCREV:class-devupstream = "abcd1234" Adding the above statements to your recipe creates a variant that has :term:`DEFAULT_PREFERENCE` set to "-1". @@ -465,8 +481,8 @@ Consequently, you need to select the variant of the recipe to use it. Any development-specific adjustments can be done by using the ``class-devupstream`` override. Here is an example:: - DEPENDS_append_class-devupstream = " gperf-native" - do_configure_prepend_class-devupstream() { + DEPENDS:append:class-devupstream = " gperf-native" + do_configure:prepend:class-devupstream() { touch ${S}/README } @@ -846,7 +862,7 @@ sure that all builders start with the same sstate signatures. After inheriting the class, you can then disable the feature by setting the :term:`ICECC_DISABLED` variable to "1" as follows:: - INHERIT_DISTRO_append = " icecc" + INHERIT_DISTRO:append = " icecc" ICECC_DISABLED ??= "1" This practice @@ -974,7 +990,7 @@ the check for symbolic link ``.so`` files in the main package of a recipe, add the following to the recipe. You need to realize that the package name override, in this example ``${PN}``, must be used:: - INSANE_SKIP_${PN} += "dev-so" + INSANE_SKIP:${PN} += "dev-so" Please keep in mind that the QA checks are meant to detect real or potential problems in the packaged @@ -1182,7 +1198,7 @@ Here are the tests you can list with the :term:`WARN_QA` and its :term:`PN` value matches something already in :term:`OVERRIDES` (e.g. :term:`PN` happens to be the same as :term:`MACHINE` or :term:`DISTRO`), it can have unexpected consequences. - For example, assignments such as ``FILES_${PN} = "xyz"`` effectively + For example, assignments such as ``FILES:${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. - ``rpaths:`` Checks for rpaths in the binaries that contain build @@ -1208,7 +1224,7 @@ Here are the tests you can list with the :term:`WARN_QA` and - ``unlisted-pkg-lics:`` Checks that all declared licenses applying for a package are also declared on the recipe level (i.e. any license - in ``LICENSE_*`` should appear in :term:`LICENSE`). + in ``LICENSE:*`` should appear in :term:`LICENSE`). - ``useless-rpaths:`` Checks for dynamic library load paths (rpaths) in the binaries that by default on a standard system are searched by @@ -1605,7 +1621,7 @@ a couple different ways: BBCLASSEXTEND = "native" Inside the - recipe, use ``_class-native`` and ``_class-target`` overrides to + recipe, use ``:class-native`` and ``:class-target`` overrides to specify any functionality specific to the respective native or target case. @@ -1636,7 +1652,7 @@ couple different ways: BBCLASSEXTEND = "nativesdk" Inside the - recipe, use ``_class-nativesdk`` and ``_class-target`` overrides to + recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to specify any functionality specific to the respective SDK machine or target case. @@ -2481,7 +2497,7 @@ indicate the package to which the value applies. If the value applies to the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here is an example from the connman recipe:: - SYSTEMD_SERVICE_${PN} = "connman.service" + SYSTEMD_SERVICE:${PN} = "connman.service" Services are set up to start on boot automatically unless you have set diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst index c7322e762..d3a603d4a 100644 --- a/poky/documentation/ref-manual/faq.rst +++ b/poky/documentation/ref-manual/faq.rst @@ -301,7 +301,7 @@ As an example, you could add a specific server for the build system to attempt before any others by adding something like the following to the ``local.conf`` configuration file:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -341,7 +341,7 @@ Finally, consider an example where you are behind an HTTP-only firewall. You could make the following changes to the ``local.conf`` configuration file as long as the :term:`PREMIRRORS` server is current:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ https://.*/.* http://www.yoctoproject.org/sources/ \n" diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst index fc723ccbe..cac9f2f49 100644 --- a/poky/documentation/ref-manual/kickstart.rst +++ b/poky/documentation/ref-manual/kickstart.rst @@ -65,13 +65,17 @@ Here is an example that uses "/" as the mountpoint. The command uses Here is a list that describes other supported options you can use with the ``part`` and ``partition`` commands: -- ``--size``: The minimum partition size in MBytes. Specify an - integer value such as 500. Do not append the number with "MB". You do - not need this option if you use ``--source``. - -- ``--fixed-size``: The exact partition size in MBytes. You cannot - specify with ``--size``. An error occurs when assembling the disk - image if the partition data is larger than ``--fixed-size``. +- ``--size``: The minimum partition size. Specify as an integer value + optionally followed by one of the units "k" / "K" for kibibyte, + "M" for mebibyte and "G" for gibibyte. The default unit if none is + given is "M". You do not need this option if you use ``--source``. + +- ``--fixed-size``: The exact partition size. Specify as an integer + value optionally followed by one of the units "k" / "K" for kibibyte, + "M" for mebibyte and "G" for gibibyte. The default unit if none is + given is "M". Cannot be specify together with ``--size``. An error + occurs when assembling the disk image if the partition data is larger + than ``--fixed-size``. - ``--source``: This option is a Wic-specific option that names the source of the data that populates the partition. The most common @@ -134,10 +138,13 @@ the ``part`` and ``partition`` commands: - ``--align (in KBytes)``: This option is a Wic-specific option that says to start partitions on boundaries given x KBytes. -- ``--offset (in KBytes)``: This option is a Wic-specific option that +- ``--offset``: This option is a Wic-specific option that says to place a partition at exactly the specified offset. If the partition cannot be placed at the specified offset, the image build - will fail. + will fail. Specify as an integer value optionally followed by one of + the units "s" / "S" for 512 byte sector, "k" / "K" for kibibyte, "M" + for mebibyte and "G" for gibibyte. The default unit if none is given + is "k". - ``--no-table``: This option is a Wic-specific option. Using the option reserves space for the partition and causes it to become @@ -151,7 +158,10 @@ the ``part`` and ``partition`` commands: - ``--extra-space``: This option is a Wic-specific option that adds extra space after the space filled by the content of the partition. The final size can exceed the size specified by the ``--size`` - option. The default value is 10 Mbytes. + option. The default value is 10M. Specify as an integer value + optionally followed by one of the units "k" / "K" for kibibyte, "M" + for mebibyte and "G" for gibibyte. The default unit if none is given + is "M". - ``--overhead-factor``: This option is a Wic-specific option that multiplies the size of the partition by the option's value. You must diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst index 0ef203c70..c3e40dba5 100644 --- a/poky/documentation/ref-manual/qa-checks.rst +++ b/poky/documentation/ref-manual/qa-checks.rst @@ -223,7 +223,7 @@ Errors and Warnings software that reads :term:`CFLAGS` when you build it, you could add the following to your recipe:: - CFLAGS_append = " -fPIC " + CFLAGS:append = " -fPIC " For more information on text relocations at runtime, see https://www.akkadia.org/drepper/textrelocs.html. @@ -263,7 +263,7 @@ Errors and Warnings The ``/usr/share/info/dir`` should not be packaged. Add the following line to your :ref:`ref-tasks-install` task or to your - ``do_install_append`` within the recipe as follows:: + ``do_install:append`` within the recipe as follows:: rm ${D}${infodir}/dir   @@ -347,7 +347,7 @@ Errors and Warnings   .. _qa-check-dep-cmp: -- ``_ is invalid: () only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` +- ``: is invalid: () only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` If you are adding a versioned dependency relationship to one of the dependency variables (:term:`RDEPENDS`, @@ -454,14 +454,14 @@ Errors and Warnings ``pkg_preinst``, ``pkg_postinst``, ``pkg_prerm``, ``pkg_postrm``, and :term:`ALLOW_EMPTY`) should always be set specific to a package (i.e. they should be set with a package name override - such as ``RDEPENDS_${PN} = "value"`` rather than + such as ``RDEPENDS:${PN} = "value"`` rather than ``RDEPENDS = "value"``). If you receive this error, correct any assignments to these variables within your recipe. -- ``recipe uses DEPENDS_${PN}, should use DEPENDS [pkgvarcheck]`` +- ``recipe uses DEPENDS:${PN}, should use DEPENDS [pkgvarcheck]`` - This check looks for instances of setting ``DEPENDS_${PN}`` + This check looks for instances of setting ``DEPENDS:${PN}`` which is erroneous (:term:`DEPENDS` is a recipe-wide variable and thus it is not correct to specify it for a particular package, nor will such an assignment actually work.) Set :term:`DEPENDS` instead. @@ -524,7 +524,7 @@ Errors and Warnings following: - Add the files to :term:`FILES` for the package you want them to appear - in (e.g. ``FILES_${``\ :term:`PN`\ ``}`` for the main + in (e.g. ``FILES:${``\ :term:`PN`\ ``}`` for the main package). - Delete the files at the end of the ``do_install`` task if the @@ -539,18 +539,18 @@ Errors and Warnings when a recipe has been renamed. However, if that is not the case, the message might indicate that a private version of a library is being erroneously picked up as the provider for a common library. If that - is the case, you should add the library's ``.so`` file name to + is the case, you should add the library's ``.so`` filename to :term:`PRIVATE_LIBS` in the recipe that provides the private version of the library. .. _qa-check-unlisted-pkg-lics: -- ``LICENSE_ includes licenses () that are not listed in LICENSE [unlisted-pkg-lics]`` +- ``LICENSE: includes licenses () that are not listed in LICENSE [unlisted-pkg-lics]`` The :term:`LICENSE` of the recipe should be a superset of all the licenses of all packages produced by this recipe. In other - words, any license in ``LICENSE_*`` should also appear in + words, any license in ``LICENSE:*`` should also appear in :term:`LICENSE`. @@ -620,7 +620,7 @@ Errors and Warnings .. _qa-check-missing-update-alternatives: -- ``: recipe defines ALTERNATIVE_ but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` +- ``: recipe defines ALTERNATIVE: but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the recipe also inherits :ref:`update-alternatives ` such diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 115094013..7aecda017 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -38,9 +38,9 @@ system and gives an overview of their function and contents. Like all package-controlling variables, you must always use them in conjunction with a package name override, as in:: - ALLOW_EMPTY_${PN} = "1" - ALLOW_EMPTY_${PN}-dev = "1" - ALLOW_EMPTY_${PN}-staticdev = "1" + ALLOW_EMPTY:${PN} = "1" + ALLOW_EMPTY:${PN}-dev = "1" + ALLOW_EMPTY:${PN}-staticdev = "1" :term:`ALTERNATIVE` Lists commands in a package that need an alternative binary naming @@ -53,7 +53,7 @@ system and gives an overview of their function and contents. provided by another package. For example, if the ``busybox`` package has four such commands, you identify them as follows:: - ALTERNATIVE_busybox = "sh sed test bracket" + ALTERNATIVE:busybox = "sh sed test bracket" For more information on the alternatives system, see the ":ref:`update-alternatives.bbclass `" @@ -297,7 +297,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - BAD_RECOMMENDATIONS_pn-target_image = "package_name" + BAD_RECOMMENDATIONS:pn-target_image = "package_name" It is important to realize that if you choose to not install packages using this variable and some other packages are dependent on them @@ -575,7 +575,7 @@ system and gives an overview of their function and contents. Internally, the :term:`BBCLASSEXTEND` mechanism generates recipe variants by rewriting variable values and applying overrides such - as ``_class-native``. For example, to generate a native version of + as ``:class-native``. For example, to generate a native version of a recipe, a :term:`DEPENDS` on "foo" is rewritten to a :term:`DEPENDS` on "foo-native". @@ -1133,7 +1133,7 @@ system and gives an overview of their function and contents. As an example, the following override allows you to install extra files, but only when building for the target:: - do_install_append_class-target() { + do_install:append:class-target() { install my-extra-file ${D}${sysconfdir} } @@ -1141,7 +1141,7 @@ system and gives an overview of their function and contents. "native" when building for the build host, and to "other" when not building for the build host:: - FOO_class-native = "native" + FOO:class-native = "native" FOO = "other" The underlying mechanism behind :term:`CLASSOVERRIDE` is simply @@ -1246,7 +1246,7 @@ system and gives an overview of their function and contents. that identifies the resulting package. Then, provide a space-separated list of files. Here is an example:: - CONFFILES_${PN} += "${sysconfdir}/file1 \ + CONFFILES:${PN} += "${sysconfdir}/file1 \ ${sysconfdir}/file2 ${sysconfdir}/file3" There is a relationship between the :term:`CONFFILES` and :term:`FILES` @@ -1471,11 +1471,22 @@ system and gives an overview of their function and contents. variable only in certain contexts (e.g. when building for kernel and kernel module recipes). + :term:`CVE_CHECK_PN_WHITELIST` + The list of package names (:term:`PN`) for which + CVEs (Common Vulnerabilities and Exposures) are ignored. + + :term:`CVE_CHECK_WHITELIST` + The list of CVE IDs which are ignored. Here is + an example from the :oe_layerindex:`Python3 recipe`:: + + # This is windows only issue. + CVE_CHECK_WHITELIST += "CVE-2020-15523" + :term:`CVE_PRODUCT` In a recipe, defines the name used to match the recipe name against the name in the upstream `NIST CVE database `__. - The default is ${:term:`BPN`}. If it does not match the name in NIST CVE + The default is ${:term:`BPN`}. If it does not match the name in the NIST CVE database or matches with multiple entries in the database, the default value needs to be changed. @@ -1535,7 +1546,7 @@ system and gives an overview of their function and contents. package naming. You must use the package name as an override when you set this variable. Here is an example from the ``fontconfig`` recipe:: - DEBIAN_NOAUTONAME_fontconfig-utils = "1" + DEBIAN_NOAUTONAME:fontconfig-utils = "1" :term:`DEBIANNAME` When the :ref:`debian ` class is inherited, @@ -1545,7 +1556,7 @@ system and gives an overview of their function and contents. override when you set this variable. Here is an example from the ``dbus`` recipe:: - DEBIANNAME_${PN} = "dbus-1" + DEBIANNAME:${PN} = "dbus-1" :term:`DEBUG_BUILD` Specifies to build packages with debugging information. This @@ -2104,7 +2115,7 @@ system and gives an overview of their function and contents. to fix a runtime dependency to the exact same version of another package in the same recipe:: - RDEPENDS_${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" + RDEPENDS:${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" The dependency relationships are intended to force the package manager to upgrade these types of packages in lock-step. @@ -2204,7 +2215,7 @@ system and gives an overview of their function and contents. this variable, use an override for the associated image type. Here is an example:: - EXTRA_IMAGECMD_ext3 ?= "-i 4096" + EXTRA_IMAGECMD:ext3 ?= "-i 4096" :term:`EXTRA_IMAGEDEPENDS` A list of recipes to build that do not provide packages for @@ -2331,7 +2342,7 @@ system and gives an overview of their function and contents. list of files or paths that identify the files you want included as part of the resulting package. Here is an example:: - FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" + FILES:${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" .. note:: @@ -2347,7 +2358,7 @@ system and gives an overview of their function and contents. rather than ``/usr/bin``. You can find a list of these variables at the top of the ``meta/conf/bitbake.conf`` file in the :term:`Source Directory`. You will also - find the default values of the various ``FILES_*`` variables in + find the default values of the various ``FILES:*`` variables in this file. If some of the files you provide with the :term:`FILES` variable are @@ -2380,7 +2391,7 @@ system and gives an overview of their function and contents. :term:`FILESEXTRAPATHS` from within a ``.bbappend`` file and that you prepend paths as follows:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" In the above example, the build system first looks for files in a directory that has the same name as the @@ -2402,7 +2413,7 @@ system and gives an overview of their function and contents. Here is another common use:: - FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + FILESEXTRAPATHS:prepend := "${THISDIR}/files:" In this example, the build system extends the :term:`FILESPATH` variable to include a directory named ``files`` that is @@ -2410,13 +2421,13 @@ system and gives an overview of their function and contents. This next example specifically adds three paths:: - FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" + FILESEXTRAPATHS:prepend := "path_1:path_2:path_3:" A final example shows how you can extend the search path and include a :term:`MACHINE`-specific override, which is useful in a BSP layer:: - FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:" The previous statement appears in the ``linux-yocto-dev.bbappend`` file, which is found in the @@ -2664,7 +2675,7 @@ system and gives an overview of their function and contents. Here is an example from the ``dbus`` recipe:: - GROUPADD_PARAM_${PN} = "-r netdev" + GROUPADD_PARAM:${PN} = "-r netdev" For information on the standard Linux shell command ``groupadd``, see https://linux.die.net/man/8/groupadd. @@ -2977,7 +2988,7 @@ system and gives an overview of their function and contents. ``btrfs``, and so forth). When setting this variable, you should use an override for the associated type. Here is an example:: - IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ + IMAGE_CMD:jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 \ ${EXTRA_IMAGECMD}" @@ -3033,8 +3044,8 @@ system and gives an overview of their function and contents. :term:`IMAGE_FSTYPES` prior to using the "inherit image" line. - Due to the way the OpenEmbedded build system processes this - variable, you cannot update its contents by using ``_append`` - or ``_prepend``. You must use the ``+=`` operator to add one or + variable, you cannot update its contents by using ``:append`` + or ``:prepend``. You must use the ``+=`` operator to add one or more options to the :term:`IMAGE_FSTYPES` variable. :term:`IMAGE_INSTALL` @@ -3052,7 +3063,7 @@ system and gives an overview of their function and contents. When you use this variable, it is best to use it as follows:: - IMAGE_INSTALL_append = " package-name" + IMAGE_INSTALL:append = " package-name" Be sure to include the space between the quotation character and the start of the package name or @@ -3144,7 +3155,7 @@ system and gives an overview of their function and contents. IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}" :term:`IMAGE_NAME_SUFFIX` - Suffix used for the image output file name - defaults to ``".rootfs"`` + Suffix used for the image output filename - defaults to ``".rootfs"`` to distinguish the image file from other files created during image building; however if this suffix is redundant or not desired you can clear the value of this variable (set the value to ""). For example, @@ -3292,7 +3303,7 @@ system and gives an overview of their function and contents. Specifies a dependency from one image type on another. Here is an example from the :ref:`image-live ` class:: - IMAGE_TYPEDEP_live = "ext3" + IMAGE_TYPEDEP:live = "ext3" In the previous example, the variable ensures that when "live" is listed with the :term:`IMAGE_FSTYPES` variable, @@ -3695,7 +3706,7 @@ system and gives an overview of their function and contents. recipe. The package name override must be used, which in this example is ``${PN}``:: - INSANE_SKIP_${PN} += "dev-so" + INSANE_SKIP:${PN} += "dev-so" See the ":ref:`insane.bbclass `" section for a list of the valid QA checks you can specify using this variable. @@ -3749,10 +3760,10 @@ system and gives an overview of their function and contents. ``meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend``. Here are the related statements from that append file:: - KBRANCH_genericx86 = "standard/base" - KBRANCH_genericx86-64 = "standard/base" - KBRANCH_edgerouter = "standard/edgerouter" - KBRANCH_beaglebone = "standard/beaglebone" + KBRANCH:genericx86 = "standard/base" + KBRANCH:genericx86-64 = "standard/base" + KBRANCH:edgerouter = "standard/edgerouter" + KBRANCH:beaglebone = "standard/beaglebone" The :term:`KBRANCH` statements identify the kernel branch to use when building for each supported @@ -3780,11 +3791,11 @@ system and gives an overview of their function and contents. Here is an example from a "raspberrypi2" :term:`KMACHINE` build that uses a ``defconfig`` file named "bcm2709_defconfig":: - KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig" + KBUILD_DEFCONFIG:raspberrypi2 = "bcm2709_defconfig" As an alternative, you can use the following within your append file:: - KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file + KBUILD_DEFCONFIG:pn-linux-yocto ?= "defconfig_file" For more information on how to use the :term:`KBUILD_DEFCONFIG` variable, see the @@ -3932,10 +3943,10 @@ system and gives an overview of their function and contents. statements add specific configurations to targeted machine types:: KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" - KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}" - KERNEL_FEATURES_append_qemuall = "cfg/virtio.scc" - KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc" - KERNEL_FEATURES_append_qemux86-64 = "cfg/sound.scc" + KERNEL_FEATURES:append = "${KERNEL_EXTRA_FEATURES}" + KERNEL_FEATURES:append:qemuall = "cfg/virtio.scc" + KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc" + KERNEL_FEATURES:append:qemux86-64 = "cfg/sound.scc" :term:`KERNEL_FIT_LINK_NAME` The link name of the kernel flattened image tree (FIT) image. This @@ -4117,13 +4128,13 @@ system and gives an overview of their function and contents. Kernel's ``meta`` branch. As an example take a look in the ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file:: - LINUX_VERSION_core2-32-intel-common = "3.19.0" - COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" - SRCREV_meta_core2-32-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" - SRCREV_machine_core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" - KMACHINE_core2-32-intel-common = "intel-core2-32" - KBRANCH_core2-32-intel-common = "standard/base" - KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" + LINUX_VERSION:core2-32-intel-common = "3.19.0" + COMPATIBLE_MACHINE:core2-32-intel-common = "${MACHINE}" + SRCREV_meta:core2-32-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" + SRCREV_machine:core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" + KMACHINE:core2-32-intel-common = "intel-core2-32" + KBRANCH:core2-32-intel-common = "standard/base" + KERNEL_FEATURES:append:core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" The :term:`KMACHINE` statement says that the kernel understands the machine name as "intel-core2-32". @@ -4303,15 +4314,15 @@ system and gives an overview of their function and contents. Documentation License 1.2 could be specified as follows:: LICENSE = "GFDL-1.2 & GPLv2" - LICENSE_${PN} = "GPLv2" - LICENSE_${PN}-doc = "GFDL-1.2" + LICENSE:${PN} = "GPLv2" + LICENSE:${PN}-doc = "GFDL-1.2" :term:`LICENSE_CREATE_PACKAGE` Setting :term:`LICENSE_CREATE_PACKAGE` to "1" causes the OpenEmbedded build system to create an extra package (i.e. ``${``\ :term:`PN`\ ``}-lic``) for each recipe and to add those packages to the - :term:`RRECOMMENDS`\ ``_${PN}``. + :term:`RRECOMMENDS`\ ``:${PN}``. The ``${PN}-lic`` package installs a directory in ``/usr/share/licenses`` named ``${PN}``, which is the recipe's base @@ -4615,7 +4626,7 @@ system and gives an overview of their function and contents. in QEMU, like in the following example from the ``connman-conf`` recipe:: - SRC_URI_append_qemuall = " file://wired.config \ + SRC_URI:append:qemuall = " file://wired.config \ file://wired-setup \ " @@ -4818,7 +4829,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - NO_RECOMMENDATIONS_pn-target_image = "1" + NO_RECOMMENDATIONS:pn-target_image = "1" It is important to realize that if you choose to not install packages using this variable and some other packages are dependent on them @@ -4841,14 +4852,14 @@ system and gives an overview of their function and contents. :term:`NOAUTOPACKAGEDEBUG` Disables auto package from splitting ``.debug`` files. If a recipe - requires ``FILES_${PN}-dbg`` to be set manually, the + requires ``FILES:${PN}-dbg`` to be set manually, the :term:`NOAUTOPACKAGEDEBUG` can be defined allowing you to define the content of the debug package. For example:: NOAUTOPACKAGEDEBUG = "1" - FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" - FILES_${PN}-dbg = "/usr/src/debug/" - FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch" + FILES:${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" + FILES:${PN}-dbg = "/usr/src/debug/" + FILES:${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch" :term:`NON_MULTILIB_RECIPES` A list of recipes that should not be built for multilib. OE-Core's @@ -4944,7 +4955,7 @@ system and gives an overview of their function and contents. assignment will override ``FOO`` with the value "overridden" at the end of parsing:: - FOO_an-override = "overridden" + FOO:an-override = "overridden" See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" @@ -4959,7 +4970,7 @@ system and gives an overview of their function and contents. allows variables to be set for a single recipe within configuration (``.conf``) files. Here is an example:: - FOO_pn-myrecipe = "myrecipe-specific value" + FOO:pn-myrecipe = "myrecipe-specific value" .. note:: @@ -5107,7 +5118,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - PACKAGE_EXCLUDE_pn-target_image = "package_name" + PACKAGE_EXCLUDE:pn-target_image = "package_name" If you choose to not install a package using this variable and some other package is dependent on it (i.e. listed in a recipe's @@ -5344,18 +5355,18 @@ system and gives an overview of their function and contents. Or, you can just append the variable:: - PACKAGECONFIG_append = " f4" + PACKAGECONFIG:append = " f4" - *Configuration file:* This method is identical to changing the block through an append file except you edit your ``local.conf`` or ``mydistro.conf`` file. As with append files previously described, you can either completely override the variable:: - PACKAGECONFIG_pn-recipename = "f4 f5" + PACKAGECONFIG:pn-recipename = "f4 f5" Or, you can just amend the variable:: - PACKAGECONFIG_append_pn-recipename = " f4" + PACKAGECONFIG:append:pn-recipename = " f4" :term:`PACKAGECONFIG_CONFARGS` A space-separated list of configuration options generated from the @@ -5390,7 +5401,7 @@ system and gives an overview of their function and contents. (leftmost) package. Packages in the variable's list that are empty (i.e. where none of - the patterns in ``FILES_``\ pkg match any files installed by the + the patterns in ``FILES:``\ pkg match any files installed by the :ref:`ref-tasks-install` task) are not generated, unless generation is forced through the :term:`ALLOW_EMPTY` variable. @@ -5541,7 +5552,7 @@ system and gives an overview of their function and contents. For example, when the :ref:`debian ` class renames the output package, it does so by setting - ``PKG_packagename``. + ``PKG:packagename``. :term:`PKG_CONFIG_PATH` The path to ``pkg-config`` files for the current build context. @@ -5775,17 +5786,17 @@ system and gives an overview of their function and contents. :term:`OVERRIDES` to set a machine-specific override. Here is an example:: - PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%" + PREFERRED_VERSION_linux-yocto:qemux86 = "5.0%" Although not recommended, worst case, you can also use the "forcevariable" override, which is the strongest override possible. Here is an example:: - PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%" + PREFERRED_VERSION_linux-yocto:forcevariable = "5.0%" .. note:: - The ``\_forcevariable`` override is not handled specially. This override + The ``:forcevariable`` override is not handled specially. This override only works because the default value of :term:`OVERRIDES` includes "forcevariable". If a recipe with the specified version is not available, a warning @@ -5809,7 +5820,7 @@ system and gives an overview of their function and contents. the ``local.conf`` configuration file in the :term:`Build Directory`:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -5992,7 +6003,7 @@ system and gives an overview of their function and contents. Like all package-controlling variables, you must always use them in conjunction with a package name override. Here is an example:: - RCONFLICTS_${PN} = "another_conflicting_package_name" + RCONFLICTS:${PN} = "another_conflicting_package_name" BitBake, which the OpenEmbedded build system uses, supports specifying versioned dependencies. Although the syntax varies @@ -6000,7 +6011,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RCONFLICTS` variable:: - RCONFLICTS_${PN} = "package (operator version)" + RCONFLICTS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6013,7 +6024,7 @@ system and gives an overview of their function and contents. For example, the following sets up a dependency on version 1.2 or greater of the package ``foo``:: - RCONFLICTS_${PN} = "foo (>= 1.2)" + RCONFLICTS:${PN} = "foo (>= 1.2)" :term:`RDEPENDS` Lists runtime dependencies of a package. These dependencies are other @@ -6022,7 +6033,7 @@ system and gives an overview of their function and contents. package ``foo`` needs the packages ``bar`` and ``baz`` to be installed:: - RDEPENDS_foo = "bar baz" + RDEPENDS:foo = "bar baz" The most common types of package runtime dependencies are automatically detected and added. Therefore, @@ -6063,7 +6074,7 @@ system and gives an overview of their function and contents. on the ``perl`` package. In this case, you would use the following :term:`RDEPENDS` statement:: - RDEPENDS_${PN}-dev += "perl" + RDEPENDS:${PN}-dev += "perl" In the example, the development package depends on the ``perl`` package. Thus, the @@ -6072,10 +6083,10 @@ system and gives an overview of their function and contents. .. note:: - ``RDEPENDS_${PN}-dev`` includes ``${``\ :term:`PN`\ ``}`` + ``RDEPENDS:${PN}-dev`` includes ``${``\ :term:`PN`\ ``}`` by default. This default is set in the BitBake configuration file (``meta/conf/bitbake.conf``). Be careful not to accidentally remove - ``${PN}`` when modifying ``RDEPENDS_${PN}-dev``. Use the "+=" operator + ``${PN}`` when modifying ``RDEPENDS:${PN}-dev``. Use the "+=" operator rather than the "=" operator. The package names you use with :term:`RDEPENDS` must appear as they would @@ -6092,7 +6103,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RDEPENDS` variable:: - RDEPENDS_${PN} = "package (operator version)" + RDEPENDS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6112,7 +6123,7 @@ system and gives an overview of their function and contents. For example, the following sets up a dependency on version 1.2 or greater of the package ``foo``:: - RDEPENDS_${PN} = "foo (>= 1.2)" + RDEPENDS:${PN} = "foo (>= 1.2)" For information on build-time dependencies, see the :term:`DEPENDS` variable. You can also see the @@ -6247,7 +6258,7 @@ system and gives an overview of their function and contents. variable in conjunction with a package name override. Here is an example:: - RPROVIDES_${PN} = "widget-abi-2" + RPROVIDES:${PN} = "widget-abi-2" :term:`RRECOMMENDS` A list of packages that extends the usability of a package being @@ -6278,7 +6289,7 @@ system and gives an overview of their function and contents. support wireless functionality. In this case, you would use the following:: - RRECOMMENDS_${PN}-dev += "wireless_package_name" + RRECOMMENDS:${PN}-dev += "wireless_package_name" In the example, the package name (``${PN}-dev``) must appear as it would in @@ -6291,7 +6302,7 @@ system and gives an overview of their function and contents. Here is the general syntax to specify versions with the :term:`RRECOMMENDS` variable:: - RRECOMMENDS_${PN} = "package (operator version)" + RRECOMMENDS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6304,7 +6315,7 @@ system and gives an overview of their function and contents. For example, the following sets up a recommend on version 1.2 or greater of the package ``foo``:: - RRECOMMENDS_${PN} = "foo (>= 1.2)" + RRECOMMENDS:${PN} = "foo (>= 1.2)" :term:`RREPLACES` A list of packages replaced by a package. The package manager uses @@ -6316,7 +6327,7 @@ system and gives an overview of their function and contents. As with all package-controlling variables, you must use this variable in conjunction with a package name override. Here is an example:: - RREPLACES_${PN} = "other_package_being_replaced" + RREPLACES:${PN} = "other_package_being_replaced" BitBake, which the OpenEmbedded build system uses, supports specifying versioned replacements. Although the syntax varies @@ -6324,7 +6335,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RREPLACES` variable:: - RREPLACES_${PN} = "package (operator version)" + RREPLACES:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6337,7 +6348,7 @@ system and gives an overview of their function and contents. For example, the following sets up a replacement using version 1.2 or greater of the package ``foo``:: - RREPLACES_${PN} = "foo (>= 1.2)" + RREPLACES:${PN} = "foo (>= 1.2)" :term:`RSUGGESTS` A list of additional packages that you can suggest for installation @@ -6348,7 +6359,7 @@ system and gives an overview of their function and contents. variable in conjunction with a package name override. Here is an example:: - RSUGGESTS_${PN} = "useful_package another_package" + RSUGGESTS:${PN} = "useful_package another_package" :term:`S` The location in the :term:`Build Directory` where @@ -6862,7 +6873,7 @@ system and gives an overview of their function and contents. defined in the ``meta/conf/bitbake.conf`` configuration file. You will see this variable referenced in the default values of - ``FILES_${PN}``. + ``FILES:${PN}``. :term:`SOLIBSDEV` Defines the suffix for the development symbolic link (symlink) for @@ -6871,7 +6882,7 @@ system and gives an overview of their function and contents. ``meta/conf/bitbake.conf`` configuration file. You will see this variable referenced in the default values of - ``FILES_${PN}-dev``. + ``FILES:${PN}-dev``. :term:`SOURCE_MIRROR_FETCH` When you are fetching files to create a mirror of sources (i.e. @@ -7609,7 +7620,7 @@ system and gives an overview of their function and contents. override to indicate the package to which the value applies. Here is an example from the connman recipe:: - SYSTEMD_SERVICE_${PN} = "connman.service" + SYSTEMD_SERVICE:${PN} = "connman.service" :term:`SYSVINIT_ENABLED_GETTYS` When using @@ -7947,14 +7958,14 @@ system and gives an overview of their function and contents. your own tests to the list of tests by appending :term:`TEST_SUITES` as follows:: - TEST_SUITES_append = " mytest" + TEST_SUITES:append = " mytest" Alternatively, you can provide the "auto" option to have all applicable tests run against the image. :: - TEST_SUITES_append = " auto" + TEST_SUITES:append = " auto" Using this option causes the build system to automatically run tests that are applicable to the @@ -8215,7 +8226,7 @@ system and gives an overview of their function and contents. The BitBake configuration file (``meta/conf/bitbake.conf``) defines :term:`TUNE_FEATURES` as follows:: - TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" + TUNE_FEATURES ??= "${TUNE_FEATURES:tune-${DEFAULTTUNE}}" See the :term:`DEFAULTTUNE` variable for more information. @@ -8241,13 +8252,13 @@ system and gives an overview of their function and contents. the architecture, ABI, and tuning of output packages. The specific tune is defined using the "_tune" override as follows:: - TUNE_PKGARCH_tune-tune = "tune" + TUNE_PKGARCH:tune-tune = "tune" These tune-specific package architectures are defined in the machine include files. Here is an example of the "core2-32" tuning as used in the ``meta/conf/machine/include/tune-core2.inc`` file:: - TUNE_PKGARCH_tune-core2-32 = "core2-32" + TUNE_PKGARCH:tune-core2-32 = "core2-32" :term:`TUNEABI` An underlying Application Binary Interface (ABI) used by a particular @@ -8614,7 +8625,7 @@ system and gives an overview of their function and contents. Here is an example from the ``dbus`` recipe:: - USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ + USERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/dbus \ --no-create-home --shell /bin/false \ --user-group messagebus" diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst index 3ace7c06f..3f9646407 100644 --- a/poky/documentation/releases.rst +++ b/poky/documentation/releases.rst @@ -35,7 +35,8 @@ Release Series 3.1 (dunfell) - :yocto_docs:`3.1.6 Documentation ` - :yocto_docs:`3.1.7 Documentation ` - :yocto_docs:`3.1.8 Documentation ` -- :yocto_docs:`3.1.8 Documentation ` +- :yocto_docs:`3.1.9 Documentation ` +- :yocto_docs:`3.1.10 Documentation ` ========================== Outdated Release Manuals diff --git a/poky/documentation/sdk-manual/appendix-customizing-standard.rst b/poky/documentation/sdk-manual/appendix-customizing-standard.rst index 9bc70cf55..c619c15e4 100644 --- a/poky/documentation/sdk-manual/appendix-customizing-standard.rst +++ b/poky/documentation/sdk-manual/appendix-customizing-standard.rst @@ -29,6 +29,6 @@ You can include API documentation as well as any other documentation provided by recipes with the standard SDK by adding "api-documentation" to the :term:`DISTRO_FEATURES` -variable: DISTRO_FEATURES_append = " api-documentation" Setting this +variable: DISTRO_FEATURES:append = " api-documentation" Setting this variable as shown here causes the OpenEmbedded build system to build the documentation and then include it in the standard SDK. diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst index 44f4334c2..4eccc28e9 100644 --- a/poky/documentation/sdk-manual/appendix-customizing.rst +++ b/poky/documentation/sdk-manual/appendix-customizing.rst @@ -73,7 +73,7 @@ adjustments: SDK_INHERIT_BLACKLIST is set using the "?=" operator. Consequently, you will need to either define the entire list by using the "=" operator, or you - will need to append a value using either "_append" or the "+=" + will need to append a value using either ":append" or the "+=" operator. You can learn more about these operators in the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" section of the BitBake User Manual. @@ -250,7 +250,7 @@ source, you need to do a number of things: recipes that depend on lists of other recipes. - Build the "world" target and set - ``EXCLUDE_FROM_WORLD_pn-``\ recipename for the recipes you do not + ``EXCLUDE_FROM_WORLD:pn-``\ recipename for the recipes you do not want built. See the :term:`EXCLUDE_FROM_WORLD` variable for additional information. @@ -334,7 +334,7 @@ within it are available. Having these recipes available increases build time significantly and increases the size of the SDK installer by 30-80 Mbytes depending on how many recipes are included in your configuration. -You can use ``EXCLUDE_FROM_WORLD_pn-``\ recipename for recipes you want +You can use ``EXCLUDE_FROM_WORLD:pn-``\ recipename for recipes you want to exclude. However, it is assumed that you would need to be building the "world" target if you want to provide additional items to the SDK. Consequently, building for "world" should not represent undue overhead diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst index fc6b8b9d5..841abac5a 100644 --- a/poky/documentation/sdk-manual/appendix-obtain.rst +++ b/poky/documentation/sdk-manual/appendix-obtain.rst @@ -163,7 +163,7 @@ build the SDK installer. Follow these steps: SDK installer. Doing so ensures that the eventual SDK installation process installs the appropriate library packages as part of the SDK. Following is an example using ``libc`` - static development libraries: TOOLCHAIN_TARGET_TASK_append = " + static development libraries: TOOLCHAIN_TARGET_TASK:append = " libc-staticdev" 7. *Run the Installer:* You can now run the SDK installer from diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index 2cdb06d65..8ef44e39a 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -838,7 +838,7 @@ recipe. If you need to add runtime dependencies, you can do so by adding the following to your recipe:: - RDEPENDS_${PN} += "dependency1 dependency2 ..." + RDEPENDS:${PN} += "dependency1 dependency2 ..." .. note:: @@ -1154,7 +1154,7 @@ subdirectory for each package. Apart from some advanced cases, the splitting. The :term:`PACKAGES` variable lists all of the packages to be produced, while the :term:`FILES` variable specifies which files to include in each package by using an override to specify the package. For -example, ``FILES_${PN}`` specifies the files to go into the main package +example, ``FILES:${PN}`` specifies the files to go into the main package (i.e. the main package has the same name as the recipe and ``${``\ :term:`PN`\ ``}`` evaluates to the recipe name). The order of the :term:`PACKAGES` value is significant. For diff --git a/poky/documentation/sdk-manual/intro.rst b/poky/documentation/sdk-manual/intro.rst index 2f94aaf87..802d3f3d4 100644 --- a/poky/documentation/sdk-manual/intro.rst +++ b/poky/documentation/sdk-manual/intro.rst @@ -12,16 +12,6 @@ Software Development Kit (eSDK) manual. This manual explains how to use both the Yocto Project extensible and standard SDKs to develop applications and images. -.. note:: - - Prior to the 2.0 Release of the Yocto Project, application - development was primarily accomplished through the use of the - Application Development Toolkit (ADT) and the availability of - stand-alone cross-development toolchains and other tools. With the - 2.1 Release of the Yocto Project, application development has - transitioned to within a tool-rich extensible SDK and the more - traditional standard SDK. - All SDKs consist of the following: - *Cross-Development Toolchain*: This toolchain contains a compiler, diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js index 3972b48a7..6243724da 100644 --- a/poky/documentation/sphinx-static/switchers.js +++ b/poky/documentation/sphinx-static/switchers.js @@ -5,7 +5,7 @@ 'dev': 'dev (3.4)', '3.3.2': '3.3.2', '3.2.4': '3.2.4', - '3.1.9': '3.1.9', + '3.1.10': '3.1.10', '3.0.4': '3.0.4', '2.7.4': '2.7.4', }; diff --git a/poky/documentation/test-manual/reproducible-builds.rst b/poky/documentation/test-manual/reproducible-builds.rst index c66c82f86..68fdf547b 100644 --- a/poky/documentation/test-manual/reproducible-builds.rst +++ b/poky/documentation/test-manual/reproducible-builds.rst @@ -70,7 +70,7 @@ things we do within the build system to ensure reproducibility include: .. note:: - Because of an open bug in GCC, using ``DISTRO_FEATURES_append = " lto"`` or + Because of an open bug in GCC, using ``DISTRO_FEATURES:append = " lto"`` or adding ``-flto`` (Link Time Optimization) to ``CFLAGS`` makes the resulting binary non-reproducible, in that it depends on the full absolute build path to ``recipe-sysroot-native``, so installing the Yocto Project in a different diff --git a/poky/documentation/test-manual/understand-autobuilder.rst b/poky/documentation/test-manual/understand-autobuilder.rst index c158d9ce4..b6809ce7b 100644 --- a/poky/documentation/test-manual/understand-autobuilder.rst +++ b/poky/documentation/test-manual/understand-autobuilder.rst @@ -27,7 +27,7 @@ which looks like:: "TEMPLATE" : "arch-qemu", "step1" : { "extravars" : [ - "IMAGE_FSTYPES_append = ' wic wic.bmap'" + "IMAGE_FSTYPES:append = ' wic wic.bmap'" ] } }, diff --git a/poky/documentation/test-manual/yocto-project-compatible.rst b/poky/documentation/test-manual/yocto-project-compatible.rst index a7897469f..96c12ac08 100644 --- a/poky/documentation/test-manual/yocto-project-compatible.rst +++ b/poky/documentation/test-manual/yocto-project-compatible.rst @@ -115,6 +115,11 @@ Here are key best practices the program tries to encourage: user changes a configuration setting to activate the layer, by selecting a :term:`MACHINE`, a :term:`DISTRO` or a :term:`DISTRO_FEATURES` setting. +- Layers should be documenting where they don’t support normal "core" + functionality such as where debug symbols are disabled or missing, where + development headers and on-target library usage may not work or where + functionality like the SDK/eSDK would not be expected to work. + The project does test the compatibility status of the core project layers on its :doc:`Autobuilder `. diff --git a/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb b/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb new file mode 100644 index 000000000..60405067d --- /dev/null +++ b/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb @@ -0,0 +1,17 @@ +SUMMARY = "Overlayfs class unit test" +DESCRIPTION = "Contains an overlayfs configuration" +LICENSE = "MIT" + +INHIBIT_DEFAULT_DEPS = "1" +EXCLUDE_FROM_WORLD = "1" + +inherit ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs", "", d)} +include test_recipe.inc + +OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/my-application" + +do_install() { + install -d ${D}/usr/share/my-application +} + +FILES:${PN} += "/usr" diff --git a/poky/meta-selftest/recipes-test/systemd-machine-units/systemd-machine-units_%.bbappend b/poky/meta-selftest/recipes-test/systemd-machine-units/systemd-machine-units_%.bbappend new file mode 100644 index 000000000..205720982 --- /dev/null +++ b/poky/meta-selftest/recipes-test/systemd-machine-units/systemd-machine-units_%.bbappend @@ -0,0 +1,2 @@ +# This bbappend is used to alter the recipe using the test_recipe.inc file created by tests. +include test_recipe.inc diff --git a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb index 37193f5a3..d11e2e530 100644 --- a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb +++ b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb @@ -4,7 +4,7 @@ DESCRIPTION = "These are introductory examples to showcase the use of QEMU to ru LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449" -SRCREV = "0bf9ea216e6f76be50726a3a74e527b7bbb0ad93" +SRCREV = "31b4e5a337018b4a00a7426b0e5ed83b81df30c7" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/aehs29/baremetal-helloqemu.git;protocol=https;branch=master" @@ -28,13 +28,14 @@ inherit baremetal-image # machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57 # but the examples can also be run on other architectures/machines # such as vexpress-a15 by overriding the setting on the machine.conf -COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64" +COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64|qemuriscv32" BAREMETAL_QEMUARCH ?= "" BAREMETAL_QEMUARCH:qemuarmv5 = "versatile" BAREMETAL_QEMUARCH:qemuarm = "arm" BAREMETAL_QEMUARCH:qemuarm64 = "aarch64" BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64" +BAREMETAL_QEMUARCH:qemuriscv32 = "riscv32" EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1" diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes/baremetal-image.bbclass index 9ec3f1460..089c44552 100644 --- a/poky/meta/classes/baremetal-image.bbclass +++ b/poky/meta/classes/baremetal-image.bbclass @@ -82,12 +82,15 @@ QB_OPT_APPEND:append = " -nographic" # RISC-V tunes set the BIOS, unset, and instruct QEMU to # ignore the BIOS and boot from -kernel QB_DEFAULT_BIOS:qemuriscv64 = "" +QB_DEFAULT_BIOS:qemuriscv32 = "" QB_OPT_APPEND:append:qemuriscv64 = " -bios none" +QB_OPT_APPEND:append:qemuriscv32 = " -bios none" # Use the medium-any code model for the RISC-V 64 bit implementation, # since medlow can only access addresses below 0x80000000 and RAM # starts at 0x80000000 on RISC-V 64 +# Keep RISC-V 32 using -mcmodel=medlow (symbols lie between -2GB:2GB) CFLAGS:append:qemuriscv64 = " -mcmodel=medany" diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 6582f9715..70d1988a7 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -94,10 +94,11 @@ python do_cve_check () { """ Check recipe for patched and unpatched CVEs """ + from oe.cve_check import get_patched_cves if os.path.exists(d.getVar("CVE_CHECK_DB_FILE")): try: - patched_cves = get_patches_cves(d) + patched_cves = get_patched_cves(d) except FileNotFoundError: bb.fatal("Failure in searching patches") whitelisted, patched, unpatched = check_cves(d, patched_cves) @@ -156,65 +157,6 @@ python cve_check_write_rootfs_manifest () { ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}" do_rootfs[recrdeptask] += "${@'do_cve_check' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}" -def get_patches_cves(d): - """ - Get patches that solve CVEs using the "CVE: " tag. - """ - - import re - - pn = d.getVar("PN") - cve_match = re.compile("CVE:( CVE\-\d{4}\-\d+)+") - - # Matches the last "CVE-YYYY-ID" in the file name, also if written - # in lowercase. Possible to have multiple CVE IDs in a single - # file name, but only the last one will be detected from the file name. - # However, patch files contents addressing multiple CVE IDs are supported - # (cve_match regular expression) - - cve_file_name_match = re.compile(".*([Cc][Vv][Ee]\-\d{4}\-\d+)") - - patched_cves = set() - bb.debug(2, "Looking for patches that solves CVEs for %s" % pn) - for url in src_patches(d): - patch_file = bb.fetch.decodeurl(url)[2] - - if not os.path.isfile(patch_file): - bb.error("File Not found: %s" % patch_file) - raise FileNotFoundError - - # Check patch file name for CVE ID - fname_match = cve_file_name_match.search(patch_file) - if fname_match: - cve = fname_match.group(1).upper() - patched_cves.add(cve) - bb.debug(2, "Found CVE %s from patch file name %s" % (cve, patch_file)) - - with open(patch_file, "r", encoding="utf-8") as f: - try: - patch_text = f.read() - except UnicodeDecodeError: - bb.debug(1, "Failed to read patch %s using UTF-8 encoding" - " trying with iso8859-1" % patch_file) - f.close() - with open(patch_file, "r", encoding="iso8859-1") as f: - patch_text = f.read() - - # Search for one or more "CVE: " lines - text_match = False - for match in cve_match.finditer(patch_text): - # Get only the CVEs without the "CVE: " tag - cves = patch_text[match.start()+5:match.end()] - for cve in cves.split(): - bb.debug(2, "Patch %s solves %s" % (patch_file, cve)) - patched_cves.add(cve) - text_match = True - - if not fname_match and not text_match: - bb.debug(2, "Patch %s doesn't solve CVEs" % patch_file) - - return patched_cves - def check_cves(d, patched_cves): """ Connect to the NVD database and find unpatched cves. @@ -238,9 +180,6 @@ def check_cves(d, patched_cves): bb.note("Recipe has been whitelisted, skipping check") return ([], [], []) - old_cve_whitelist = d.getVar("CVE_CHECK_CVE_WHITELIST") - if old_cve_whitelist: - bb.warn("CVE_CHECK_CVE_WHITELIST is deprecated, please use CVE_CHECK_WHITELIST.") cve_whitelist = d.getVar("CVE_CHECK_WHITELIST").split() import sqlite3 diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index be5ec6014..810459d43 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -835,11 +835,11 @@ def package_qa_check_deps(pkg, pkgdest, d): try: rvar = bb.utils.explode_dep_versions2(localdata.getVar(var) or "") except ValueError as e: - bb.fatal("%s_%s: %s" % (var, pkg, e)) + bb.fatal("%s:%s: %s" % (var, pkg, e)) for dep in rvar: for v in rvar[dep]: if v and not v.startswith(('< ', '= ', '> ', '<= ', '>=')): - error_msg = "%s_%s is invalid: %s (%s) only comparisons <, =, >, <=, and >= are allowed" % (var, pkg, dep, v) + error_msg = "%s:%s is invalid: %s (%s) only comparisons <, =, >, <=, and >= are allowed" % (var, pkg, dep, v) package_qa_handle_error("dep-cmp", error_msg, d) check_valid_deps('RDEPENDS') @@ -888,7 +888,7 @@ def package_qa_check_expanded_d(package, d, messages): expanded_d = d.getVar('D') for var in 'FILES','pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm': - bbvar = d.getVar(var + "_" + package) or "" + bbvar = d.getVar(var + ":" + package) or "" if expanded_d in bbvar: if var == 'FILES': package_qa_add_message(messages, "expanded-d", "FILES in %s recipe should not contain the ${D} variable as it references the local build directory not the target filesystem, best solution is to remove the ${D} reference" % package) @@ -1325,10 +1325,10 @@ python () { if prog.search(pn): package_qa_handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d) - # Some people mistakenly use DEPENDS_${PN} instead of DEPENDS and wonder + # Some people mistakenly use DEPENDS:${PN} instead of DEPENDS and wonder # why it doesn't work. - if (d.getVar(d.expand('DEPENDS_${PN}'))): - package_qa_handle_error("pkgvarcheck", "recipe uses DEPENDS_${PN}, should use DEPENDS", d) + if (d.getVar(d.expand('DEPENDS:${PN}'))): + package_qa_handle_error("pkgvarcheck", "recipe uses DEPENDS:${PN}, should use DEPENDS", d) issues = [] if (d.getVar('PACKAGES') or "").split(): diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index a9d100220..2ef8f06b1 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -60,6 +60,14 @@ FIT_DESC ?= "Kernel fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" # Sign individual images as well FIT_SIGN_INDIVIDUAL ?= "0" +# Keys used to sign individually image nodes. +# The keys to sign image nodes must be different from those used to sign +# configuration nodes, otherwise the "required" property, from +# UBOOT_DTB_BINARY, will be set to "conf", because "conf" prevails on "image". +# Then the images signature checking will not be mandatory and no error will be +# raised in case of failure. +# UBOOT_SIGN_IMG_KEYNAME = "dev2" # keys name in keydir (eg. "dev2.crt", "dev2.key") + # # Emit the fitImage ITS header # @@ -121,7 +129,7 @@ fitimage_emit_section_kernel() { kernel_csum="${FIT_HASH_ALG}" kernel_sign_algo="${FIT_SIGN_ALG}" - kernel_sign_keyname="${UBOOT_SIGN_KEYNAME}" + kernel_sign_keyname="${UBOOT_SIGN_IMG_KEYNAME}" ENTRYPOINT="${UBOOT_ENTRYPOINT}" if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then @@ -167,7 +175,7 @@ fitimage_emit_section_dtb() { dtb_csum="${FIT_HASH_ALG}" dtb_sign_algo="${FIT_SIGN_ALG}" - dtb_sign_keyname="${UBOOT_SIGN_KEYNAME}" + dtb_sign_keyname="${UBOOT_SIGN_IMG_KEYNAME}" dtb_loadline="" dtb_ext=${DTB##*.} @@ -214,7 +222,7 @@ fitimage_emit_section_boot_script() { bootscr_csum="${FIT_HASH_ALG}" bootscr_sign_algo="${FIT_SIGN_ALG}" - bootscr_sign_keyname="${UBOOT_SIGN_KEYNAME}" + bootscr_sign_keyname="${UBOOT_SIGN_IMG_KEYNAME}" cat << EOF >> ${1} bootscr-${2} { @@ -278,7 +286,7 @@ fitimage_emit_section_ramdisk() { ramdisk_csum="${FIT_HASH_ALG}" ramdisk_sign_algo="${FIT_SIGN_ALG}" - ramdisk_sign_keyname="${UBOOT_SIGN_KEYNAME}" + ramdisk_sign_keyname="${UBOOT_SIGN_IMG_KEYNAME}" ramdisk_loadline="" ramdisk_entryline="" @@ -475,6 +483,10 @@ fitimage_assemble() { bootscr_id="" rm -f ${1} arch/${ARCH}/boot/${2} + if [ ! -z "${UBOOT_SIGN_IMG_KEYNAME}" -a "${UBOOT_SIGN_KEYNAME}" = "${UBOOT_SIGN_IMG_KEYNAME}" ]; then + bbfatal "Keys used to sign images and configuration nodes must be different." + fi + fitimage_emit_fit_header ${1} # @@ -674,7 +686,7 @@ do_kernel_generate_rsa_keys() { if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then - # Generate keys only if they don't already exist + # Generate keys to sign configuration nodes, only if they don't already exist if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key ] || \ [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt ]; then @@ -691,6 +703,24 @@ do_kernel_generate_rsa_keys() { -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \ -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt fi + + # Generate keys to sign image nodes, only if they don't already exist + if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".key ] || \ + [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".crt ]; then + + # make directory if it does not already exist + mkdir -p "${UBOOT_SIGN_KEYDIR}" + + echo "Generating RSA private key for signing fitImage" + openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \ + "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".key \ + "${FIT_SIGN_NUMBITS}" + + echo "Generating certificate for signing fitImage" + openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \ + -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".key \ + -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".crt + fi fi } diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index c3be89767..3cbda5d80 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -35,7 +35,7 @@ python multilib_virtclass_handler () { e.data.setVar('SDKTARGETSYSROOT', e.data.getVar('SDKTARGETSYSROOT')) override = ":virtclass-multilib-" + variant e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) - target_vendor = e.data.getVar("TARGET_VENDOR_" + "virtclass-multilib-" + variant, False) + target_vendor = e.data.getVar("TARGET_VENDOR:" + "virtclass-multilib-" + variant, False) if target_vendor: e.data.setVar("TARGET_VENDOR", target_vendor) return @@ -82,7 +82,7 @@ python multilib_virtclass_handler () { e.data.setVar("WHITELIST_GPL-3.0", pkgs) # DEFAULTTUNE can change TARGET_ARCH override so expand this now before update_data - newtune = e.data.getVar("DEFAULTTUNE_" + "virtclass-multilib-" + variant, False) + newtune = e.data.getVar("DEFAULTTUNE:" + "virtclass-multilib-" + variant, False) if newtune: e.data.setVar("DEFAULTTUNE", newtune) } diff --git a/poky/meta/classes/overlayfs.bbclass b/poky/meta/classes/overlayfs.bbclass new file mode 100644 index 000000000..8d9b59c9b --- /dev/null +++ b/poky/meta/classes/overlayfs.bbclass @@ -0,0 +1,111 @@ +# Class for generation of overlayfs mount units +# +# It's often desired in Embedded System design to have a read-only rootfs. +# But a lot of different applications might want to have a read-write access to +# some parts of a filesystem. It can be especially useful when your update mechanism +# overwrites the whole rootfs, but you want your application data to be preserved +# between updates. This class provides a way to achieve that by means +# of overlayfs and at the same time keeping the base rootfs read-only. +# +# Usage example. +# +# Set a mount point for a partition overlayfs is going to use as upper layer +# in your machine configuration. Underlying file system can be anything that +# is supported by overlayfs. This has to be done in your machine configuration. +# QA check fails to catch file existence if you redefine this variable in your recipe! +# +# OVERLAYFS_MOUNT_POINT[data] ?= "/data" +# +# The class assumes you have a data.mount systemd unit defined in your +# systemd-machine-units recipe and installed to the image. +# +# Then you can specify writable directories on a recipe base +# +# OVERLAYFS_WRITABLE_PATHS[data] = "/usr/share/my-custom-application" +# +# To support several mount points you can use a different variable flag. Assume we +# want to have a writable location on the file system, but not interested where the data +# survive a reboot. Then we could have a mnt-overlay.mount unit for a tmpfs file system: +# +# OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay" +# OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/another-application" +# +# Note: the class does not support /etc directory itself, because systemd depends on it + +REQUIRED_DISTRO_FEATURES += "systemd overlayfs" + +inherit systemd features_check + +python do_create_overlayfs_units() { + CreateDirsUnitTemplate = """[Unit] +Description=Overlayfs directories setup +Requires={DATA_MOUNT_UNIT} +After={DATA_MOUNT_UNIT} +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} +RemainAfterExit=true +StandardOutput=journal + +[Install] +WantedBy=multi-user.target +""" + MountUnitTemplate = """[Unit] +Description=Overlayfs mount unit +Requires={CREATE_DIRS_SERVICE} +After={CREATE_DIRS_SERVICE} + +[Mount] +What=overlay +Where={LOWERDIR} +Type=overlay +Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} + +[Install] +WantedBy=multi-user.target +""" + + def prepareUnits(data, lower): + from oe.overlayfs import mountUnitName, helperUnitName + + args = { + 'DATA_MOUNT_POINT': data, + 'DATA_MOUNT_UNIT': mountUnitName(data), + 'CREATE_DIRS_SERVICE': helperUnitName(lower), + 'LOWERDIR': lower, + } + + with open(os.path.join(d.getVar('WORKDIR'), mountUnitName(lower)), 'w') as f: + f.write(MountUnitTemplate.format(**args)) + + with open(os.path.join(d.getVar('WORKDIR'), helperUnitName(lower)), 'w') as f: + f.write(CreateDirsUnitTemplate.format(**args)) + + overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT") + for mountPoint in overlayMountPoints: + for lower in d.getVarFlag('OVERLAYFS_WRITABLE_PATHS', mountPoint).split(): + prepareUnits(d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint), lower) +} + +# we need to generate file names early during parsing stage +python () { + from oe.overlayfs import strForBash, unitFileList + + unitList = unitFileList(d) + for unit in unitList: + d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit); + d.appendVar('FILES:' + d.getVar('PN'), ' ' + strForBash(unit)) + + d.setVar('OVERLAYFS_UNIT_LIST', ' '.join([strForBash(s) for s in unitList])) +} + +do_install:append() { + install -d ${D}${systemd_system_unitdir} + for unit in ${OVERLAYFS_UNIT_LIST}; do + install -m 0444 ${WORKDIR}/${unit} ${D}${systemd_system_unitdir} + done +} + +addtask create_overlayfs_units before do_install diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index a659a1ef5..a9138ff6b 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1663,12 +1663,12 @@ fi val = write_if_exists(sf, pkg, var) write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') - for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) + for dfile in (d.getVar('FILERPROVIDESFLIST:' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERPROVIDES:' + dfile) write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') - for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) + for dfile in (d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERDEPENDS:' + dfile) sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) @@ -1714,11 +1714,11 @@ RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --alldeps --define '__font_provi # Collect perfile run-time dependency metadata # Output: -# FILERPROVIDESFLIST_pkg - list of all files w/ deps -# FILERPROVIDES_filepath_pkg - per file dep +# FILERPROVIDESFLIST:pkg - list of all files w/ deps +# FILERPROVIDES:filepath:pkg - per file dep # -# FILERDEPENDSFLIST_pkg - list of all files w/ deps -# FILERDEPENDS_filepath_pkg - per file dep +# FILERDEPENDSFLIST:pkg - list of all files w/ deps +# FILERDEPENDS:filepath:pkg - per file dep python package_do_filedeps() { if d.getVar('SKIP_FILEDEPS') == '1': @@ -1755,18 +1755,18 @@ python package_do_filedeps() { for file in sorted(provides): provides_files[pkg].append(file) - key = "FILERPROVIDES_" + file + "_" + pkg + key = "FILERPROVIDES:" + file + ":" + pkg d.appendVar(key, " " + " ".join(provides[file])) for file in sorted(requires): requires_files[pkg].append(file) - key = "FILERDEPENDS_" + file + "_" + pkg + key = "FILERDEPENDS:" + file + ":" + pkg d.appendVar(key, " " + " ".join(requires[file])) for pkg in requires_files: - d.setVar("FILERDEPENDSFLIST_" + pkg, " ".join(requires_files[pkg])) + d.setVar("FILERDEPENDSFLIST:" + pkg, " ".join(requires_files[pkg])) for pkg in provides_files: - d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files[pkg])) + d.setVar("FILERPROVIDESFLIST:" + pkg, " ".join(provides_files[pkg])) } SHLIBSDIRS = "${WORKDIR_PKGDATA}/${MLPREFIX}shlibs2" diff --git a/poky/meta/classes/pypi.bbclass b/poky/meta/classes/pypi.bbclass index 272c220bc..9405d5860 100644 --- a/poky/meta/classes/pypi.bbclass +++ b/poky/meta/classes/pypi.bbclass @@ -8,12 +8,12 @@ def pypi_package(d): PYPI_PACKAGE ?= "${@pypi_package(d)}" PYPI_PACKAGE_EXT ?= "tar.gz" +PYPI_ARCHIVE_NAME ?= "${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}" def pypi_src_uri(d): package = d.getVar('PYPI_PACKAGE') - package_ext = d.getVar('PYPI_PACKAGE_EXT') - pv = d.getVar('PV') - return 'https://files.pythonhosted.org/packages/source/%s/%s/%s-%s.%s' % (package[0], package, package, pv, package_ext) + archive_name = d.getVar('PYPI_ARCHIVE_NAME') + return 'https://files.pythonhosted.org/packages/source/%s/%s/%s' % (package[0], package, archive_name) PYPI_SRC_URI ?= "${@pypi_src_uri(d)}" diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index fbfa63fcb..c5746eba1 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -39,6 +39,8 @@ 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)}' + inherit image-artifact-names # Sort the user and group entries in /etc by ID in order to make the content @@ -373,3 +375,26 @@ rootfs_reproducible () { fi fi } + +python overlayfs_qa_check() { + from oe.overlayfs import mountUnitName + + # this is a dumb check for unit existence, not its validity + overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT") + imagepath = d.getVar("IMAGE_ROOTFS") + searchpaths = [oe.path.join(imagepath, d.getVar("sysconfdir"), "systemd", "system"), + oe.path.join(imagepath, d.getVar("systemd_system_unitdir"))] + + allUnitExist = True; + for mountPoint in overlayMountPoints: + path = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint) + unit = mountUnitName(path) + + if not any(os.path.isfile(oe.path.join(dirpath, unit)) + for dirpath in searchpaths): + bb.warn('Unit name %s not found in systemd unit directories' % unit) + allUnitExist = False; + + if not allUnitExist: + bb.fatal('Not all mount units are installed by the BSP') +} diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index 554e401ee..2175ace4c 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -705,6 +705,7 @@ def sstate_package(ss, d): pass except OSError as e: # Handle read-only file systems gracefully + import errno if e.errno != errno.EROFS: raise e @@ -1152,6 +1153,7 @@ python sstate_eventhandler() { pass except OSError as e: # Handle read-only file systems gracefully + import errno if e.errno != errno.EROFS: raise e diff --git a/poky/meta/classes/terminal.bbclass b/poky/meta/classes/terminal.bbclass index 6059ae95e..a564ee749 100644 --- a/poky/meta/classes/terminal.bbclass +++ b/poky/meta/classes/terminal.bbclass @@ -26,6 +26,9 @@ def emit_terminal_func(command, envdata, d): bb.utils.mkdirhier(os.path.dirname(runfile)) with open(runfile, 'w') as script: + # Override the shell shell_trap_code specifies. + # If our shell is bash, we might well face silent death. + script.write("#!/bin/bash\n") script.write(bb.build.shell_trap_code()) bb.data.emit_func(cmd_func, script, envdata) script.write(cmd_func) @@ -37,7 +40,7 @@ def emit_terminal_func(command, envdata, d): def oe_terminal(command, title, d): import oe.data import oe.terminal - + envdata = bb.data.init() for v in os.environ: diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 1d5f5b7fc..f6fb2aa69 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -236,8 +236,8 @@ DESCRIPTION ?= "${SUMMARY}." # The following two are commented out because they result in a recursive # definition of the variable in some corner cases. These are left in # to illustrate the intended behavior. -#SUMMARY_${PN} ?= "${SUMMARY}" -#DESCRIPTION_${PN} ?= "${DESCRIPTION}" +#SUMMARY:${PN} ?= "${SUMMARY}" +#DESCRIPTION:${PN} ?= "${DESCRIPTION}" SUMMARY:${PN}-src ?= "${SUMMARY} - Source files" DESCRIPTION:${PN}-src ?= "${DESCRIPTION} \ @@ -597,7 +597,7 @@ TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_ ASNEEDED ?= "-Wl,--as-needed" export LDFLAGS = "${TARGET_LDFLAGS}" -TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}" +TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED} ${DEBUG_PREFIX_MAP}" # mips does not support GNU hash style therefore we override LINKER_HASH_STYLE:mipsarch:libc-musl = "sysv" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 7afe28a16..47f23f5c3 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -20,7 +20,7 @@ GCCVERSION ?= "11.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.37%" GDBVERSION ?= "10.%" -GLIBCVERSION ?= "2.33" +GLIBCVERSION ?= "2.34" LINUXLIBCVERSION ?= "5.13%" QEMUVERSION ?= "6.0%" GOVERSION ?= "1.16%" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7em.inc b/poky/meta/conf/machine/include/arm/arch-armv7em.inc new file mode 100644 index 000000000..adcab272e --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv7em.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv7e-m +# +DEFAULTTUNE ?= "armv7em" + +TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}" + +TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "armv7em" +ARMPKGARCH:tune-armv7em = "armv7em" +TUNE_FEATURES:tune-armv7em = "armv7em" +PACKAGE_EXTRA_ARCHS:tune-armv7em = "armv7em" diff --git a/poky/meta/conf/machine/include/arm/arch-armv7m.inc b/poky/meta/conf/machine/include/arm/arch-armv7m.inc new file mode 100644 index 000000000..a36c265bc --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv7m.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv7-m +# +DEFAULTTUNE ?= "armv7m" + +TUNEVALID[armv7m] = "Enable instructions for ARMv7-m" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}" + +TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a" + +require conf/machine/include/arm/arch-armv6m.inc + +AVAILTUNES += "armv7m" +ARMPKGARCH:tune-armv7m = "armv7m" +TUNE_FEATURES:tune-armv7m = "armv7m" +PACKAGE_EXTRA_ARCHS:tune-armv7m = "armv7m" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc new file mode 100644 index 000000000..9171b31c9 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc @@ -0,0 +1,18 @@ +# +# +# Defaults for ARMv8.1-M.main +# +DEFAULTTUNE ?= "armv8-1m-main" + +TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}" + +TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a" + +require conf/machine/include/arm/arch-armv8m-main.inc + +AVAILTUNES += "armv8-1m-main" +ARMPKGARCH:tune-armv8-1m-main = "armv8-1m-main" +TUNE_FEATURES:tune-armv8-1m-main = "armv8-1m-main" +PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main = "armv8-1m-main" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc new file mode 100644 index 000000000..d9a341c66 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc @@ -0,0 +1,17 @@ +# +# Defaults for ARMv8-m.base +# +DEFAULTTUNE ?= "armv8m-base" + +TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}" + +TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "armv8m-base" +ARMPKGARCH:tune-armv8m-base = "armv8m-base" +TUNE_FEATURES:tune-armv8m-base = "armv8m-base" +PACKAGE_EXTRA_ARCHS:tune-armv8m-base = "armv8m-base" diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc new file mode 100644 index 000000000..27f552b2d --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc @@ -0,0 +1,36 @@ +# +# Defaults for ARMv8-m.main +# +DEFAULTTUNE ?= "armv8m-main" + +require conf/machine/include/arm/arch-armv8m-base.inc + +TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}" + +TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a" + +# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic +TUNEVALID[dsp] = "ARM DSP functionality" +ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" +MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}" + +# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc +TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit." +TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}" +MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}" + +AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16" +ARMPKGARCH:tune-armv8m-main = "armv8m-main" +ARMPKGARCH:tune-armv8m-maine = "armv8m-main" +ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main" +ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main" +TUNE_FEATURES:tune-armv8m-main = "armv8m-main" +TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp" +TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16" +TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp" +PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main" +PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine" +PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16" +PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16" diff --git a/poky/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc b/poky/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc new file mode 100644 index 000000000..493ad67b2 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M55 +# +DEFAULTTUNE ?= "cortexm55" + +TUNEVALID[cortexm55] = "Enable Cortex-M55 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm55', ' -mcpu=cortex-m55', '', d)}" + +require conf/machine/include/arm/arch-armv8-1m-main.inc + +AVAILTUNES += "cortexm55" +ARMPKGARCH:tune-cortexm55 = "cortexm55" +TUNE_FEATURES:tune-cortexm55 = "${TUNE_FEATURES:tune-armv8-1m-main} cortexm55" +PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55" diff --git a/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc new file mode 100644 index 000000000..25780bc08 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M23 +# +DEFAULTTUNE ?= "cortexm23" + +TUNEVALID[cortexm23] = "Enable Cortex-M23 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm23', ' -mcpu=cortex-m23', '', d)}" + +require conf/machine/include/arm/arch-armv8m-base.inc + +AVAILTUNES += "cortexm23" +ARMPKGARCH:tune-cortexm23 = "cortexm23" +TUNE_FEATURES:tune-cortexm23 = "${TUNE_FEATURES:tune-armv8m-base} cortexm23" +PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23" diff --git a/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc new file mode 100644 index 000000000..04d1fe2bd --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-M33 +# +DEFAULTTUNE ?= "cortexm33" + +TUNEVALID[cortexm33] = "Enable Cortex-M33 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm33', ' -mcpu=cortex-m33', '', d)}" + +require conf/machine/include/arm/arch-armv8m-main.inc + +# GCC thnks that DSP and VFP are required, but Arm docs say it is +# optional. So forcing below so that compiling works, but this should +# be fixed in GCC +AVAILTUNES += "cortexm33" +ARMPKGARCH:tune-cortexm33 = "cortexm33" +TUNE_FEATURES:tune-cortexm33 = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm33" +PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16" diff --git a/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc new file mode 100644 index 000000000..60e978fac --- /dev/null +++ b/poky/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-M35P +# +DEFAULTTUNE ?= "cortexm35p" + +TUNEVALID[cortexm35p] = "Enable Cortex-M35p specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm35p', ' -mcpu=cortex-m35p', '', d)}" + +require conf/machine/include/arm/arch-armv8m-main.inc + +# GCC thnks that DSP and VFP are required, but Arm docs say it is +# optional. So forcing below so that compiling works, but this should +# be fixed in GCC +AVAILTUNES += "cortexm35p" +ARMPKGARCH:tune-cortexm35p = "cortexm35p" +TUNE_FEATURES:tune-cortexm35p = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm35p" +PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16" diff --git a/poky/meta/conf/machine/include/tune-cortexm1.inc b/poky/meta/conf/machine/include/tune-cortexm1.inc new file mode 100644 index 000000000..16661f3a2 --- /dev/null +++ b/poky/meta/conf/machine/include/tune-cortexm1.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M1 +# +DEFAULTTUNE ?= "cortexm1" + +TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm1', ' -mcpu=cortex-m1', '', d)}" + +require conf/machine/include/arm/arch-armv6m.inc + +AVAILTUNES += "cortexm1" +ARMPKGARCH:tune-cortexm1 = "cortexm1" +TUNE_FEATURES:tune-cortexm1 = "${TUNE_FEATURES:tune-armv6m} cortexm1" +PACKAGE_EXTRA_ARCHS:tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm1" diff --git a/poky/meta/conf/machine/include/tune-cortexm3.inc b/poky/meta/conf/machine/include/tune-cortexm3.inc new file mode 100644 index 000000000..a6cb56638 --- /dev/null +++ b/poky/meta/conf/machine/include/tune-cortexm3.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M3 +# +DEFAULTTUNE ?= "cortexm3" + +TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm3', ' -mcpu=cortex-m3', '', d)}" + +require conf/machine/include/arm/arch-armv7m.inc + +AVAILTUNES += "cortexm3" +ARMPKGARCH:tune-cortexm3 = "cortexm3" +TUNE_FEATURES:tune-cortexm3 = "${TUNE_FEATURES:tune-armv7m} cortexm3" +PACKAGE_EXTRA_ARCHS:tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7m} cortexm3" diff --git a/poky/meta/conf/machine/include/tune-cortexm4.inc b/poky/meta/conf/machine/include/tune-cortexm4.inc new file mode 100644 index 000000000..e86622ff3 --- /dev/null +++ b/poky/meta/conf/machine/include/tune-cortexm4.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M4 +# +DEFAULTTUNE ?= "cortexm4" + +TUNEVALID[cortexm4] = "Enable Cortex-M4 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm4', ' -mcpu=cortex-m4', '', d)}" + +require conf/machine/include/arm/arch-armv7em.inc + +AVAILTUNES += "cortexm4" +ARMPKGARCH:tune-cortexm4 = "cortexm4" +TUNE_FEATURES:tune-cortexm4 = "${TUNE_FEATURES:tune-armv7em} cortexm4" +PACKAGE_EXTRA_ARCHS:tune-cortexm4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm4" diff --git a/poky/meta/conf/machine/include/tune-cortexm7.inc b/poky/meta/conf/machine/include/tune-cortexm7.inc new file mode 100644 index 000000000..6434ec639 --- /dev/null +++ b/poky/meta/conf/machine/include/tune-cortexm7.inc @@ -0,0 +1,14 @@ +# +# Tune Settings for Cortex-M7 +# +DEFAULTTUNE ?= "cortexm7" + +TUNEVALID[cortexm7] = "Enable Cortex-M7 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm7', ' -mcpu=cortex-m7', '', d)}" + +require conf/machine/include/arm/arch-armv7em.inc + +AVAILTUNES += "cortexm7" +ARMPKGARCH:tune-cortexm7 = "cortexm7" +TUNE_FEATURES:tune-cortexm7 = "${TUNE_FEATURES:tune-armv7em} cortexm7" +PACKAGE_EXTRA_ARCHS:tune-cortexm7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm7" diff --git a/poky/meta/conf/machine/qemuppc64.conf b/poky/meta/conf/machine/qemuppc64.conf index 0682e752b..a5270e98e 100644 --- a/poky/meta/conf/machine/qemuppc64.conf +++ b/poky/meta/conf/machine/qemuppc64.conf @@ -18,7 +18,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=hvc0" QB_OPT_APPEND = "-usb -device usb-tablet" #prelink broken on ppc64 -#USER_CLASSES_remove = "image-prelink" -#IMAGE_PREPROCESS_COMMAND_remove = "prelink_image;" +#USER_CLASSES:remove = "image-prelink" +#IMAGE_PREPROCESS_COMMAND:remove = "prelink_image;" MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" diff --git a/poky/meta/files/toolchain-shar-relocate.sh b/poky/meta/files/toolchain-shar-relocate.sh index 8ea6194ec..3ece04db0 100644 --- a/poky/meta/files/toolchain-shar-relocate.sh +++ b/poky/meta/files/toolchain-shar-relocate.sh @@ -72,7 +72,7 @@ fi # change all symlinks pointing to @SDKPATH@ for l in $($SUDO_EXEC find $native_sysroot -type l); do - $SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l + $SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$SDK_BUILD_PATH:$target_sdk_dir:") $l if [ $? -ne 0 ]; then echo "Failed to setup symlinks. Relocate script failed. Abort!" exit 1 diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py index a1d7c292a..0302beeb4 100644 --- a/poky/meta/lib/oe/cve_check.py +++ b/poky/meta/lib/oe/cve_check.py @@ -63,3 +63,86 @@ def _cmpkey(release, patch_l, pre_l, pre_v): else: _pre = float(pre_v) if pre_v else float('-inf') return _release, _patch, _pre + + +def get_patched_cves(d): + """ + Get patches that solve CVEs using the "CVE: " tag. + """ + + import re + import oe.patch + + pn = d.getVar("PN") + cve_match = re.compile("CVE:( CVE\-\d{4}\-\d+)+") + + # Matches the last "CVE-YYYY-ID" in the file name, also if written + # in lowercase. Possible to have multiple CVE IDs in a single + # file name, but only the last one will be detected from the file name. + # However, patch files contents addressing multiple CVE IDs are supported + # (cve_match regular expression) + + cve_file_name_match = re.compile(".*([Cc][Vv][Ee]\-\d{4}\-\d+)") + + patched_cves = set() + bb.debug(2, "Looking for patches that solves CVEs for %s" % pn) + for url in oe.patch.src_patches(d): + patch_file = bb.fetch.decodeurl(url)[2] + + if not os.path.isfile(patch_file): + bb.error("File Not found: %s" % patch_file) + raise FileNotFoundError + + # Check patch file name for CVE ID + fname_match = cve_file_name_match.search(patch_file) + if fname_match: + cve = fname_match.group(1).upper() + patched_cves.add(cve) + bb.debug(2, "Found CVE %s from patch file name %s" % (cve, patch_file)) + + with open(patch_file, "r", encoding="utf-8") as f: + try: + patch_text = f.read() + except UnicodeDecodeError: + bb.debug(1, "Failed to read patch %s using UTF-8 encoding" + " trying with iso8859-1" % patch_file) + f.close() + with open(patch_file, "r", encoding="iso8859-1") as f: + patch_text = f.read() + + # Search for one or more "CVE: " lines + text_match = False + for match in cve_match.finditer(patch_text): + # Get only the CVEs without the "CVE: " tag + cves = patch_text[match.start()+5:match.end()] + for cve in cves.split(): + bb.debug(2, "Patch %s solves %s" % (patch_file, cve)) + patched_cves.add(cve) + text_match = True + + if not fname_match and not text_match: + bb.debug(2, "Patch %s doesn't solve CVEs" % patch_file) + + return patched_cves + + +def get_cpe_ids(cve_product, version): + """ + Get list of CPE identifiers for the given product and version + """ + + version = version.split("+git")[0] + + cpe_ids = [] + for product in cve_product.split(): + # CVE_PRODUCT in recipes may include vendor information for CPE identifiers. If not, + # use wildcard for vendor. + if ":" in product: + vendor, product = product.split(":", 1) + else: + vendor = "*" + + cpe_id = f'cpe:2.3:a:{vendor}:{product}:{version}:*:*:*:*:*:*:*' + cpe_ids.append(cpe_id) + + return cpe_ids diff --git a/poky/meta/lib/oe/overlayfs.py b/poky/meta/lib/oe/overlayfs.py new file mode 100644 index 000000000..21ef71050 --- /dev/null +++ b/poky/meta/lib/oe/overlayfs.py @@ -0,0 +1,43 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# +# This file contains common functions for overlayfs and its QA check + +# this function is based on https://github.com/systemd/systemd/blob/main/src/basic/unit-name.c +def escapeSystemdUnitName(path): + escapeMap = { + '/': '-', + '-': "\\x2d", + '\\': "\\x5d" + } + return "".join([escapeMap.get(c, c) for c in path.strip('/')]) + +def strForBash(s): + return s.replace('\\', '\\\\') + +def mountUnitName(unit): + return escapeSystemdUnitName(unit) + '.mount' + +def helperUnitName(unit): + return escapeSystemdUnitName(unit) + '-create-upper-dir.service' + +def unitFileList(d): + fileList = [] + overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT") + + if not overlayMountPoints: + bb.fatal("A recipe uses overlayfs class but there is no OVERLAYFS_MOUNT_POINT set in your MACHINE configuration") + + # check that we have required mount points set first + requiredMountPoints = d.getVarFlags('OVERLAYFS_WRITABLE_PATHS') + for mountPoint in requiredMountPoints: + if mountPoint not in overlayMountPoints: + bb.fatal("Missing required mount point for OVERLAYFS_MOUNT_POINT[%s] in your MACHINE configuration" % mountPoint) + + for mountPoint in overlayMountPoints: + for path in d.getVarFlag('OVERLAYFS_WRITABLE_PATHS', mountPoint).split(): + fileList.append(mountUnitName(path)) + fileList.append(helperUnitName(path)) + + return fileList + diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py index 22261d271..0b17897e4 100644 --- a/poky/meta/lib/oe/packagedata.py +++ b/poky/meta/lib/oe/packagedata.py @@ -45,14 +45,14 @@ def read_pkgdata(pn, d): return read_pkgdatafile(fn) # -# Collapse FOO_pkg variables into FOO +# Collapse FOO:pkg variables into FOO # def read_subpkgdata_dict(pkg, d): ret = {} subd = read_pkgdatafile(get_subpkgedata_fn(pkg, d)) for var in subd: - newvar = var.replace("_" + pkg, "") - if newvar == var and var + "_" + pkg in subd: + newvar = var.replace(":" + pkg, "") + if newvar == var and var + ":" + pkg in subd: continue ret[newvar] = subd[var] return ret diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py index e14322911..bd6537400 100644 --- a/poky/meta/lib/oeqa/runtime/cases/date.py +++ b/poky/meta/lib/oeqa/runtime/cases/date.py @@ -28,14 +28,13 @@ class DateTest(OERuntimeTestCase): self.assertEqual(status, 0, msg=msg) oldDate = output - sampleDate = '"2016-08-09 10:00:00"' - (status, output) = self.target.run("date -s %s" % sampleDate) + sampleTimestamp = 1488800000 + (status, output) = self.target.run("date -s @%d" % sampleTimestamp) self.assertEqual(status, 0, msg='Date set failed, output: %s' % output) - (status, output) = self.target.run("date -R") - p = re.match('Tue, 09 Aug 2016 10:00:.. \+0000', output) + (status, output) = self.target.run('date +"%s"') msg = 'The date was not set correctly, output: %s' % output - self.assertTrue(p, msg=msg) + self.assertTrue(int(output) - sampleTimestamp < 300, msg=msg) (status, output) = self.target.run('date -s "%s"' % oldDate) msg = 'Failed to reset date, output: %s' % output diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/README b/poky/meta/lib/oeqa/sdk/buildtools-cases/README new file mode 100644 index 000000000..d4f20faa9 --- /dev/null +++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/README @@ -0,0 +1,2 @@ +These test cases are used by buildtools-tarball, and are not used by the testsdk +class. diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py new file mode 100644 index 000000000..5a17ab98c --- /dev/null +++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py @@ -0,0 +1,23 @@ +# +# SPDX-License-Identifier: MIT +# + +import os, tempfile +from oeqa.sdk.case import OESDKTestCase +from oeqa.utils.subprocesstweak import errors_have_output +errors_have_output() + +class BuildTests(OESDKTestCase): + """ + Verify that bitbake can build virtual/libc inside the buildtools. + """ + def test_libc(self): + with tempfile.TemporaryDirectory(prefix='bitbake-build-', dir=self.tc.sdk_dir) as testdir: + corebase = self.td['COREBASE'] + + self._run('. %s/oe-init-build-env %s' % (corebase, testdir)) + with open(os.path.join(testdir, 'conf', 'local.conf'), 'ta') as conf: + conf.write('\n') + conf.write('DL_DIR = "%s"\n' % self.td['DL_DIR']) + + self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir)) diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py new file mode 100644 index 000000000..64baaa8f8 --- /dev/null +++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py @@ -0,0 +1,22 @@ +# +# SPDX-License-Identifier: MIT +# + +import shutil +import os.path +from oeqa.sdk.case import OESDKTestCase + +class SanityTests(OESDKTestCase): + def test_tools(self): + """ + Test that wget and tar come from the buildtools, not the host. This + verifies that the buildtools have installed correctly. We can't check + for gcc as that is only installed by buildtools-extended. + """ + for command in ("tar", "wget"): + # Canonicalise the SDK root + sdk_base = os.path.realpath(self.tc.sdk_dir) + # Canonicalise the location of this command + tool_path = os.path.realpath(self._run("command -v %s" % command).strip()) + # Assert that the tool was found inside the SDK root + self.assertEquals(os.path.commonprefix((sdk_base, tool_path)), sdk_base) diff --git a/poky/meta/lib/oeqa/selftest/cases/fitimage.py b/poky/meta/lib/oeqa/selftest/cases/fitimage.py index 815ee48c0..184c8778d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/fitimage.py +++ b/poky/meta/lib/oeqa/selftest/cases/fitimage.py @@ -114,7 +114,8 @@ KERNEL_CLASSES = " kernel-fitimage test-mkimage-wrapper " UBOOT_SIGN_ENABLE = "1" FIT_GENERATE_KEYS = "1" UBOOT_SIGN_KEYDIR = "${TOPDIR}/signing-keys" -UBOOT_SIGN_KEYNAME = "oe-selftest" +UBOOT_SIGN_IMG_KEYNAME = "img-oe-selftest" +UBOOT_SIGN_KEYNAME = "cfg-oe-selftest" FIT_SIGN_INDIVIDUAL = "1" UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'" """ @@ -173,11 +174,11 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'" reqsigvalues_image = { 'algo': '"sha256,rsa2048"', - 'key-name-hint': '"oe-selftest"', + 'key-name-hint': '"img-oe-selftest"', } reqsigvalues_config = { 'algo': '"sha256,rsa2048"', - 'key-name-hint': '"oe-selftest"', + 'key-name-hint': '"cfg-oe-selftest"', 'sign-images': '"kernel", "fdt"', } @@ -215,7 +216,10 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'" self.assertIn('conf-am335x-boneblack.dtb', signed_sections) for signed_section, values in signed_sections.items(): value = values.get('Sign algo', None) - self.assertEqual(value, 'sha256,rsa2048:oe-selftest', 'Signature algorithm for %s not expected value' % signed_section) + if signed_section.startswith("conf"): + self.assertEqual(value, 'sha256,rsa2048:cfg-oe-selftest', 'Signature algorithm for %s not expected value' % signed_section) + else: + self.assertEqual(value, 'sha256,rsa2048:img-oe-selftest', 'Signature algorithm for %s not expected value' % signed_section) value = values.get('Sign value', None) self.assertEqual(len(value), 512, 'Signature value for section %s not expected length' % signed_section) @@ -266,7 +270,8 @@ KERNEL_CLASSES = " kernel-fitimage" UBOOT_SIGN_ENABLE = "1" FIT_GENERATE_KEYS = "1" UBOOT_SIGN_KEYDIR = "${TOPDIR}/signing-keys" -UBOOT_SIGN_KEYNAME = "oe-selftest" +UBOOT_SIGN_IMG_KEYNAME = "img-oe-selftest" +UBOOT_SIGN_KEYNAME = "cfg-oe-selftest" FIT_SIGN_INDIVIDUAL = "1" """ self.write_config(config) @@ -348,7 +353,8 @@ KERNEL_CLASSES = " kernel-fitimage test-mkimage-wrapper " UBOOT_SIGN_ENABLE = "1" FIT_GENERATE_KEYS = "1" UBOOT_SIGN_KEYDIR = "${TOPDIR}/signing-keys" -UBOOT_SIGN_KEYNAME = "oe-selftest" +UBOOT_SIGN_IMG_KEYNAME = "img-oe-selftest" +UBOOT_SIGN_KEYNAME = "cfg-oe-selftest" FIT_SIGN_INDIVIDUAL = "1" UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart U-Boot comment'" """ @@ -592,7 +598,8 @@ KERNEL_CLASSES = " kernel-fitimage test-mkimage-wrapper " UBOOT_SIGN_ENABLE = "1" FIT_GENERATE_KEYS = "1" UBOOT_SIGN_KEYDIR = "${TOPDIR}/signing-keys" -UBOOT_SIGN_KEYNAME = "kernel-oe-selftest" +UBOOT_SIGN_IMG_KEYNAME = "img-oe-selftest" +UBOOT_SIGN_KEYNAME = "cfg-oe-selftest" FIT_SIGN_INDIVIDUAL = "1" """ self.write_config(config) diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py new file mode 100644 index 000000000..0184d5249 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py @@ -0,0 +1,171 @@ +# +# SPDX-License-Identifier: MIT +# + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu + +class OverlayFSTests(OESelftestTestCase): + """Overlayfs class usage tests""" + + def getline(self, res, line): + for l in res.output.split('\n'): + if line in l: + return l + + def add_overlay_conf_to_machine(self): + machine_inc = """ +OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay" +""" + self.set_machine_config(machine_inc) + + def test_distro_features_missing(self): + """ + Summary: Check that required DISTRO_FEATURES are set + Expected: Fail when either systemd or overlayfs are not in DISTRO_FEATURES + Author: Vyacheslav Yurkov + """ + + config = """ +IMAGE_INSTALL:append = " overlayfs-user" +""" + overlayfs_recipe_append = """ +inherit overlayfs +""" + self.write_config(config) + self.add_overlay_conf_to_machine() + self.write_recipeinc('overlayfs-user', overlayfs_recipe_append) + + res = bitbake('core-image-minimal', ignore_status=True) + line = self.getline(res, "overlayfs-user was skipped: missing required distro features") + self.assertTrue("overlayfs" in res.output, msg=res.output) + self.assertTrue("systemd" in res.output, msg=res.output) + self.assertTrue("ERROR: Required build target 'core-image-minimal' has no buildable providers." in res.output, msg=res.output) + + def test_not_all_units_installed(self): + """ + Summary: Test QA check that we have required mount units in the image + Expected: Fail because mount unit for overlay partition is not installed + Author: Vyacheslav Yurkov + """ + + config = """ +IMAGE_INSTALL:append = " overlayfs-user" +DISTRO_FEATURES += "systemd overlayfs" +""" + + self.write_config(config) + self.add_overlay_conf_to_machine() + + res = bitbake('core-image-minimal', ignore_status=True) + line = self.getline(res, "Unit name mnt-overlay.mount not found in systemd unit directories") + self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) + line = self.getline(res, "Not all mount units are installed by the BSP") + self.assertTrue(line and line.startswith("ERROR:"), msg=res.output) + + def test_mount_unit_not_set(self): + """ + Summary: Test whether mount unit was set properly + Expected: Fail because mount unit was not set + Author: Vyacheslav Yurkov + """ + + config = """ +IMAGE_INSTALL:append = " overlayfs-user" +DISTRO_FEATURES += "systemd overlayfs" +""" + + self.write_config(config) + + res = bitbake('core-image-minimal', ignore_status=True) + line = self.getline(res, "A recipe uses overlayfs class but there is no OVERLAYFS_MOUNT_POINT set in your MACHINE configuration") + self.assertTrue(line and line.startswith("Parsing recipes...ERROR:"), msg=res.output) + + def test_wrong_mount_unit_set(self): + """ + Summary: Test whether mount unit was set properly + Expected: Fail because not the correct flag used for mount unit + Author: Vyacheslav Yurkov + """ + + config = """ +IMAGE_INSTALL:append = " overlayfs-user" +DISTRO_FEATURES += "systemd overlayfs" +""" + + wrong_machine_config = """ +OVERLAYFS_MOUNT_POINT[usr-share-overlay] = "/usr/share/overlay" +""" + + self.write_config(config) + self.set_machine_config(wrong_machine_config) + + res = bitbake('core-image-minimal', ignore_status=True) + line = self.getline(res, "Missing required mount point for OVERLAYFS_MOUNT_POINT[mnt-overlay] in your MACHINE configuration") + self.assertTrue(line and line.startswith("Parsing recipes...ERROR:"), msg=res.output) + + def test_correct_image(self): + """ + Summary: Check that we can create an image when all parameters are + set correctly + Expected: Image is created successfully + Author: Vyacheslav Yurkov + """ + + config = """ +IMAGE_INSTALL:append = " overlayfs-user systemd-machine-units" +DISTRO_FEATURES += "systemd overlayfs" + +# Use systemd as init manager +VIRTUAL-RUNTIME_init_manager = "systemd" + +# enable overlayfs in the kernel +KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" +""" + + systemd_machine_unit_append = """ +SYSTEMD_SERVICE:${PN} += " \ + mnt-overlay.mount \ +" + +do_install:append() { + install -d ${D}${systemd_system_unitdir} + cat < ${D}${systemd_system_unitdir}/mnt-overlay.mount +[Unit] +Description=Tmpfs directory +DefaultDependencies=no + +[Mount] +What=tmpfs +Where=/mnt/overlay +Type=tmpfs +Options=mode=1777,strictatime,nosuid,nodev + +[Install] +WantedBy=multi-user.target +EOT +} + +""" + + self.write_config(config) + self.add_overlay_conf_to_machine() + self.write_recipeinc('systemd-machine-units', systemd_machine_unit_append) + + bitbake('core-image-minimal') + + def getline_qemu(out, line): + for l in out.split('\n'): + if line in l: + return l + + with runqemu('core-image-minimal') as qemu: + # Check that we have /mnt/overlay fs mounted as tmpfs and + # /usr/share/my-application as an overlay (see overlayfs-user recipe) + status, output = qemu.run_serial("/bin/mount -t tmpfs,overlay") + + line = getline_qemu(output, "on /mnt/overlay") + self.assertTrue(line and line.startswith("tmpfs"), msg=output) + + line = getline_qemu(output, "upperdir=/mnt/overlay/upper/usr/share/my-application") + self.assertTrue(line and line.startswith("overlay"), msg=output) diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc index 4340b17cb..971fdbb10 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc @@ -210,7 +210,7 @@ do_install () { fi } -PACKAGE_BEFORE_PN += "${PN}-env" +PACKAGE_BEFORE_PN += "${PN}-env ${PN}-extlinux" RPROVIDES:${PN}-env += "u-boot-default-env" ALLOW_EMPTY:${PN}-env = "1" @@ -219,6 +219,9 @@ FILES:${PN}-env = " \ ${sysconfdir}/fw_env.config \ " +FILES:${PN}-extlinux = "${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}" +RDEPENDS:${PN} += "${@bb.utils.contains('UBOOT_EXTLINUX', '1', '${PN}-extlinux', '', d)}" + FILES:${PN} = "/boot ${datadir}" RDEPENDS:${PN} += "${PN}-env" diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb index a03b2addf..99b0a2000 100644 --- a/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb +++ b/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef71 inherit autotools pkgconfig gettext bash-completion gtk-doc #default disable regression tests, some unit test code in non testing code -#PACKAGECONFIG_pn-${PN} = "tests" enable regression tests local.conf +#PACKAGECONFIG:pn-${PN} = "tests" enable regression tests local.conf PACKAGECONFIG ??= "" PACKAGECONFIG[tests] = "--enable-tests,,," diff --git a/poky/meta/recipes-core/dbus/dbus.inc b/poky/meta/recipes-core/dbus/dbus.inc index b23747649..adc138bf1 100644 --- a/poky/meta/recipes-core/dbus/dbus.inc +++ b/poky/meta/recipes-core/dbus/dbus.inc @@ -8,6 +8,7 @@ SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://tmpdir.patch \ file://dbus-1.init \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ + file://stop_using_selinux_set_mapping.patch \ " SRC_URI[md5sum] = "dfe8a71f412e0b53be26ed4fbfdc91c4" @@ -15,12 +16,10 @@ SRC_URI[sha256sum] = "f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa EXTRA_OECONF = "--disable-xml-docs \ --disable-doxygen-docs \ - --disable-libaudit \ --enable-largefile \ --with-system-socket=/run/dbus/system_bus_socket \ " EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl" -EXTRA_OECONF:append:class-native = " --disable-selinux" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ user-session \ @@ -32,3 +31,5 @@ PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,," +PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" diff --git a/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch b/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch new file mode 100644 index 000000000..7035098e4 --- /dev/null +++ b/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch @@ -0,0 +1,148 @@ +From 6072f8b24153d844a3033108a17bcd0c1a967816 Mon Sep 17 00:00:00 2001 +From: Laurent Bigonville +Date: Sat, 3 Mar 2018 11:15:23 +0100 +Subject: [PATCH] Stop using selinux_set_mapping() function + +Currently, if the "dbus" security class or the associated AV doesn't +exist, dbus-daemon fails to initialize and exits immediately. Also the +security classes or access vector cannot be reordered in the policy. +This can be a problem for people developing their own policy or trying +to access a machine where, for some reasons, there is not policy defined +at all. + +The code here copy the behaviour of the selinux_check_access() function. +We cannot use this function here as it doesn't allow us to define the +AVC entry reference. + +See the discussion at https://marc.info/?l=selinux&m=152163374332372&w=2 + +Resolves: https://gitlab.freedesktop.org/dbus/dbus/issues/198 +--- + bus/selinux.c | 75 ++++++++++++++++++++++++++++----------------------- + 1 file changed, 42 insertions(+), 33 deletions(-) + + +Upstream-Status: Backport +Signed-off-by: Nisha.Parrakat +diff --git a/bus/selinux.c b/bus/selinux.c + +--- a/bus/selinux.c 2021-08-11 14:45:59.048513026 +0000 ++++ b/bus/selinux.c 2021-08-11 14:57:47.144846966 +0000 +@@ -311,24 +311,6 @@ + #endif + } + +-/* +- * Private Flask definitions; the order of these constants must +- * exactly match that of the structure array below! +- */ +-/* security dbus class constants */ +-#define SECCLASS_DBUS 1 +- +-/* dbus's per access vector constants */ +-#define DBUS__ACQUIRE_SVC 1 +-#define DBUS__SEND_MSG 2 +- +-#ifdef HAVE_SELINUX +-static struct security_class_mapping dbus_map[] = { +- { "dbus", { "acquire_svc", "send_msg", NULL } }, +- { NULL } +-}; +-#endif /* HAVE_SELINUX */ +- + /** + * Establish dynamic object class and permission mapping and + * initialize the user space access vector cache (AVC) for D-Bus and set up +@@ -350,13 +332,6 @@ + + _dbus_verbose ("SELinux is enabled in this kernel.\n"); + +- if (selinux_set_mapping (dbus_map) < 0) +- { +- _dbus_warn ("Failed to set up security class mapping (selinux_set_mapping():%s).", +- strerror (errno)); +- return FALSE; +- } +- + avc_entry_ref_init (&aeref); + if (avc_init ("avc", &mem_cb, &log_cb, &thread_cb, &lock_cb) < 0) + { +@@ -421,19 +396,53 @@ + static dbus_bool_t + bus_selinux_check (BusSELinuxID *sender_sid, + BusSELinuxID *override_sid, +- security_class_t target_class, +- access_vector_t requested, ++ const char *target_class, ++ const char *requested, + DBusString *auxdata) + { ++ int saved_errno; ++ security_class_t security_class; ++ access_vector_t requested_access; ++ + if (!selinux_enabled) + return TRUE; + ++ security_class = string_to_security_class (target_class); ++ if (security_class == 0) ++ { ++ saved_errno = errno; ++ log_callback (SELINUX_ERROR, "Unknown class %s", target_class); ++ if (security_deny_unknown () == 0) ++ { ++ return TRUE; ++ } ++ ++ _dbus_verbose ("Unknown class %s\n", target_class); ++ errno = saved_errno; ++ return FALSE; ++ } ++ ++ requested_access = string_to_av_perm (security_class, requested); ++ if (requested_access == 0) ++ { ++ saved_errno = errno; ++ log_callback (SELINUX_ERROR, "Unknown permission %s for class %s", requested, target_class); ++ if (security_deny_unknown () == 0) ++ { ++ return TRUE; ++ } ++ ++ _dbus_verbose ("Unknown permission %s for class %s\n", requested, target_class); ++ errno = saved_errno; ++ return FALSE; ++ } ++ + /* Make the security check. AVC checks enforcing mode here as well. */ + if (avc_has_perm (SELINUX_SID_FROM_BUS (sender_sid), + override_sid ? + SELINUX_SID_FROM_BUS (override_sid) : + bus_sid, +- target_class, requested, &aeref, auxdata) < 0) ++ security_class, requested_access, &aeref, auxdata) < 0) + { + switch (errno) + { +@@ -500,8 +509,8 @@ + + ret = bus_selinux_check (connection_sid, + service_sid, +- SECCLASS_DBUS, +- DBUS__ACQUIRE_SVC, ++ "dbus", ++ "acquire_svc", + &auxdata); + + _dbus_string_free (&auxdata); +@@ -629,8 +638,8 @@ + + ret = bus_selinux_check (sender_sid, + recipient_sid, +- SECCLASS_DBUS, +- DBUS__SEND_MSG, ++ "dbus", ++ "send_msg", + &auxdata); + + _dbus_string_free (&auxdata); diff --git a/poky/meta/recipes-core/ell/ell_0.41.bb b/poky/meta/recipes-core/ell/ell_0.41.bb deleted file mode 100644 index f6da957b5..000000000 --- a/poky/meta/recipes-core/ell/ell_0.41.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Embedded Linux Library" -HOMEPAGE = "https://01.org/ell" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-pem.c-do-not-use-rawmemchr.patch \ - " -SRC_URI[sha256sum] = "4e8dba6c53cf152dbd0fd1dc3d4c7b04abf79e20a948895f85943e586870505c" - -do_configure:prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.42.bb b/poky/meta/recipes-core/ell/ell_0.42.bb new file mode 100644 index 000000000..7d021c5e3 --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.42.bb @@ -0,0 +1,24 @@ +SUMMARY = "Embedded Linux Library" +HOMEPAGE = "https://01.org/ell" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-pem.c-do-not-use-rawmemchr.patch \ + " +SRC_URI[sha256sum] = "8b926eebb053f545a03349c0e3d02be586f5aa041f5660b6ced85b55fc531bb7" + +do_configure:prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/gettext/gettext_0.21.bb b/poky/meta/recipes-core/gettext/gettext_0.21.bb index 4247b487a..5ada70993 100644 --- a/poky/meta/recipes-core/gettext/gettext_0.21.bb +++ b/poky/meta/recipes-core/gettext/gettext_0.21.bb @@ -171,6 +171,7 @@ do_install_ptest() { find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \; chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \ ${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 + sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env fi } diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc index 4859d2809..752833745 100644 --- a/poky/meta/recipes-core/glib-2.0/glib.inc +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -45,8 +45,9 @@ PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" # libelf is auto-detected without a configuration option PACKAGECONFIG[libelf] = ",,elfutils" PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus" +PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" -EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled" +EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false" do_configure:prepend() { sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.33.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.33.bb deleted file mode 100644 index ec59c6ba1..000000000 --- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.33.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Cross locale generation tool for glibc" -HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" -SECTION = "libs" -LICENSE = "LGPL-2.1" - -LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -require glibc-version.inc - -# Tell autotools that we're working in the localedef directory -# -AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" - -inherit autotools -inherit native - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ - \ - file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ - file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ - \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0021-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0022-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ -" -# Makes for a rather long rev (22 characters), but... -# -SRCREV_FORMAT = "glibc_localedef" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-glibc=${S}" -CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef - install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink -} diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.34.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.34.bb new file mode 100644 index 000000000..6100f3d4c --- /dev/null +++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.34.bb @@ -0,0 +1,49 @@ +SUMMARY = "Cross locale generation tool for glibc" +HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +require glibc-version.inc + +# Tell autotools that we're working in the localedef directory +# +AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" + +inherit autotools +inherit native + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ + \ + file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ + file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ + \ + file://0017-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0018-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0019-eglibc-Cross-building-and-testing-instructions.patch \ + file://0020-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ +" +# Makes for a rather long rev (22 characters), but... +# +SRCREV_FORMAT = "glibc_localedef" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-glibc=${S}" +CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef + install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink +} diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc index 782b2605c..f695cd6a4 100644 --- a/poky/meta/recipes-core/glibc/glibc-common.inc +++ b/poky/meta/recipes-core/glibc/glibc-common.inc @@ -22,4 +22,4 @@ ARM_INSTRUCTION_SET:armv6 = "arm" # COMPATIBLE_HOST:libc-musl:class-target = "null" -PV = "2.33" +PV = "2.34" diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.33.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.33.bb deleted file mode 100644 index f7702e035..000000000 --- a/poky/meta/recipes-core/glibc/glibc-locale_2.33.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-locale.inc diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.34.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.34.bb new file mode 100644 index 000000000..f7702e035 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-locale_2.34.bb @@ -0,0 +1 @@ +require glibc-locale.inc diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.33.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.33.bb deleted file mode 100644 index 0b69bad46..000000000 --- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.33.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-mtrace.inc diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.34.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.34.bb new file mode 100644 index 000000000..0b69bad46 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.34.bb @@ -0,0 +1 @@ +require glibc-mtrace.inc diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index 4bf5038fc..3026aec9b 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -1,6 +1,6 @@ INHIBIT_SYSROOT_STRIP = "1" -PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src" +PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage malloc-debug libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src" # The ld.so in this glibc supports the GNU_HASH RPROVIDES:${PN} = "eglibc rtld(GNU_HASH)" @@ -30,6 +30,7 @@ FILES:ldd = "${bindir}/ldd" FILES:libsegfault = "${base_libdir}/libSegFault*" FILES:libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*" FILES:libmemusage = "${base_libdir}/libmemusage.so" +FILES:malloc-debug = "${base_libdir}/libc_malloc_debug.so.0" FILES:libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile ${localstatedir}/db/makedbs.sh" RDEPENDS:libnss-db = "${PN}-utils" FILES:glibc-extra-nss = "${base_libdir}/libnss_*-*.so ${base_libdir}/libnss_*.so.*" @@ -118,6 +119,8 @@ do_install() { ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \ ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER} fi + lnr ${D}${base_libdir}/libpthread.so.0 ${D}${libdir}/libpthread.so + lnr ${D}${base_libdir}/librt.so.1 ${D}${libdir}/librt.so } def get_libc_fpu_setting(bb, d): diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.33.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.33.bb deleted file mode 100644 index 5a89bd802..000000000 --- a/poky/meta/recipes-core/glibc/glibc-scripts_2.33.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-scripts.inc diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.34.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.34.bb new file mode 100644 index 000000000..5a89bd802 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.34.bb @@ -0,0 +1 @@ +require glibc-scripts.inc diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb deleted file mode 100644 index 72aa33217..000000000 --- a/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb +++ /dev/null @@ -1,64 +0,0 @@ -require glibc_${PV}.bb - -EXCLUDE_FROM_WORLD = "1" - -# handle PN differences -FILESEXTRAPATHS:prepend := "${THISDIR}/glibc:" - -# strip provides -PROVIDES = "" -# setup depends -INHIBIT_DEFAULT_DEPS = "" - -python () { - libc = d.getVar("PREFERRED_PROVIDER_virtual/libc") - libclocale = d.getVar("PREFERRED_PROVIDER_virtual/libc-locale") - if libc != "glibc" or libclocale != "glibc-locale": - raise bb.parse.SkipRecipe("glibc-testsuite requires that virtual/libc is glibc") -} - -DEPENDS += "glibc-locale libgcc gcc-runtime" - -# remove the initial depends -DEPENDS:remove = "libgcc-initial" - -inherit qemu - -SRC_URI += "file://check-test-wrapper" - -DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" - -TOOLCHAIN_TEST_TARGET ??= "user" -TOOLCHAIN_TEST_HOST ??= "localhost" -TOOLCHAIN_TEST_HOST_USER ??= "root" -TOOLCHAIN_TEST_HOST_PORT ??= "2222" - -do_check[dirs] += "${B}" -do_check[nostamp] = "1" -do_check () { - chmod 0755 ${WORKDIR}/check-test-wrapper - - # clean out previous test results - oe_runmake tests-clean - # makefiles don't clean entirely (and also sometimes fails due to too many args) - find ${B} -type f -name "*.out" -delete - find ${B} -type f -name "*.test-result" -delete - find ${B}/catgets -name "*.cat" -delete - find ${B}/conform -name "symlist-*" -delete - [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata - - oe_runmake -i \ - QEMU_SYSROOT="${RECIPE_SYSROOT}" \ - QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ - SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ - SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ - SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ - test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ - check -} -addtask do_check after do_compile - -inherit nopackages -deltask do_stash_locale -deltask do_install -deltask do_populate_sysroot diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.34.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.34.bb new file mode 100644 index 000000000..72aa33217 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.34.bb @@ -0,0 +1,64 @@ +require glibc_${PV}.bb + +EXCLUDE_FROM_WORLD = "1" + +# handle PN differences +FILESEXTRAPATHS:prepend := "${THISDIR}/glibc:" + +# strip provides +PROVIDES = "" +# setup depends +INHIBIT_DEFAULT_DEPS = "" + +python () { + libc = d.getVar("PREFERRED_PROVIDER_virtual/libc") + libclocale = d.getVar("PREFERRED_PROVIDER_virtual/libc-locale") + if libc != "glibc" or libclocale != "glibc-locale": + raise bb.parse.SkipRecipe("glibc-testsuite requires that virtual/libc is glibc") +} + +DEPENDS += "glibc-locale libgcc gcc-runtime" + +# remove the initial depends +DEPENDS:remove = "libgcc-initial" + +inherit qemu + +SRC_URI += "file://check-test-wrapper" + +DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" + +TOOLCHAIN_TEST_TARGET ??= "user" +TOOLCHAIN_TEST_HOST ??= "localhost" +TOOLCHAIN_TEST_HOST_USER ??= "root" +TOOLCHAIN_TEST_HOST_PORT ??= "2222" + +do_check[dirs] += "${B}" +do_check[nostamp] = "1" +do_check () { + chmod 0755 ${WORKDIR}/check-test-wrapper + + # clean out previous test results + oe_runmake tests-clean + # makefiles don't clean entirely (and also sometimes fails due to too many args) + find ${B} -type f -name "*.out" -delete + find ${B} -type f -name "*.test-result" -delete + find ${B}/catgets -name "*.cat" -delete + find ${B}/conform -name "symlist-*" -delete + [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata + + oe_runmake -i \ + QEMU_SYSROOT="${RECIPE_SYSROOT}" \ + QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ + SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ + SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ + SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ + test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ + check +} +addtask do_check after do_compile + +inherit nopackages +deltask do_stash_locale +deltask do_install +deltask do_populate_sysroot diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc index 376ead66a..281df7ecd 100644 --- a/poky/meta/recipes-core/glibc/glibc-version.inc +++ b/poky/meta/recipes-core/glibc/glibc-version.inc @@ -1,7 +1,7 @@ -SRCBRANCH ?= "release/2.33/master" -PV = "2.33" -SRCREV_glibc ?= "3f5080aedd164c1f92a53552dd3e0b82ac6d2bd3" -SRCREV_localedef ?= "bd644c9e6f3e20c5504da1488448173c69c56c28" +SRCBRANCH ?= "release/2.34/master" +PV = "2.34" +SRCREV_glibc ?= "ae37d06c7d127817ba43850f0f898b793d42aea7" +SRCREV_localedef ?= "95c0221703ad970a52445e9eaf91c4aff35eebef" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc index 04e6db99b..80a3e0b49 100644 --- a/poky/meta/recipes-core/glibc/glibc.inc +++ b/poky/meta/recipes-core/glibc/glibc.inc @@ -42,7 +42,7 @@ PARALLEL_MAKE = "" EXTRA_OEMAKE += "SHELL=/bin/bash" do_configure:prepend() { - sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in + sed -e "s#/bin/bash#/bin/sh#" -i ${S}/elf/ldd.bash.in } # Enable backtrace from abort() diff --git a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch index f96da83a9..3ff485b1e 100644 --- a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch +++ b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch @@ -1,4 +1,4 @@ -From d1f1671034a222417f9a829dcaa4f0c3d4f8954d Mon Sep 17 00:00:00 2001 +From d34ba0833cd811f8869a6262044af55f9e7b59d8 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Sat, 7 Dec 2019 09:59:22 -0800 Subject: [PATCH] localedef: Add hardlink resolver from util-linux diff --git a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch index 3dc4582f4..2445aa56b 100644 --- a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch +++ b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch @@ -1,4 +1,4 @@ -From 14d256e2db009f8bac9a265e8393d7ed25050df9 Mon Sep 17 00:00:00 2001 +From d7bb36a9a27e5e4c3be6378493b41286513750e9 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Sat, 7 Dec 2019 10:01:37 -0800 Subject: [PATCH] localedef: fix-ups hardlink to make it compile diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index c4718a106..210cc1076 100644 --- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,4 +1,4 @@ -From 32a4b8ae046fe4bb1b19f61378d079d44deaede7 Mon Sep 17 00:00:00 2001 +From 776a53db6afba8a7ff4412aba88b0679227877f9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:48:24 +0000 Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well @@ -30,10 +30,10 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 9e2089cfaa..ad01674027 100644 +index a08df001af..d09daf9e41 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2175,6 +2175,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2196,6 +2196,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -48,7 +48,7 @@ index 9e2089cfaa..ad01674027 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2233,14 +2241,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2254,14 +2262,6 @@ _dl_map_object (struct link_map *loader, const char *name, } #endif diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index a8e625d24..010b816e1 100644 --- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,4 +1,4 @@ -From aa8393bff257e4badfd208b88473ead175c69362 Mon Sep 17 00:00:00 2001 +From df18bae1eeee55ecb9db36d13fe67c58355682eb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:50:00 +0000 Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK @@ -21,10 +21,10 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index ad01674027..f455207e79 100644 +index d09daf9e41..2c6270e2a7 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1871,7 +1871,19 @@ open_path (const char *name, size_t namelen, int mode, +@@ -1892,7 +1892,19 @@ open_path (const char *name, size_t namelen, int mode, given on the command line when rtld is run directly. */ return -1; diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 197caae92..bf9f3e36c 100644 --- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,4 +1,4 @@ -From 3ea08e491a8494ff03e598b5e0fc2d8131e75da9 Mon Sep 17 00:00:00 2001 +From 6af8ce8eceed86addbc188f773a2d36d83ee4042 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:51:38 +0000 Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths @@ -26,10 +26,10 @@ Signed-off-by: Khem Raj 8 files changed, 16 insertions(+), 10 deletions(-) diff --git a/elf/dl-cache.c b/elf/dl-cache.c -index 32f3bef5ea..71f3a82dc0 100644 +index 2b8da8650d..3d9787bda4 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c -@@ -359,6 +359,10 @@ search_cache (const char *string_table, uint32_t string_table_size, +@@ -355,6 +355,10 @@ search_cache (const char *string_table, uint32_t string_table_size, return best; } @@ -41,7 +41,7 @@ index 32f3bef5ea..71f3a82dc0 100644 _dl_cache_libcmp (const char *p1, const char *p2) { diff --git a/elf/dl-load.c b/elf/dl-load.c -index f455207e79..a144e24fcf 100644 +index 2c6270e2a7..23018d2f7e 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -115,8 +115,8 @@ enum { ncapstr = 1, max_capstrlen = 0 }; @@ -56,7 +56,7 @@ index f455207e79..a144e24fcf 100644 SYSTEM_DIRS_LEN }; diff --git a/elf/dl-usage.c b/elf/dl-usage.c -index 6e26818bd7..f09e8b93e5 100644 +index 5ad3a72559..88f26d3692 100644 --- a/elf/dl-usage.c +++ b/elf/dl-usage.c @@ -25,6 +25,8 @@ @@ -77,7 +77,7 @@ index 6e26818bd7..f09e8b93e5 100644 --library-path PATH use given PATH instead of content of the environment\n\ variable LD_LIBRARY_PATH\n\ --glibc-hwcaps-prepend LIST\n\ -@@ -266,7 +268,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ +@@ -267,7 +269,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ \n\ This program interpreter self-identifies as: " RTLD "\n\ ", @@ -98,10 +98,10 @@ index 91966702ca..dc86c20e83 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 28ed637a29..5d38a60c5d 100644 +index 1037e8d0cf..ffdac84952 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c -@@ -176,6 +176,9 @@ static struct argp argp = +@@ -177,6 +177,9 @@ static struct argp argp = options, parse_opt, NULL, doc, NULL, more_help, NULL }; @@ -112,7 +112,7 @@ index 28ed637a29..5d38a60c5d 100644 a platform. */ static int diff --git a/elf/rtld.c b/elf/rtld.c -index 596b6ac3d9..1ccd33f668 100644 +index fbbd60b446..fce9940f80 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -185,6 +185,7 @@ dso_name_valid_for_suid (const char *p) @@ -124,11 +124,11 @@ index 596b6ac3d9..1ccd33f668 100644 static void audit_list_init (struct audit_list *list) diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index 682f949834..7eed87bc9d 100644 +index 62bee28769..67b60dc88c 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -36,7 +36,7 @@ - + #include /* This is the default path where we look for module lists. */ -static const char default_gconv_path[] = GCONV_PATH; diff --git a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index 172ade8d9..3a37f7af7 100644 --- a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,4 +1,4 @@ -From 19e3e45eb1838ee80af13c3d27fcff446773211e Mon Sep 17 00:00:00 2001 +From b30f380cd88ae181a4a6a3a4784206ffe3ccd19b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:35:35 -0800 Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 diff --git a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 14697567c..d763178f2 100644 --- a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch @@ -1,4 +1,4 @@ -From 732d4f4954fe60718870048d0583a20a7a8a8540 Mon Sep 17 00:00:00 2001 +From 24bffe9c2645cd6542e29cb57786dc703cced07b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:55:12 -0700 Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales @@ -41,7 +41,7 @@ index ab09122b0c..f42cc75780 100644 else /* We really have to load some data. First see whether the name is diff --git a/locale/loadarchive.c b/locale/loadarchive.c -index 4177fc8972..40247b1e68 100644 +index 512769eaec..436619091b 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -42,7 +42,7 @@ @@ -67,7 +67,7 @@ index b3d4da0185..22f9dc1140 100644 /* Load the locale data for CATEGORY from the file specified by *NAME. If *NAME is "", use environment variables as specified by POSIX, and diff --git a/locale/programs/locale.c b/locale/programs/locale.c -index 575b208e82..5ec630c3a4 100644 +index ca0a95be99..6b98895203 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b) diff --git a/poky/meta/recipes-core/glibc/glibc/0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch deleted file mode 100644 index 2162bf38c..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch +++ /dev/null @@ -1,1581 +0,0 @@ -From 3d58330390a7d4f4ed32f4a9c25628af3e0dd5c1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:01:50 +0000 -Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation - -Upstream-Status: Pending -Signed-off-by: Edmar Wienskoski -Signed-off-by: Khem Raj ---- - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 134 ++++++++++++++++++ - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 101 +++++++++++++ - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 134 ++++++++++++++++++ - .../powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 101 +++++++++++++ - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ - .../linux/powerpc/powerpc32/603e/fpu/Implies | 1 + - .../powerpc/powerpc32/e300c3/fpu/Implies | 2 + - .../powerpc/powerpc32/e500mc/fpu/Implies | 1 + - .../linux/powerpc/powerpc32/e5500/fpu/Implies | 1 + - .../linux/powerpc/powerpc32/e6500/fpu/Implies | 1 + - .../linux/powerpc/powerpc64/e5500/fpu/Implies | 1 + - .../linux/powerpc/powerpc64/e6500/fpu/Implies | 1 + - 19 files changed, 1418 insertions(+) - create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c - create mode 100644 sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c - create mode 100644 sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c - create mode 100644 sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c - create mode 100644 sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c - create mode 100644 sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c - create mode 100644 sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies - create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies - -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -new file mode 100644 -index 0000000000..71e516d1c8 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -@@ -0,0 +1,134 @@ -+/* Double-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float two108 = 3.245185536584267269e+32; -+static const float twom54 = 5.551115123125782702e-17; -+static const float half = 0.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the actual square root and half of its reciprocal -+ simultaneously. */ -+ -+#ifdef __STDC__ -+double -+__ieee754_sqrt (double b) -+#else -+double -+__ieee754_sqrt (b) -+ double b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+ double y, g, h, d, r; -+ ieee_double_shape_type u; -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ u.value = b; -+ -+ relax_fenv_state (); -+ -+ __asm__ ("frsqrte %[estimate], %[x]\n" -+ : [estimate] "=f" (y) : [x] "f" (b)); -+ -+ /* Following Muller et al, page 168, equation 5.20. -+ -+ h goes to 1/(2*sqrt(b)) -+ g goes to sqrt(b). -+ -+ We need three iterations to get within 1ulp. */ -+ -+ /* Indicate that these can be performed prior to the branch. GCC -+ insists on sinking them below the branch, however; it seems like -+ they'd be better before the branch so that we can cover any latency -+ from storing the argument and loading its high word. Oh well. */ -+ -+ g = b * y; -+ h = 0.5 * y; -+ -+ /* Handle small numbers by scaling. */ -+ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -+ return __ieee754_sqrt (b * two108) * twom54; -+ -+#define FMADD(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ r = FNMSUB (g, h, half); -+ g = FMADD (g, r, g); -+ h = FMADD (h, r, h); -+ -+ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ -+ -+ /* Final refinement. */ -+ d = FNMSUB (g, g, b); -+ -+ fesetenv_register (fe); -+ return FMADD (d, h, g); -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_wash (b); -+} -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -new file mode 100644 -index 0000000000..26fa067abf ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -@@ -0,0 +1,101 @@ -+/* Single-precision floating point square root. -+ Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; -+static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -+static const float threehalf = 1.5; -+ -+/* The method is based on the descriptions in: -+ -+ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; -+ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 -+ -+ We find the reciprocal square root and use that to compute the actual -+ square root. */ -+ -+#ifdef __STDC__ -+float -+__ieee754_sqrtf (float b) -+#else -+float -+__ieee754_sqrtf (b) -+ float b; -+#endif -+{ -+ if (__builtin_expect (b > 0, 1)) -+ { -+#define FMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+#define FNMSUB(a_, c_, b_) \ -+ ({ double __r; \ -+ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ -+ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ -+ __r;}) -+ -+ if (__builtin_expect (b != a_inf.value, 1)) -+ { -+ double y, x; -+ fenv_t fe; -+ -+ fe = fegetenv_register (); -+ -+ relax_fenv_state (); -+ -+ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ -+ y = FMSUB (threehalf, b, b); -+ -+ /* Initial estimate. */ -+ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); -+ -+ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ x = x * FNMSUB (y, x * x, threehalf); -+ -+ /* All done. */ -+ fesetenv_register (fe); -+ return x * b; -+ } -+ } -+ else if (b < 0) -+ { -+ /* For some reason, some PowerPC32 processors don't implement -+ FE_INVALID_SQRT. */ -+#ifdef FE_INVALID_SQRT -+ feraiseexcept (FE_INVALID_SQRT); -+ -+ fenv_union_t u = { .fenv = fegetenv_register () }; -+ if ((u.l & FE_INVALID) == 0) -+#endif -+ feraiseexcept (FE_INVALID); -+ b = a_nan.value; -+ } -+ return f_washf (b); -+} -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies -new file mode 100644 -index 0000000000..b103b4dea5 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/603e/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies -new file mode 100644 -index 0000000000..64db17fada ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies -@@ -0,0 +1,2 @@ -+# e300c3 is a variant of 603e so use the same optimizations for sqrt -+powerpc/powerpc32/603e/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies -new file mode 100644 -index 0000000000..7eac5fcf02 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/e500mc/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies -new file mode 100644 -index 0000000000..264b2a7700 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/e5500/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies -new file mode 100644 -index 0000000000..a25934467b ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/e6500/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies -new file mode 100644 -index 0000000000..a7bc854be8 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/e5500/fpu -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies -new file mode 100644 -index 0000000000..04ff8cc181 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/e6500/fpu diff --git a/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch new file mode 100644 index 000000000..f4fc1d68c --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch @@ -0,0 +1,32 @@ +From 2761400989bcbf11e10bc85f90c3a2ba1305c4ae Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Mar 2021 14:48:56 -0800 +Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns + EPERM + +Fedora-specific workaround for systemd-nspawn + +Upstream-Status: Inappropriate [Distro Specific] + +Signed-off-by: Khem Raj +--- + sysdeps/unix/sysv/linux/faccessat.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c +index 13160d3249..ee3ddc9b79 100644 +--- a/sysdeps/unix/sysv/linux/faccessat.c ++++ b/sysdeps/unix/sysv/linux/faccessat.c +@@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag) + #if __ASSUME_FACCESSAT2 + return ret; + #else +- if (ret == 0 || errno != ENOSYS) ++ /* Fedora-specific workaround: ++ As a workround for a broken systemd-nspawn that returns ++ EPERM when a syscall is not allowed instead of ENOSYS ++ we must check for EPERM here and fall back to faccessat. */ ++ if (ret == 0 || !(errno == ENOSYS || errno == EPERM)) + return ret; + + if (flag & ~(AT_SYMLINK_NOFOLLOW | AT_EACCESS)) diff --git a/poky/meta/recipes-core/glibc/glibc/0009-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0009-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch new file mode 100644 index 000000000..01de227a0 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0009-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch @@ -0,0 +1,1581 @@ +From 74923ca4b1ae0ed5a2478e7d265b37534f6815d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:01:50 +0000 +Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation + +Upstream-Status: Pending +Signed-off-by: Edmar Wienskoski +Signed-off-by: Khem Raj +--- + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 134 ++++++++++++++++++ + .../powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ + .../linux/powerpc/powerpc32/603e/fpu/Implies | 1 + + .../powerpc/powerpc32/e300c3/fpu/Implies | 2 + + .../powerpc/powerpc32/e500mc/fpu/Implies | 1 + + .../linux/powerpc/powerpc32/e5500/fpu/Implies | 1 + + .../linux/powerpc/powerpc32/e6500/fpu/Implies | 1 + + .../linux/powerpc/powerpc64/e5500/fpu/Implies | 1 + + .../linux/powerpc/powerpc64/e6500/fpu/Implies | 1 + + 19 files changed, 1418 insertions(+) + create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c + create mode 100644 sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c + create mode 100644 sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c + create mode 100644 sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c + create mode 100644 sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c + create mode 100644 sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c + create mode 100644 sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies + create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies + +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +new file mode 100644 +index 0000000000..71e516d1c8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +new file mode 100644 +index 0000000000..26fa067abf +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies +new file mode 100644 +index 0000000000..b103b4dea5 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies +new file mode 100644 +index 0000000000..64db17fada +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies +@@ -0,0 +1,2 @@ ++# e300c3 is a variant of 603e so use the same optimizations for sqrt ++powerpc/powerpc32/603e/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies +new file mode 100644 +index 0000000000..7eac5fcf02 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/e500mc/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies +new file mode 100644 +index 0000000000..264b2a7700 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/e5500/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies +new file mode 100644 +index 0000000000..a25934467b +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/e6500/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies +new file mode 100644 +index 0000000000..a7bc854be8 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc64/e5500/fpu +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies +new file mode 100644 +index 0000000000..04ff8cc181 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc64/e6500/fpu diff --git a/poky/meta/recipes-core/glibc/glibc/0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch deleted file mode 100644 index 0c8bf94a7..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch +++ /dev/null @@ -1,205 +0,0 @@ -From 3b5fe5b1a7390cde0f07351415e3891f62d1f7e0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:15:07 +0000 -Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite' - -on ppc fixes the errors like below -| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' -| collect2: ld returned 1 exit status - -Upstream-Status: Pending - -ChangeLog - -2012-01-06 Khem Raj - - * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias. - Remove cruft. - * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto. - * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto. - * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto. - -Signed-off-by: Khem Raj ---- - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 7 +------ - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 7 +------ - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 1 + - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 1 + - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 1 + - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 1 + - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 1 + - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 1 + - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 7 +------ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 7 +------ - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 1 + - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 1 + - 12 files changed, 12 insertions(+), 24 deletions(-) - -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -index 71e516d1c8..1795fd6c3e 100644 ---- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -@@ -39,14 +39,8 @@ static const float half = 0.5; - We find the actual square root and half of its reciprocal - simultaneously. */ - --#ifdef __STDC__ - double - __ieee754_sqrt (double b) --#else --double --__ieee754_sqrt (b) -- double b; --#endif - { - if (__builtin_expect (b > 0, 1)) - { -@@ -132,3 +126,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -index 26fa067abf..a917f313ab 100644 ---- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -@@ -37,14 +37,8 @@ static const float threehalf = 1.5; - We find the reciprocal square root and use that to compute the actual - square root. */ - --#ifdef __STDC__ - float - __ieee754_sqrtf (float b) --#else --float --__ieee754_sqrtf (b) -- float b; --#endif - { - if (__builtin_expect (b > 0, 1)) - { -@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -index 71e516d1c8..fc4a74990e 100644 ---- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -@@ -132,3 +132,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -index 26fa067abf..9d175122a8 100644 ---- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -index 71e516d1c8..fc4a74990e 100644 ---- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -@@ -132,3 +132,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -index 26fa067abf..9d175122a8 100644 ---- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index 71e516d1c8..fc4a74990e 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -@@ -132,3 +132,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 26fa067abf..9d175122a8 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -index 71e516d1c8..1795fd6c3e 100644 ---- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -@@ -39,14 +39,8 @@ static const float half = 0.5; - We find the actual square root and half of its reciprocal - simultaneously. */ - --#ifdef __STDC__ - double - __ieee754_sqrt (double b) --#else --double --__ieee754_sqrt (b) -- double b; --#endif - { - if (__builtin_expect (b > 0, 1)) - { -@@ -132,3 +126,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -index 26fa067abf..a917f313ab 100644 ---- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -@@ -37,14 +37,8 @@ static const float threehalf = 1.5; - We find the reciprocal square root and use that to compute the actual - square root. */ - --#ifdef __STDC__ - float - __ieee754_sqrtf (float b) --#else --float --__ieee754_sqrtf (b) -- float b; --#endif - { - if (__builtin_expect (b > 0, 1)) - { -@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -index 71e516d1c8..fc4a74990e 100644 ---- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -@@ -132,3 +132,4 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -index 26fa067abf..9d175122a8 100644 ---- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/poky/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch deleted file mode 100644 index cadaa0b2e..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ /dev/null @@ -1,384 +0,0 @@ -From 6b6e1dcd707017598ea3bdc2d91a761943b62218 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:16:38 +0000 -Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out - __slow versions - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 12 ++++++++++-- - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 8 +++++++- - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 14 +++++++++++--- - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 12 ++++++++++-- - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 14 +++++++++++--- - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 12 ++++++++++-- - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 8 ++++++++ - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 8 ++++++++ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 12 ++++++++++-- - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 9 ++++++++- - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 14 +++++++++++--- - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 12 ++++++++++-- - 12 files changed, 114 insertions(+), 21 deletions(-) - -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -index 1795fd6c3e..daa83f3fe8 100644 ---- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -@@ -40,7 +40,7 @@ static const float half = 0.5; - simultaneously. */ - - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - { - if (__builtin_expect (b > 0, 1)) - { -@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -index a917f313ab..b812cf1705 100644 ---- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -@@ -38,7 +38,7 @@ static const float threehalf = 1.5; - square root. */ - - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - { - if (__builtin_expect (b > 0, 1)) - { -@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b) - } - return f_washf (b); - } -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} - strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -index fc4a74990e..7038a70b47 100644 ---- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -@@ -41,10 +41,10 @@ static const float half = 0.5; - - #ifdef __STDC__ - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - #else - double --__ieee754_sqrt (b) -+__slow_ieee754_sqrt (b) - double b; - #endif - { -@@ -83,7 +83,7 @@ __ieee754_sqrt (b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -@@ -132,4 +132,12 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -index 9d175122a8..10de1f0cc3 100644 ---- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -@@ -39,10 +39,10 @@ static const float threehalf = 1.5; - - #ifdef __STDC__ - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - #else - float --__ieee754_sqrtf (b) -+__slow_ieee754_sqrtf (b) - float b; - #endif - { -@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+ -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} -+ - strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -index fc4a74990e..7038a70b47 100644 ---- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -@@ -41,10 +41,10 @@ static const float half = 0.5; - - #ifdef __STDC__ - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - #else - double --__ieee754_sqrt (b) -+__slow_ieee754_sqrt (b) - double b; - #endif - { -@@ -83,7 +83,7 @@ __ieee754_sqrt (b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -@@ -132,4 +132,12 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -index 9d175122a8..10de1f0cc3 100644 ---- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -@@ -39,10 +39,10 @@ static const float threehalf = 1.5; - - #ifdef __STDC__ - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - #else - float --__ieee754_sqrtf (b) -+__slow_ieee754_sqrtf (b) - float b; - #endif - { -@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+ -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} -+ - strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index fc4a74990e..1c34244bd8 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -@@ -132,4 +132,12 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 9d175122a8..812653558f 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+ -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} -+ - strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -index 1795fd6c3e..13a81973e3 100644 ---- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -@@ -40,7 +40,7 @@ static const float half = 0.5; - simultaneously. */ - - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - { - if (__builtin_expect (b > 0, 1)) - { -@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -index a917f313ab..fae2d81210 100644 ---- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -@@ -38,7 +38,7 @@ static const float threehalf = 1.5; - square root. */ - - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - { - if (__builtin_expect (b > 0, 1)) - { -@@ -93,4 +93,11 @@ __ieee754_sqrtf (float b) - } - return f_washf (b); - } -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} -+ - strong_alias (__ieee754_sqrtf, __sqrtf_finite) -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -index fc4a74990e..7038a70b47 100644 ---- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -@@ -41,10 +41,10 @@ static const float half = 0.5; - - #ifdef __STDC__ - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - #else - double --__ieee754_sqrt (b) -+__slow_ieee754_sqrt (b) - double b; - #endif - { -@@ -83,7 +83,7 @@ __ieee754_sqrt (b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -@@ -132,4 +132,12 @@ __ieee754_sqrt (b) - } - return f_wash (b); - } -+ -+#undef __ieee754_sqrt -+double -+__ieee754_sqrt (double x) -+{ -+ return __slow_ieee754_sqrt (x); -+} -+ - strong_alias (__ieee754_sqrt, __sqrt_finite) -diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -index 9d175122a8..10de1f0cc3 100644 ---- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -@@ -39,10 +39,10 @@ static const float threehalf = 1.5; - - #ifdef __STDC__ - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - #else - float --__ieee754_sqrtf (b) -+__slow_ieee754_sqrtf (b) - float b; - #endif - { -@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) - } - return f_washf (b); - } -+ -+#undef __ieee754_sqrtf -+float -+__ieee754_sqrtf (float x) -+{ -+ return __slow_ieee754_sqrtf (x); -+} -+ - strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/poky/meta/recipes-core/glibc/glibc/0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch new file mode 100644 index 000000000..5c1130cf1 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch @@ -0,0 +1,205 @@ +From 5da3da7f2d276c2a6ae1b04419b28e96953803ec Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:15:07 +0000 +Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite' + +on ppc fixes the errors like below +| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' +| collect2: ld returned 1 exit status + +Upstream-Status: Pending + +ChangeLog + +2012-01-06 Khem Raj + + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias. + Remove cruft. + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto. + +Signed-off-by: Khem Raj +--- + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 7 +------ + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 7 +------ + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 1 + + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 1 + + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 1 + + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 1 + + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 1 + + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 1 + + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 7 +------ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 7 +------ + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 1 + + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 1 + + 12 files changed, 12 insertions(+), 24 deletions(-) + +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +index 71e516d1c8..1795fd6c3e 100644 +--- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -39,14 +39,8 @@ static const float half = 0.5; + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +index 26fa067abf..a917f313ab 100644 +--- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -37,14 +37,8 @@ static const float threehalf = 1.5; + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +index 71e516d1c8..fc4a74990e 100644 +--- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +index 26fa067abf..9d175122a8 100644 +--- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +index 71e516d1c8..fc4a74990e 100644 +--- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +index 26fa067abf..9d175122a8 100644 +--- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +index 71e516d1c8..fc4a74990e 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +index 26fa067abf..9d175122a8 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +index 71e516d1c8..1795fd6c3e 100644 +--- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -39,14 +39,8 @@ static const float half = 0.5; + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +index 26fa067abf..a917f313ab 100644 +--- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -37,14 +37,8 @@ static const float threehalf = 1.5; + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +index 71e516d1c8..fc4a74990e 100644 +--- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +index 26fa067abf..9d175122a8 100644 +--- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/poky/meta/recipes-core/glibc/glibc/0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch deleted file mode 100644 index e4c78b5c7..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 297bac9429260f8df495b81d3fae8ae4c6913f5f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:20:09 +0000 -Subject: [PATCH] Quote from bug 1443 which explains what the patch does : - - We build some random program and link it with -lust. When we run it, - it dies with a SIGSEGV before reaching main(). - - Libust.so depends on liburcu-bp.so from the usermode-rcu package. - Although libust.so is not prelinked, liburcu-bp.so IS prelinked; this - is critical. - - Libust.so uses a TLS / __thread variable that is defined in liburcu- - bp.so. There are special ARM-specific relocation types that allow two - shared libraries to share thread-specific data. This is critical too. - - One more critical issue: although liburcu-bp.so is prelinked, we can't - load it at its prelinked address, because we also link against - librt.so, and librt.so uses that address. - - The dynamic linker is forced to relink liburcu-bp.so at a different - address. In the course of relinking, it processes the special ARM - relocation record mentioned above. The prelinker has already filled - in the information, which is a short offset into a table of thread- - specific data that is allocated per-thread for each library that uses - TLS. Because the normal behavior of a relocation is to add the symbol - value to an addend stored at the address being relocated, we end up - adding the short offset to itself, doubling it. - - Now we have an awkward situation. The libust.so library doesn't know - about the addend, so its TLS data for this element is correct. The - liburcu-bp.so library has a different offset for the element. When we - go to initialize the element for the first time in liburcu-bp.so, we - write the address of the result at the doubled (broken) offset. - Later, when we refer to the address from libust.so, we check the value - at the correct offset, but it's NULL, so we eat hot SIGSEGV. - -Upstream-Status: Pending - -Signed-off-by: Andrei Dinu -Signed-off-by: Khem Raj ---- - sysdeps/arm/dl-machine.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index ff5e09e207..d68bfe5cbe 100644 ---- a/sysdeps/arm/dl-machine.h -+++ b/sysdeps/arm/dl-machine.h -@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, - - case R_ARM_TLS_DTPOFF32: - if (sym != NULL) -- *reloc_addr += sym->st_value; -+ *reloc_addr = sym->st_value; - break; - - case R_ARM_TLS_TPOFF32: diff --git a/poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch new file mode 100644 index 000000000..b72e79057 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -0,0 +1,384 @@ +From 77f1c90d67a2f8852184fb8fd95cb0ed63065dc7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:16:38 +0000 +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out + __slow versions + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 12 ++++++++++-- + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 8 +++++++- + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 14 +++++++++++--- + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 12 ++++++++++-- + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 14 +++++++++++--- + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 12 ++++++++++-- + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 8 ++++++++ + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 8 ++++++++ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 12 ++++++++++-- + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 9 ++++++++- + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 14 +++++++++++--- + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 12 ++++++++++-- + 12 files changed, 114 insertions(+), 21 deletions(-) + +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +index 1795fd6c3e..daa83f3fe8 100644 +--- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -40,7 +40,7 @@ static const float half = 0.5; + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +index a917f313ab..b812cf1705 100644 +--- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -38,7 +38,7 @@ static const float threehalf = 1.5; + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b) + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +index fc4a74990e..7038a70b47 100644 +--- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +index 9d175122a8..10de1f0cc3 100644 +--- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +index fc4a74990e..7038a70b47 100644 +--- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +index 9d175122a8..10de1f0cc3 100644 +--- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +index fc4a74990e..1c34244bd8 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +index 9d175122a8..812653558f 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +index 1795fd6c3e..13a81973e3 100644 +--- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -40,7 +40,7 @@ static const float half = 0.5; + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +index a917f313ab..fae2d81210 100644 +--- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -38,7 +38,7 @@ static const float threehalf = 1.5; + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,11 @@ __ieee754_sqrtf (float b) + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +index fc4a74990e..7038a70b47 100644 +--- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +index 9d175122a8..10de1f0cc3 100644 +--- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/poky/meta/recipes-core/glibc/glibc/0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch new file mode 100644 index 000000000..07d4411c6 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch @@ -0,0 +1,58 @@ +From add514edf4299d1bf540d85d0aa0bd5fe0d46b78 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:20:09 +0000 +Subject: [PATCH] Quote from bug 1443 which explains what the patch does : + + We build some random program and link it with -lust. When we run it, + it dies with a SIGSEGV before reaching main(). + + Libust.so depends on liburcu-bp.so from the usermode-rcu package. + Although libust.so is not prelinked, liburcu-bp.so IS prelinked; this + is critical. + + Libust.so uses a TLS / __thread variable that is defined in liburcu- + bp.so. There are special ARM-specific relocation types that allow two + shared libraries to share thread-specific data. This is critical too. + + One more critical issue: although liburcu-bp.so is prelinked, we can't + load it at its prelinked address, because we also link against + librt.so, and librt.so uses that address. + + The dynamic linker is forced to relink liburcu-bp.so at a different + address. In the course of relinking, it processes the special ARM + relocation record mentioned above. The prelinker has already filled + in the information, which is a short offset into a table of thread- + specific data that is allocated per-thread for each library that uses + TLS. Because the normal behavior of a relocation is to add the symbol + value to an addend stored at the address being relocated, we end up + adding the short offset to itself, doubling it. + + Now we have an awkward situation. The libust.so library doesn't know + about the addend, so its TLS data for this element is correct. The + liburcu-bp.so library has a different offset for the element. When we + go to initialize the element for the first time in liburcu-bp.so, we + write the address of the result at the doubled (broken) offset. + Later, when we refer to the address from libust.so, we check the value + at the correct offset, but it's NULL, so we eat hot SIGSEGV. + +Upstream-Status: Pending + +Signed-off-by: Andrei Dinu +Signed-off-by: Khem Raj +--- + sysdeps/arm/dl-machine.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h +index ff5e09e207..d68bfe5cbe 100644 +--- a/sysdeps/arm/dl-machine.h ++++ b/sysdeps/arm/dl-machine.h +@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, + + case R_ARM_TLS_DTPOFF32: + if (sym != NULL) +- *reloc_addr += sym->st_value; ++ *reloc_addr = sym->st_value; + break; + + case R_ARM_TLS_TPOFF32: diff --git a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch deleted file mode 100644 index c5e8e6473..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f389babf3c920e68b7d7391556a78ebf62a21ebe Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S} - -libm-err-tab.pl will parse all the files named "libm-test-ulps" -in the given dir recursively. To avoid parsing the one in -${S}/.pc/ (it does exist after eglibc adds aarch64 support, -${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/ -aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs -in ${S}. - -Upstream-Status: inappropriate [OE specific] - -Signed-off-by: Ting Liu ---- - manual/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/manual/Makefile b/manual/Makefile -index e83444341e..aa2645bc55 100644 ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -103,7 +103,8 @@ $(objpfx)stamp-libm-err: $(..)math/gen-libm-test.py \ - $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) - pwd=`pwd`; \ -- $(PYTHON) $< -s $$pwd/.. -m $(objpfx)libm-err-tmp -+ $(PYTHON) $< -s $$pwd/../ports -m $(objpfx)libm-err-tmp -+ $(PYTHON) $< -s $$pwd/../sysdeps -m $(objpfx)libm-err-tmp - $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi - touch $@ - diff --git a/poky/meta/recipes-core/glibc/glibc/0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch deleted file mode 100644 index 7f362cace..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 4b0d41a315e66f688fef7b0c2e2b6ce9fa16ec93 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:24:46 +0000 -Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out - __slow versions - -Upstream-Status: Pending - -Signed-off-by: chunrong guo -Signed-off-by: Khem Raj ---- - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 6 +++--- - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index 1c34244bd8..7038a70b47 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -@@ -41,10 +41,10 @@ static const float half = 0.5; - - #ifdef __STDC__ - double --__ieee754_sqrt (double b) -+__slow_ieee754_sqrt (double b) - #else - double --__ieee754_sqrt (b) -+__slow_ieee754_sqrt (b) - double b; - #endif - { -@@ -83,7 +83,7 @@ __ieee754_sqrt (b) - - /* Handle small numbers by scaling. */ - if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) -- return __ieee754_sqrt (b * two108) * twom54; -+ return __slow_ieee754_sqrt (b * two108) * twom54; - - #define FMADD(a_, c_, b_) \ - ({ double __r; \ -diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 812653558f..10de1f0cc3 100644 ---- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -+++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -@@ -39,10 +39,10 @@ static const float threehalf = 1.5; - - #ifdef __STDC__ - float --__ieee754_sqrtf (float b) -+__slow_ieee754_sqrtf (float b) - #else - float --__ieee754_sqrtf (b) -+__slow_ieee754_sqrtf (b) - float b; - #endif - { diff --git a/poky/meta/recipes-core/glibc/glibc/0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch new file mode 100644 index 000000000..c2766ef4c --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -0,0 +1,33 @@ +From c5047b8f7d1a17324cfa02b99f07a70ebcec2cf2 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Wed, 19 Dec 2012 04:39:57 -0600 +Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S} + +libm-err-tab.pl will parse all the files named "libm-test-ulps" +in the given dir recursively. To avoid parsing the one in +${S}/.pc/ (it does exist after eglibc adds aarch64 support, +${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/ +aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs +in ${S}. + +Upstream-Status: inappropriate [OE specific] + +Signed-off-by: Ting Liu +--- + manual/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/manual/Makefile b/manual/Makefile +index e83444341e..aa2645bc55 100644 +--- a/manual/Makefile ++++ b/manual/Makefile +@@ -103,7 +103,8 @@ $(objpfx)stamp-libm-err: $(..)math/gen-libm-test.py \ + $(wildcard $(foreach dir,$(sysdirs),\ + $(dir)/libm-test-ulps)) + pwd=`pwd`; \ +- $(PYTHON) $< -s $$pwd/.. -m $(objpfx)libm-err-tmp ++ $(PYTHON) $< -s $$pwd/../ports -m $(objpfx)libm-err-tmp ++ $(PYTHON) $< -s $$pwd/../sysdeps -m $(objpfx)libm-err-tmp + $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi + touch $@ + diff --git a/poky/meta/recipes-core/glibc/glibc/0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch new file mode 100644 index 000000000..088b81053 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -0,0 +1,58 @@ +From 133870f12ba36686dd8df1311fac32a4c5b28579 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:24:46 +0000 +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out + __slow versions + +Upstream-Status: Pending + +Signed-off-by: chunrong guo +Signed-off-by: Khem Raj +--- + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 6 +++--- + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +index 1c34244bd8..7038a70b47 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +index 812653558f..10de1f0cc3 100644 +--- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { diff --git a/poky/meta/recipes-core/glibc/glibc/0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch deleted file mode 100644 index 4da0e003c..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c062a462fee53a30a85d693c8288b5bd8fe4ec6e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly - $libc_cv_rootsbindir - -Upstream-Status:Pending - -Signed-off-by: Matthieu Crapet -Signed-off-by: Khem Raj ---- - sysdeps/gnu/configure | 2 +- - sysdeps/gnu/configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure -index c15d1087e8..37cc983f2a 100644 ---- a/sysdeps/gnu/configure -+++ b/sysdeps/gnu/configure -@@ -32,6 +32,6 @@ case "$prefix" in - else - libc_cv_localstatedir=$localstatedir - fi -- libc_cv_rootsbindir=/sbin -+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin - ;; - esac -diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac -index 634fe4de2a..3db1697f4f 100644 ---- a/sysdeps/gnu/configure.ac -+++ b/sysdeps/gnu/configure.ac -@@ -21,6 +21,6 @@ case "$prefix" in - else - libc_cv_localstatedir=$localstatedir - fi -- libc_cv_rootsbindir=/sbin -+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin - ;; - esac diff --git a/poky/meta/recipes-core/glibc/glibc/0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch new file mode 100644 index 000000000..e8332a53c --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch @@ -0,0 +1,39 @@ +From b4613f814ba7ba5db95d18116172f81a83ac8f5b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:27:10 +0000 +Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly + $libc_cv_rootsbindir + +Upstream-Status:Pending + +Signed-off-by: Matthieu Crapet +Signed-off-by: Khem Raj +--- + sysdeps/gnu/configure | 2 +- + sysdeps/gnu/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure +index c15d1087e8..37cc983f2a 100644 +--- a/sysdeps/gnu/configure ++++ b/sysdeps/gnu/configure +@@ -32,6 +32,6 @@ case "$prefix" in + else + libc_cv_localstatedir=$localstatedir + fi +- libc_cv_rootsbindir=/sbin ++ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin + ;; + esac +diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac +index 634fe4de2a..3db1697f4f 100644 +--- a/sysdeps/gnu/configure.ac ++++ b/sysdeps/gnu/configure.ac +@@ -21,6 +21,6 @@ case "$prefix" in + else + libc_cv_localstatedir=$localstatedir + fi +- libc_cv_rootsbindir=/sbin ++ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin + ;; + esac diff --git a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch deleted file mode 100644 index 15e83f891..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch +++ /dev/null @@ -1,260 +0,0 @@ -From 0bd39d8907953f18e01742f42b24647ac7689d0a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:31:06 +0000 -Subject: [PATCH] 'yes' within the path sets wrong config variables - -It seems that the 'AC_EGREP_CPP(yes...' example is quite popular -but being such a short word to grep it is likely to produce -false-positive matches with the path it is configured into. - -The change is to use a more elaborated string to grep for. - -Upstream-Status: Submitted [libc-alpha@sourceware.org] - -Signed-off-by: Benjamin Esquivel -Signed-off-by: Khem Raj ---- - sysdeps/aarch64/configure | 4 ++-- - sysdeps/aarch64/configure.ac | 4 ++-- - sysdeps/arm/configure | 4 ++-- - sysdeps/arm/configure.ac | 4 ++-- - sysdeps/mips/configure | 4 ++-- - sysdeps/mips/configure.ac | 4 ++-- - sysdeps/nios2/configure | 4 ++-- - sysdeps/nios2/configure.ac | 4 ++-- - sysdeps/unix/sysv/linux/mips/configure | 4 ++-- - sysdeps/unix/sysv/linux/mips/configure.ac | 4 ++-- - sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 8 ++++---- - sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 8 ++++---- - 12 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure -index 83c3a23e44..a68c946277 100644 ---- a/sysdeps/aarch64/configure -+++ b/sysdeps/aarch64/configure -@@ -157,12 +157,12 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef __AARCH64EB__ -- yes -+ is_aarch64_be - #endif - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_aarch64_be" >/dev/null 2>&1; then : - libc_cv_aarch64_be=yes - else - libc_cv_aarch64_be=no -diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac -index 66f755078a..a32b265bbe 100644 ---- a/sysdeps/aarch64/configure.ac -+++ b/sysdeps/aarch64/configure.ac -@@ -17,8 +17,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) - # the dynamic linker via %ifdef. - AC_CACHE_CHECK([for big endian], - [libc_cv_aarch64_be], -- [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__ -- yes -+ [AC_EGREP_CPP(is_aarch64_be,[#ifdef __AARCH64EB__ -+ is_aarch64_be - #endif - ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) - if test $libc_cv_aarch64_be = yes; then -diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure -index 431e843b2b..e152461138 100644 ---- a/sysdeps/arm/configure -+++ b/sysdeps/arm/configure -@@ -151,12 +151,12 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef __ARM_PCS_VFP -- yes -+ use_arm_pcs_vfp - #endif - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1; then : - libc_cv_arm_pcs_vfp=yes - else - libc_cv_arm_pcs_vfp=no -diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac -index 90cdd69c75..05a262ba00 100644 ---- a/sysdeps/arm/configure.ac -+++ b/sysdeps/arm/configure.ac -@@ -15,8 +15,8 @@ AC_DEFINE(PI_STATIC_AND_HIDDEN) - # the dynamic linker via %ifdef. - AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI], - [libc_cv_arm_pcs_vfp], -- [AC_EGREP_CPP(yes,[#ifdef __ARM_PCS_VFP -- yes -+ [AC_EGREP_CPP(use_arm_pcs_vfp,[#ifdef __ARM_PCS_VFP -+ use_arm_pcs_vfp - #endif - ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) - if test $libc_cv_arm_pcs_vfp = yes; then -diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure -index 4e13248c03..f14af952d0 100644 ---- a/sysdeps/mips/configure -+++ b/sysdeps/mips/configure -@@ -143,11 +143,11 @@ else - /* end confdefs.h. */ - dnl - #ifdef __mips_nan2008 --yes -+use_mips_nan2008 - #endif - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : - libc_cv_mips_nan2008=yes - else - libc_cv_mips_nan2008=no -diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac -index bcbdaffd9f..ad3057f4cc 100644 ---- a/sysdeps/mips/configure.ac -+++ b/sysdeps/mips/configure.ac -@@ -6,9 +6,9 @@ dnl position independent way. - dnl AC_DEFINE(PI_STATIC_AND_HIDDEN) - - AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding], -- libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl -+ libc_cv_mips_nan2008, [AC_EGREP_CPP(use_mips_nan2008, [dnl - #ifdef __mips_nan2008 --yes -+use_mips_nan2008 - #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) - if test x$libc_cv_mips_nan2008 = xyes; then - AC_DEFINE(HAVE_MIPS_NAN2008) -diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure -index 14c8a3a014..dde3814ef2 100644 ---- a/sysdeps/nios2/configure -+++ b/sysdeps/nios2/configure -@@ -142,12 +142,12 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef __nios2_big_endian__ -- yes -+ is_nios2_be - #endif - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_nios2_be" >/dev/null 2>&1; then : - libc_cv_nios2_be=yes - else - libc_cv_nios2_be=no -diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac -index f05f43802b..dc8639902d 100644 ---- a/sysdeps/nios2/configure.ac -+++ b/sysdeps/nios2/configure.ac -@@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. - # Nios II big endian is not yet supported. - AC_CACHE_CHECK([for big endian], - [libc_cv_nios2_be], -- [AC_EGREP_CPP(yes,[#ifdef __nios2_big_endian__ -- yes -+ [AC_EGREP_CPP(is_nios2_be,[#ifdef __nios2_big_endian__ -+ is_nios2_be - #endif - ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) - if test $libc_cv_nios2_be = yes; then -diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure -index f25f2a3a65..1b7483e6c6 100644 ---- a/sysdeps/unix/sysv/linux/mips/configure -+++ b/sysdeps/unix/sysv/linux/mips/configure -@@ -414,11 +414,11 @@ else - /* end confdefs.h. */ - dnl - #ifdef __mips_nan2008 --yes -+use_mips_nan2008 - #endif - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : - libc_cv_mips_nan2008=yes - else - libc_cv_mips_nan2008=no -diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac -index 049a0f4bdf..005526d4e8 100644 ---- a/sysdeps/unix/sysv/linux/mips/configure.ac -+++ b/sysdeps/unix/sysv/linux/mips/configure.ac -@@ -105,9 +105,9 @@ AC_COMPILE_IFELSE( - LIBC_CONFIG_VAR([mips-mode-switch],[${libc_mips_mode_switch}]) - - AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding], -- libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl -+ libc_cv_mips_nan2008, [AC_EGREP_CPP(use_mips_nan2008, [dnl - #ifdef __mips_nan2008 --yes -+use_mips_nan2008 - #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) - - libc_mips_nan= -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -index ae7f254da4..874519000b 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -@@ -155,12 +155,12 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #if _CALL_ELF == 2 -- yes -+ use_ppc_elfv2_abi - #endif - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1; then : - libc_cv_ppc64_elfv2_abi=yes - else - libc_cv_ppc64_elfv2_abi=no -@@ -188,12 +188,12 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef _CALL_ELF -- yes -+ is_def_call_elf - #endif - - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_def_call_elf" >/dev/null 2>&1; then : - libc_cv_ppc64_def_call_elf=yes - else - libc_cv_ppc64_def_call_elf=no -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac -index f9cba6e15d..b21f72f1e4 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac -+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac -@@ -6,8 +6,8 @@ LIBC_SLIBDIR_RTLDDIR([lib64], [lib64]) - # Define default-abi according to compiler flags. - AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI], - [libc_cv_ppc64_elfv2_abi], -- [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2 -- yes -+ [AC_EGREP_CPP(use_ppc_elfv2_abi,[#if _CALL_ELF == 2 -+ use_ppc_elfv2_abi - #endif - ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)]) - if test $libc_cv_ppc64_elfv2_abi = yes; then -@@ -19,8 +19,8 @@ else - # Compiler that do not support ELFv2 ABI does not define _CALL_ELF - AC_CACHE_CHECK([whether the compiler defines _CALL_ELF], - [libc_cv_ppc64_def_call_elf], -- [AC_EGREP_CPP(yes,[#ifdef _CALL_ELF -- yes -+ [AC_EGREP_CPP(is_def_call_elf,[#ifdef _CALL_ELF -+ is_def_call_elf - #endif - ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) - if test $libc_cv_ppc64_def_call_elf = no; then diff --git a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch deleted file mode 100644 index 79bd70415..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3feb4213628f1485000ffe1d3fd26e37a7b14336 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:33:03 +0000 -Subject: [PATCH] timezone: re-written tzselect as posix sh - -To avoid the bash dependency. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia -Signed-off-by: Khem Raj ---- - timezone/Makefile | 2 +- - timezone/tzselect.ksh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/timezone/Makefile b/timezone/Makefile -index 395abfeebd..2d939edf75 100644 ---- a/timezone/Makefile -+++ b/timezone/Makefile -@@ -123,7 +123,7 @@ $(testdata)/XT%: testdata/XT% - cp $< $@ - - $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make -- sed -e 's|/bin/bash|$(BASH)|' \ -+ sed -e 's|/bin/bash|/bin/sh|' \ - -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \ - -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ - -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ -diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh -index 18fce27e24..70745f9d36 100755 ---- a/timezone/tzselect.ksh -+++ b/timezone/tzselect.ksh -@@ -34,7 +34,7 @@ REPORT_BUGS_TO=tz@iana.org - - # Specify default values for environment variables if they are unset. - : ${AWK=awk} --: ${TZDIR=`pwd`} -+: ${TZDIR=$(pwd)} - - # Output one argument as-is to standard output. - # Safer than 'echo', which can mishandle '\' or leading '-'. diff --git a/poky/meta/recipes-core/glibc/glibc/0016-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0016-yes-within-the-path-sets-wrong-config-variables.patch new file mode 100644 index 000000000..f7e7f1cd1 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0016-yes-within-the-path-sets-wrong-config-variables.patch @@ -0,0 +1,260 @@ +From 7be3e82b66394a7b242e56c6fc609e858b8e2436 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:31:06 +0000 +Subject: [PATCH] 'yes' within the path sets wrong config variables + +It seems that the 'AC_EGREP_CPP(yes...' example is quite popular +but being such a short word to grep it is likely to produce +false-positive matches with the path it is configured into. + +The change is to use a more elaborated string to grep for. + +Upstream-Status: Submitted [libc-alpha@sourceware.org] + +Signed-off-by: Benjamin Esquivel +Signed-off-by: Khem Raj +--- + sysdeps/aarch64/configure | 4 ++-- + sysdeps/aarch64/configure.ac | 4 ++-- + sysdeps/arm/configure | 4 ++-- + sysdeps/arm/configure.ac | 4 ++-- + sysdeps/mips/configure | 4 ++-- + sysdeps/mips/configure.ac | 4 ++-- + sysdeps/nios2/configure | 4 ++-- + sysdeps/nios2/configure.ac | 4 ++-- + sysdeps/unix/sysv/linux/mips/configure | 4 ++-- + sysdeps/unix/sysv/linux/mips/configure.ac | 4 ++-- + sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 8 ++++---- + sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 8 ++++---- + 12 files changed, 28 insertions(+), 28 deletions(-) + +diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure +index 4c1fac49f3..597314f476 100644 +--- a/sysdeps/aarch64/configure ++++ b/sysdeps/aarch64/configure +@@ -157,12 +157,12 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifdef __AARCH64EB__ +- yes ++ is_aarch64_be + #endif + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "is_aarch64_be" >/dev/null 2>&1; then : + libc_cv_aarch64_be=yes + else + libc_cv_aarch64_be=no +diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac +index 3347c13fa1..4af163c0b6 100644 +--- a/sysdeps/aarch64/configure.ac ++++ b/sysdeps/aarch64/configure.ac +@@ -17,8 +17,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) + # the dynamic linker via %ifdef. + AC_CACHE_CHECK([for big endian], + [libc_cv_aarch64_be], +- [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__ +- yes ++ [AC_EGREP_CPP(is_aarch64_be,[#ifdef __AARCH64EB__ ++ is_aarch64_be + #endif + ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) + if test $libc_cv_aarch64_be = yes; then +diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure +index 431e843b2b..e152461138 100644 +--- a/sysdeps/arm/configure ++++ b/sysdeps/arm/configure +@@ -151,12 +151,12 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifdef __ARM_PCS_VFP +- yes ++ use_arm_pcs_vfp + #endif + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1; then : + libc_cv_arm_pcs_vfp=yes + else + libc_cv_arm_pcs_vfp=no +diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac +index 90cdd69c75..05a262ba00 100644 +--- a/sysdeps/arm/configure.ac ++++ b/sysdeps/arm/configure.ac +@@ -15,8 +15,8 @@ AC_DEFINE(PI_STATIC_AND_HIDDEN) + # the dynamic linker via %ifdef. + AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI], + [libc_cv_arm_pcs_vfp], +- [AC_EGREP_CPP(yes,[#ifdef __ARM_PCS_VFP +- yes ++ [AC_EGREP_CPP(use_arm_pcs_vfp,[#ifdef __ARM_PCS_VFP ++ use_arm_pcs_vfp + #endif + ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) + if test $libc_cv_arm_pcs_vfp = yes; then +diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure +index 4e13248c03..f14af952d0 100644 +--- a/sysdeps/mips/configure ++++ b/sysdeps/mips/configure +@@ -143,11 +143,11 @@ else + /* end confdefs.h. */ + dnl + #ifdef __mips_nan2008 +-yes ++use_mips_nan2008 + #endif + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : + libc_cv_mips_nan2008=yes + else + libc_cv_mips_nan2008=no +diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac +index bcbdaffd9f..ad3057f4cc 100644 +--- a/sysdeps/mips/configure.ac ++++ b/sysdeps/mips/configure.ac +@@ -6,9 +6,9 @@ dnl position independent way. + dnl AC_DEFINE(PI_STATIC_AND_HIDDEN) + + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding], +- libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl ++ libc_cv_mips_nan2008, [AC_EGREP_CPP(use_mips_nan2008, [dnl + #ifdef __mips_nan2008 +-yes ++use_mips_nan2008 + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) + if test x$libc_cv_mips_nan2008 = xyes; then + AC_DEFINE(HAVE_MIPS_NAN2008) +diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure +index 14c8a3a014..dde3814ef2 100644 +--- a/sysdeps/nios2/configure ++++ b/sysdeps/nios2/configure +@@ -142,12 +142,12 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifdef __nios2_big_endian__ +- yes ++ is_nios2_be + #endif + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "is_nios2_be" >/dev/null 2>&1; then : + libc_cv_nios2_be=yes + else + libc_cv_nios2_be=no +diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac +index f05f43802b..dc8639902d 100644 +--- a/sysdeps/nios2/configure.ac ++++ b/sysdeps/nios2/configure.ac +@@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. + # Nios II big endian is not yet supported. + AC_CACHE_CHECK([for big endian], + [libc_cv_nios2_be], +- [AC_EGREP_CPP(yes,[#ifdef __nios2_big_endian__ +- yes ++ [AC_EGREP_CPP(is_nios2_be,[#ifdef __nios2_big_endian__ ++ is_nios2_be + #endif + ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) + if test $libc_cv_nios2_be = yes; then +diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure +index f25f2a3a65..1b7483e6c6 100644 +--- a/sysdeps/unix/sysv/linux/mips/configure ++++ b/sysdeps/unix/sysv/linux/mips/configure +@@ -414,11 +414,11 @@ else + /* end confdefs.h. */ + dnl + #ifdef __mips_nan2008 +-yes ++use_mips_nan2008 + #endif + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : + libc_cv_mips_nan2008=yes + else + libc_cv_mips_nan2008=no +diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac +index 049a0f4bdf..005526d4e8 100644 +--- a/sysdeps/unix/sysv/linux/mips/configure.ac ++++ b/sysdeps/unix/sysv/linux/mips/configure.ac +@@ -105,9 +105,9 @@ AC_COMPILE_IFELSE( + LIBC_CONFIG_VAR([mips-mode-switch],[${libc_mips_mode_switch}]) + + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding], +- libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl ++ libc_cv_mips_nan2008, [AC_EGREP_CPP(use_mips_nan2008, [dnl + #ifdef __mips_nan2008 +-yes ++use_mips_nan2008 + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) + + libc_mips_nan= +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +index ae7f254da4..874519000b 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +@@ -155,12 +155,12 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #if _CALL_ELF == 2 +- yes ++ use_ppc_elfv2_abi + #endif + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1; then : + libc_cv_ppc64_elfv2_abi=yes + else + libc_cv_ppc64_elfv2_abi=no +@@ -188,12 +188,12 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #ifdef _CALL_ELF +- yes ++ is_def_call_elf + #endif + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then : ++ $EGREP "is_def_call_elf" >/dev/null 2>&1; then : + libc_cv_ppc64_def_call_elf=yes + else + libc_cv_ppc64_def_call_elf=no +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac +index f9cba6e15d..b21f72f1e4 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac +@@ -6,8 +6,8 @@ LIBC_SLIBDIR_RTLDDIR([lib64], [lib64]) + # Define default-abi according to compiler flags. + AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI], + [libc_cv_ppc64_elfv2_abi], +- [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2 +- yes ++ [AC_EGREP_CPP(use_ppc_elfv2_abi,[#if _CALL_ELF == 2 ++ use_ppc_elfv2_abi + #endif + ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)]) + if test $libc_cv_ppc64_elfv2_abi = yes; then +@@ -19,8 +19,8 @@ else + # Compiler that do not support ELFv2 ABI does not define _CALL_ELF + AC_CACHE_CHECK([whether the compiler defines _CALL_ELF], + [libc_cv_ppc64_def_call_elf], +- [AC_EGREP_CPP(yes,[#ifdef _CALL_ELF +- yes ++ [AC_EGREP_CPP(is_def_call_elf,[#ifdef _CALL_ELF ++ is_def_call_elf + #endif + ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) + if test $libc_cv_ppc64_def_call_elf = no; then diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch deleted file mode 100644 index c32d70b59..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f6119b98a9caa80642d69a97edc98f57ecef5c3c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 31 Dec 2015 14:33:02 -0800 -Subject: [PATCH] Remove bash dependency for nscd init script - -The nscd init script uses #! /bin/bash but only really uses one bashism -(translated strings), so remove them and switch the shell to #!/bin/sh. - -Upstream-Status: Pending - -Signed-off-by: Ross Burton -Signed-off-by: Khem Raj ---- - nscd/nscd.init | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/nscd/nscd.init b/nscd/nscd.init -index a882da7d8b..b02986ec15 100644 ---- a/nscd/nscd.init -+++ b/nscd/nscd.init -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # - # nscd: Starts the Name Switch Cache Daemon - # -@@ -49,7 +49,7 @@ prog=nscd - start () { - [ -d /var/run/nscd ] || mkdir /var/run/nscd - [ -d /var/db/nscd ] || mkdir /var/db/nscd -- echo -n $"Starting $prog: " -+ echo -n "Starting $prog: " - daemon /usr/sbin/nscd - RETVAL=$? - echo -@@ -58,7 +58,7 @@ start () { - } - - stop () { -- echo -n $"Stopping $prog: " -+ echo -n "Stopping $prog: " - /usr/sbin/nscd -K - RETVAL=$? - if [ $RETVAL -eq 0 ]; then -@@ -67,9 +67,9 @@ stop () { - # a non-privileged user - rm -f /var/run/nscd/nscd.pid - rm -f /var/run/nscd/socket -- success $"$prog shutdown" -+ success "$prog shutdown" - else -- failure $"$prog shutdown" -+ failure "$prog shutdown" - fi - echo - return $RETVAL -@@ -103,13 +103,13 @@ case "$1" in - RETVAL=$? - ;; - force-reload | reload) -- echo -n $"Reloading $prog: " -+ echo -n "Reloading $prog: " - killproc /usr/sbin/nscd -HUP - RETVAL=$? - echo - ;; - *) -- echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" -+ echo "Usage: $0 {start|stop|status|restart|reload|condrestart}" - RETVAL=1 - ;; - esac diff --git a/poky/meta/recipes-core/glibc/glibc/0017-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0017-timezone-re-written-tzselect-as-posix-sh.patch new file mode 100644 index 000000000..100d08599 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0017-timezone-re-written-tzselect-as-posix-sh.patch @@ -0,0 +1,34 @@ +From 2731fa0c7463cd160361a8ac92f3bd7f984d953d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:33:03 +0000 +Subject: [PATCH] timezone: re-written tzselect as posix sh + +To avoid the bash dependency. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +Signed-off-by: Khem Raj +--- + timezone/tzselect.ksh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh +index 18fce27e24..7705df83d7 100755 +--- a/timezone/tzselect.ksh ++++ b/timezone/tzselect.ksh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # Ask the user about the time zone, and output the resulting TZ value to stdout. + # Interact with the user via stderr and stdin. + +@@ -34,7 +34,7 @@ REPORT_BUGS_TO=tz@iana.org + + # Specify default values for environment variables if they are unset. + : ${AWK=awk} +-: ${TZDIR=`pwd`} ++: ${TZDIR=$(pwd)} + + # Output one argument as-is to standard output. + # Safer than 'echo', which can mishandle '\' or leading '-'. diff --git a/poky/meta/recipes-core/glibc/glibc/0018-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0018-Remove-bash-dependency-for-nscd-init-script.patch new file mode 100644 index 000000000..23296da61 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0018-Remove-bash-dependency-for-nscd-init-script.patch @@ -0,0 +1,72 @@ +From 412d33bbfe42a10a9b1f62afcc73fe121a0363b0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 31 Dec 2015 14:33:02 -0800 +Subject: [PATCH] Remove bash dependency for nscd init script + +The nscd init script uses #! /bin/bash but only really uses one bashism +(translated strings), so remove them and switch the shell to #!/bin/sh. + +Upstream-Status: Pending + +Signed-off-by: Ross Burton +Signed-off-by: Khem Raj +--- + nscd/nscd.init | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/nscd/nscd.init b/nscd/nscd.init +index a882da7d8b..b02986ec15 100644 +--- a/nscd/nscd.init ++++ b/nscd/nscd.init +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # nscd: Starts the Name Switch Cache Daemon + # +@@ -49,7 +49,7 @@ prog=nscd + start () { + [ -d /var/run/nscd ] || mkdir /var/run/nscd + [ -d /var/db/nscd ] || mkdir /var/db/nscd +- echo -n $"Starting $prog: " ++ echo -n "Starting $prog: " + daemon /usr/sbin/nscd + RETVAL=$? + echo +@@ -58,7 +58,7 @@ start () { + } + + stop () { +- echo -n $"Stopping $prog: " ++ echo -n "Stopping $prog: " + /usr/sbin/nscd -K + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +@@ -67,9 +67,9 @@ stop () { + # a non-privileged user + rm -f /var/run/nscd/nscd.pid + rm -f /var/run/nscd/socket +- success $"$prog shutdown" ++ success "$prog shutdown" + else +- failure $"$prog shutdown" ++ failure "$prog shutdown" + fi + echo + return $RETVAL +@@ -103,13 +103,13 @@ case "$1" in + RETVAL=$? + ;; + force-reload | reload) +- echo -n $"Reloading $prog: " ++ echo -n "Reloading $prog: " + killproc /usr/sbin/nscd -HUP + RETVAL=$? + echo + ;; + *) +- echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" ++ echo "Usage: $0 {start|stop|status|restart|reload|condrestart}" + RETVAL=1 + ;; + esac diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch deleted file mode 100644 index 826e5af46..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch +++ /dev/null @@ -1,616 +0,0 @@ -From 060ba13b5ac5e90517d540f009ebdcdcf62f9685 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:42:58 +0000 -Subject: [PATCH] eglibc: Cross building and testing instructions - -Ported from eglibc -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - GLIBC.cross-building | 383 +++++++++++++++++++++++++++++++++++++++++++ - GLIBC.cross-testing | 205 +++++++++++++++++++++++ - 2 files changed, 588 insertions(+) - create mode 100644 GLIBC.cross-building - create mode 100644 GLIBC.cross-testing - -diff --git a/GLIBC.cross-building b/GLIBC.cross-building -new file mode 100644 -index 0000000000..e6e0da1aaf ---- /dev/null -+++ b/GLIBC.cross-building -@@ -0,0 +1,383 @@ -+ -*- mode: text -*- -+ -+ Cross-Compiling GLIBC -+ Jim Blandy -+ -+ -+Introduction -+ -+Most GNU tools have a simple build procedure: you run their -+'configure' script, and then you run 'make'. Unfortunately, the -+process of cross-compiling the GNU C library is quite a bit more -+involved: -+ -+1) Build a cross-compiler, with certain facilities disabled. -+ -+2) Configure the C library using the compiler you built in step 1). -+ Build a few of the C run-time object files, but not the rest of the -+ library. Install the library's header files and the run-time -+ object files, and create a dummy libc.so. -+ -+3) Build a second cross-compiler, using the header files and object -+ files you installed in step 2. -+ -+4) Configure, build, and install a fresh C library, using the compiler -+ built in step 3. -+ -+5) Build a third cross-compiler, based on the C library built in step 4. -+ -+The reason for this complexity is that, although GCC and the GNU C -+library are distributed separately, they are not actually independent -+of each other: GCC requires the C library's headers and some object -+files to compile its own libraries, while the C library depends on -+GCC's libraries. GLIBC includes features and bug fixes to the stock -+GNU C library that simplify this process, but the fundamental -+interdependency stands. -+ -+In this document, we explain how to cross-compile an GLIBC/GCC pair -+from source. Our intended audience is developers who are already -+familiar with the GNU toolchain and comfortable working with -+cross-development tools. While we do present a worked example to -+accompany the explanation, for clarity's sake we do not cover many of -+the options available to cross-toolchain users. -+ -+ -+Preparation -+ -+GLIBC requires recent versions of the GNU binutils, GCC, and the -+Linux kernel. The web page -+documents the current requirements, and lists patches needed for -+certain target architectures. As of this writing, these build -+instructions have been tested with binutils 2.22.51, GCC 4.6.2, -+and Linux 3.1. -+ -+First, let's set some variables, to simplify later commands. We'll -+build GLIBC and GCC for an ARM target, known to the Linux kernel -+as 'arm', and we'll do the build on an Intel x86_64 Linux box: -+ -+ $ build=x86_64-pc-linux-gnu -+ $ host=$build -+ $ target=arm-none-linux-gnueabi -+ $ linux_arch=arm -+ -+We're using the aforementioned versions of Binutils, GCC, and Linux: -+ -+ $ binutilsv=binutils-2.22.51 -+ $ gccv=gcc-4.6.2 -+ $ linuxv=linux-3.1 -+ -+We're carrying out the entire process under '~/cross-build', which -+contains unpacked source trees for binutils, gcc, and linux kernel, -+along with GLIBC svn trunk (which can be checked-out with -+'svn co http://www.eglibc.org/svn/trunk eglibc'): -+ -+ $ top=$HOME/cross-build/$target -+ $ src=$HOME/cross-build/src -+ $ ls $src -+ binutils-2.22.51 glibc gcc-4.6.2 linux-3.1 -+ -+We're going to place our build directories in a subdirectory 'obj', -+we'll install the cross-development toolchain in 'tools', and we'll -+place our sysroot (containing files to be installed on the target -+system) in 'sysroot': -+ -+ $ obj=$top/obj -+ $ tools=$top/tools -+ $ sysroot=$top/sysroot -+ -+ -+Binutils -+ -+Configuring and building binutils for the target is straightforward: -+ -+ $ mkdir -p $obj/binutils -+ $ cd $obj/binutils -+ $ $src/$binutilsv/configure \ -+ > --target=$target \ -+ > --prefix=$tools \ -+ > --with-sysroot=$sysroot -+ $ make -+ $ make install -+ -+ -+The First GCC -+ -+For our work, we need a cross-compiler targeting an ARM Linux -+system. However, that configuration includes the shared library -+'libgcc_s.so', which is compiled against the GLIBC headers (which we -+haven't installed yet) and linked against 'libc.so' (which we haven't -+built yet). -+ -+Fortunately, there are configuration options for GCC which tell it not -+to build 'libgcc_s.so'. The '--without-headers' option is supposed to -+take care of this, but its implementation is incomplete, so you must -+also configure with the '--with-newlib' option. While '--with-newlib' -+appears to mean "Use the Newlib C library", its effect is to tell the -+GCC build machinery, "Don't assume there is a C library available." -+ -+We also need to disable some of the libraries that would normally be -+built along with GCC, and specify that only the compiler for the C -+language is needed. -+ -+So, we create a build directory, configure, make, and install. -+ -+ $ mkdir -p $obj/gcc1 -+ $ cd $obj/gcc1 -+ $ $src/$gccv/configure \ -+ > --target=$target \ -+ > --prefix=$tools \ -+ > --without-headers --with-newlib \ -+ > --disable-shared --disable-threads --disable-libssp \ -+ > --disable-libgomp --disable-libmudflap --disable-libquadmath \ -+ > --disable-decimal-float --disable-libffi \ -+ > --enable-languages=c -+ $ PATH=$tools/bin:$PATH make -+ $ PATH=$tools/bin:$PATH make install -+ -+ -+Linux Kernel Headers -+ -+To configure GLIBC, we also need Linux kernel headers in place. -+Fortunately, the Linux makefiles have a target that installs them for -+us. Since the process does modify the source tree a bit, we make a -+copy first: -+ -+ $ cp -r $src/$linuxv $obj/linux -+ $ cd $obj/linux -+ -+Now we're ready to install the headers into the sysroot: -+ -+ $ PATH=$tools/bin:$PATH \ -+ > make headers_install \ -+ > ARCH=$linux_arch CROSS_COMPILE=$target- \ -+ > INSTALL_HDR_PATH=$sysroot/usr -+ -+ -+GLIBC Headers and Preliminary Objects -+ -+Using the cross-compiler we've just built, we can now configure GLIBC -+well enough to install the headers and build the object files that the -+full cross-compiler will need: -+ -+ $ mkdir -p $obj/glibc-headers -+ $ cd $obj/glibc-headers -+ $ BUILD_CC=gcc \ -+ > CC=$tools/bin/$target-gcc \ -+ > CXX=$tools/bin/$target-g++ \ -+ > AR=$tools/bin/$target-ar \ -+ > RANLIB=$tools/bin/$target-ranlib \ -+ > $src/glibc/libc/configure \ -+ > --prefix=/usr \ -+ > --with-headers=$sysroot/usr/include \ -+ > --build=$build \ -+ > --host=$target \ -+ > --disable-profile --without-gd --without-cvs \ -+ > --enable-add-ons=nptl,libidn,../ports -+ -+The option '--prefix=/usr' may look strange, but you should never -+configure GLIBC with a prefix other than '/usr': in various places, -+GLIBC's build system checks whether the prefix is '/usr', and does -+special handling only if that is the case. Unless you use this -+prefix, you will get a sysroot that does not use the standard Linux -+directory layouts and cannot be used as a basis for the root -+filesystem on your target system compatibly with normal GLIBC -+installations. -+ -+The '--with-headers' option tells GLIBC where the Linux headers have -+been installed. -+ -+The '--enable-add-ons=nptl,libidn,../ports' option tells GLIBC to look -+for the listed glibc add-ons. Most notably the ports add-on (located -+just above the libc sources in the GLIBC svn tree) is required to -+support ARM targets. -+ -+We can now use the 'install-headers' makefile target to install the -+headers: -+ -+ $ make install-headers install_root=$sysroot \ -+ > install-bootstrap-headers=yes -+ -+The 'install_root' variable indicates where the files should actually -+be installed; its value is treated as the parent of the '--prefix' -+directory we passed to the configure script, so the headers will go in -+'$sysroot/usr/include'. The 'install-bootstrap-headers' variable -+requests special handling for certain tricky header files. -+ -+Next, there are a few object files needed to link shared libraries, -+which we build and install by hand: -+ -+ $ mkdir -p $sysroot/usr/lib -+ $ make csu/subdir_lib -+ $ cp csu/crt1.o csu/crti.o csu/crtn.o $sysroot/usr/lib -+ -+Finally, 'libgcc_s.so' requires a 'libc.so' to link against. However, -+since we will never actually execute its code, it doesn't matter what -+it contains. So, treating '/dev/null' as a C source file, we produce -+a dummy 'libc.so' in one step: -+ -+ $ $tools/bin/$target-gcc -nostdlib -nostartfiles -shared -x c /dev/null \ -+ > -o $sysroot/usr/lib/libc.so -+ -+ -+The Second GCC -+ -+With the GLIBC headers and selected object files installed, we can -+now build a GCC that is capable of compiling GLIBC. We configure, -+build, and install the second GCC, again building only the C compiler, -+and avoiding libraries we won't use: -+ -+ $ mkdir -p $obj/gcc2 -+ $ cd $obj/gcc2 -+ $ $src/$gccv/configure \ -+ > --target=$target \ -+ > --prefix=$tools \ -+ > --with-sysroot=$sysroot \ -+ > --disable-libssp --disable-libgomp --disable-libmudflap \ -+ > --disable-libffi --disable-libquadmath \ -+ > --enable-languages=c -+ $ PATH=$tools/bin:$PATH make -+ $ PATH=$tools/bin:$PATH make install -+ -+ -+GLIBC, Complete -+ -+With the second compiler built and installed, we're now ready for the -+full GLIBC build: -+ -+ $ mkdir -p $obj/glibc -+ $ cd $obj/glibc -+ $ BUILD_CC=gcc \ -+ > CC=$tools/bin/$target-gcc \ -+ > CXX=$tools/bin/$target-g++ \ -+ > AR=$tools/bin/$target-ar \ -+ > RANLIB=$tools/bin/$target-ranlib \ -+ > $src/glibc/libc/configure \ -+ > --prefix=/usr \ -+ > --with-headers=$sysroot/usr/include \ -+ > --with-kconfig=$obj/linux/scripts/kconfig \ -+ > --build=$build \ -+ > --host=$target \ -+ > --disable-profile --without-gd --without-cvs \ -+ > --enable-add-ons=nptl,libidn,../ports -+ -+Note the additional '--with-kconfig' option. This tells GLIBC where to -+find the host config tools used by the kernel 'make config' and 'make -+menuconfig'. These tools can be re-used by GLIBC for its own 'make -+*config' support, which will create 'option-groups.config' for you. -+But first make sure those tools have been built by running some -+dummy 'make *config' calls in the kernel directory: -+ -+ $ cd $obj/linux -+ $ PATH=$tools/bin:$PATH make config \ -+ > ARCH=$linux_arch CROSS_COMPILE=$target- \ -+ $ PATH=$tools/bin:$PATH make menuconfig \ -+ > ARCH=$linux_arch CROSS_COMPILE=$target- \ -+ -+Now we can configure and build the full GLIBC: -+ -+ $ cd $obj/glibc -+ $ PATH=$tools/bin:$PATH make defconfig -+ $ PATH=$tools/bin:$PATH make menuconfig -+ $ PATH=$tools/bin:$PATH make -+ $ PATH=$tools/bin:$PATH make install install_root=$sysroot -+ -+At this point, we have a complete GLIBC installation in '$sysroot', -+with header files, library files, and most of the C runtime startup -+files in place. -+ -+ -+The Third GCC -+ -+Finally, we recompile GCC against this full installation, enabling -+whatever languages and libraries we would like to use: -+ -+ $ mkdir -p $obj/gcc3 -+ $ cd $obj/gcc3 -+ $ $src/$gccv/configure \ -+ > --target=$target \ -+ > --prefix=$tools \ -+ > --with-sysroot=$sysroot \ -+ > --enable-__cxa_atexit \ -+ > --disable-libssp --disable-libgomp --disable-libmudflap \ -+ > --enable-languages=c,c++ -+ $ PATH=$tools/bin:$PATH make -+ $ PATH=$tools/bin:$PATH make install -+ -+The '--enable-__cxa_atexit' option tells GCC what sort of C++ -+destructor support to expect from the C library; it's required with -+GLIBC. -+ -+And since GCC's installation process isn't designed to help construct -+sysroot trees, we must manually copy certain libraries into place in -+the sysroot. -+ -+ $ cp -d $tools/$target/lib/libgcc_s.so* $sysroot/lib -+ $ cp -d $tools/$target/lib/libstdc++.so* $sysroot/usr/lib -+ -+ -+Trying Things Out -+ -+At this point, '$tools' contains a cross toolchain ready to use -+the GLIBC installation in '$sysroot': -+ -+ $ cat > hello.c < #include -+ > int -+ > main (int argc, char **argv) -+ > { -+ > puts ("Hello, world!"); -+ > return 0; -+ > } -+ > EOF -+ $ $tools/bin/$target-gcc -Wall hello.c -o hello -+ $ cat > c++-hello.cc < #include -+ > int -+ > main (int argc, char **argv) -+ > { -+ > std::cout << "Hello, C++ world!" << std::endl; -+ > return 0; -+ > } -+ > EOF -+ $ $tools/bin/$target-g++ -Wall c++-hello.cc -o c++-hello -+ -+ -+We can use 'readelf' to verify that these are indeed executables for -+our target, using our dynamic linker: -+ -+ $ $tools/bin/$target-readelf -hl hello -+ ELF Header: -+ ... -+ Type: EXEC (Executable file) -+ Machine: ARM -+ -+ ... -+ Program Headers: -+ Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align -+ PHDR 0x000034 0x10000034 0x10000034 0x00100 0x00100 R E 0x4 -+ INTERP 0x000134 0x00008134 0x00008134 0x00013 0x00013 R 0x1 -+ [Requesting program interpreter: /lib/ld-linux.so.3] -+ LOAD 0x000000 0x00008000 0x00008000 0x0042c 0x0042c R E 0x8000 -+ ... -+ -+Looking at the dynamic section of the installed 'libgcc_s.so', we see -+that the 'NEEDED' entry for the C library does include the '.6' -+suffix, indicating that was linked against our fully build GLIBC, and -+not our dummy 'libc.so': -+ -+ $ $tools/bin/$target-readelf -d $sysroot/lib/libgcc_s.so.1 -+ Dynamic section at offset 0x1083c contains 24 entries: -+ Tag Type Name/Value -+ 0x00000001 (NEEDED) Shared library: [libc.so.6] -+ 0x0000000e (SONAME) Library soname: [libgcc_s.so.1] -+ ... -+ -+ -+And on the target machine, we can run our programs: -+ -+ $ $sysroot/lib/ld.so.1 --library-path $sysroot/lib:$sysroot/usr/lib \ -+ > ./hello -+ Hello, world! -+ $ $sysroot/lib/ld.so.1 --library-path $sysroot/lib:$sysroot/usr/lib \ -+ > ./c++-hello -+ Hello, C++ world! -diff --git a/GLIBC.cross-testing b/GLIBC.cross-testing -new file mode 100644 -index 0000000000..b67b468466 ---- /dev/null -+++ b/GLIBC.cross-testing -@@ -0,0 +1,205 @@ -+ -*- mode: text -*- -+ -+ Cross-Testing With GLIBC -+ Jim Blandy -+ -+ -+Introduction -+ -+Developers writing software for embedded systems often use a desktop -+or other similarly capable computer for development, but need to run -+tests on the embedded system, or perhaps on a simulator. When -+configured for cross-compilation, the stock GNU C library simply -+disables running tests altogether: the command 'make tests' builds -+test programs, but does not run them. GLIBC, however, provides -+facilities for compiling tests and generating data files on the build -+system, but running the test programs themselves on a remote system or -+simulator. -+ -+ -+Test environment requirements -+ -+The test environment must meet certain conditions for GLIBC's -+cross-testing facilities to work: -+ -+- Shared filesystems. The 'build' system, on which you configure and -+ compile GLIBC, and the 'host' system, on which you intend to run -+ GLIBC, must share a filesystem containing the GLIBC build and -+ source trees. Files must appear at the same paths on both systems. -+ -+- Remote-shell like invocation. There must be a way to run a program -+ on the host system from the build system, passing it properly quoted -+ command-line arguments, setting environment variables, and -+ inheriting the caller's standard input and output. -+ -+ -+Usage -+ -+To use GLIBC's cross-testing support, provide values for the -+following Make variables when you invoke 'make': -+ -+- cross-test-wrapper -+ -+ This should be the name of the cross-testing wrapper command, along -+ with any arguments. -+ -+- cross-localedef -+ -+ This should be the name of a cross-capable localedef program, like -+ that included in the GLIBC 'localedef' module, along with any -+ arguments needed. -+ -+These are each explained in detail below. -+ -+ -+The Cross-Testing Wrapper -+ -+To run test programs reliably, the stock GNU C library takes care to -+ensure that test programs use the newly compiled dynamic linker and -+shared libraries, and never the host system's installed libraries. To -+accomplish this, it runs the tests by explicitly invoking the dynamic -+linker from the build tree, passing it a list of build tree -+directories to search for shared libraries, followed by the name of -+the executable to run and its arguments. -+ -+For example, where one might normally run a test program like this: -+ -+ $ ./tst-foo arg1 arg2 -+ -+the GNU C library might run that program like this: -+ -+ $ $objdir/elf/ld-linux.so.3 --library-path $objdir \ -+ ./tst-foo arg1 arg2 -+ -+(where $objdir is the path to the top of the build tree, and the -+trailing backslash indicates a continuation of the command). In other -+words, each test program invocation is 'wrapped up' inside an explicit -+invocation of the dynamic linker, which must itself execute the test -+program, having loaded shared libraries from the appropriate -+directories. -+ -+To support cross-testing, GLIBC allows the developer to optionally -+set the 'cross-test-wrapper' Make variable to another wrapper command, -+to which it passes the entire dynamic linker invocation shown above as -+arguments. For example, if the developer supplies a wrapper of -+'my-wrapper hostname', then GLIBC would run the test above as -+follows: -+ -+ $ my-wrapper hostname \ -+ $objdir/elf/ld-linux.so.3 --library-path $objdir \ -+ ./tst-foo arg1 arg2 -+ -+The 'my-wrapper' command is responsible for executing the command -+given on the host system. -+ -+Since tests are run in varying directories, the wrapper should either -+be in your command search path, or 'cross-test-wrapper' should give an -+absolute path for the wrapper. -+ -+The wrapper must meet several requirements: -+ -+- It must preserve the current directory. As explained above, the -+ build directory tree must be visible on both the build and host -+ systems, at the same path. The test wrapper must ensure that the -+ current directory it inherits is also inherited by the dynamic -+ linker (and thus the test program itself). -+ -+- It must preserve environment variables' values. Many GLIBC tests -+ set environment variables for test runs; in native testing, it -+ invokes programs like this: -+ -+ $ GCONV_PATH=$objdir/iconvdata \ -+ $objdir/elf/ld-linux.so.3 --library-path $objdir \ -+ ./tst-foo arg1 arg2 -+ -+ With the cross-testing wrapper, that invocation becomes: -+ -+ $ GCONV_PATH=$objdir/iconvdata \ -+ my-wrapper hostname \ -+ $objdir/elf/ld-linux.so.3 --library-path $objdir \ -+ ./tst-foo arg1 arg2 -+ -+ Here, 'my-wrapper' must ensure that the value it sees for -+ 'GCONV_PATH' will be seen by the dynamic linker, and thus 'tst-foo' -+ itself. (The wrapper supplied with GLIBC simply preserves the -+ values of *all* enviroment variables, with a fixed set of -+ exceptions.) -+ -+ If your wrapper is a shell script, take care to correctly propagate -+ environment variables whose values contain spaces and shell -+ metacharacters. -+ -+- It must pass the command's arguments, unmodified. The arguments -+ seen by the test program should be exactly those seen by the wrapper -+ (after whatever arguments are given to the wrapper itself). The -+ GLIBC test framework performs all needed shell word splitting and -+ expansion (wildcard expansion, parameter substitution, and so on) -+ before invoking the wrapper; further expansion may break the tests. -+ -+ -+The 'cross-test-ssh.sh' script -+ -+If you want to use 'ssh' (or something sufficiently similar) to run -+test programs on your host system, GLIBC includes a shell script, -+'scripts/cross-test-ssh.sh', which you can use as your wrapper -+command. This script takes care of setting the test command's current -+directory, propagating environment variable values, and carrying -+command-line arguments, all across an 'ssh' connection. You may even -+supply an alternative to 'ssh' on the command line, if needed. -+ -+For more details, pass 'cross-test-ssh.sh' the '--help' option. -+ -+ -+The Cross-Compiling Locale Definition Command -+ -+Some GLIBC tests rely on locales generated especially for the test -+process. In a native configuration, these tests simply run the -+'localedef' command built by the normal GLIBC build process, -+'locale/localedef', to process and install their locales. However, in -+a cross-compiling configuration, this 'localedef' is built for the -+host system, not the build system, and since it requires quite a bit -+of memory to run (we have seen it fail on systems with 64MiB of -+memory), it may not be practical to run it on the host system. -+ -+If set, GLIBC uses the 'cross-localedef' Make variable as the command -+to run on the build system to process and install locales. The -+localedef program built from the GLIBC 'localedef' module is -+suitable. -+ -+The value of 'cross-localedef' may also include command-line arguments -+to be passed to the program; if you are using GLIBC's 'localedef', -+you may include endianness and 'uint32_t' alignment arguments here. -+ -+ -+Example -+ -+In developing GLIBC's cross-testing facility, we invoked 'make' with -+the following script: -+ -+ #!/bin/sh -+ -+ srcdir=... -+ test_hostname=... -+ localedefdir=... -+ cross_gxx=...-g++ -+ -+ wrapper="$srcdir/scripts/cross-test-ssh.sh $test_hostname" -+ localedef="$localedefdir/localedef --little-endian --uint32-align=4" -+ -+ make cross-test-wrapper="$wrapper" \ -+ cross-localedef="$localedef" \ -+ CXX="$cross_gxx" \ -+ "$@" -+ -+ -+Other Cross-Testing Concerns -+ -+Here are notes on some other issues which you may encounter in running -+the GLIBC tests in a cross-compiling environment: -+ -+- Some tests require a C++ cross-compiler; you should set the 'CXX' -+ Make variable to the name of an appropriate cross-compiler. -+ -+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we -+ simply place copies of these libraries in the top GLIBC build -+ directory. diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Cross-building-and-testing-instructions.patch new file mode 100644 index 000000000..8fb9182d9 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Cross-building-and-testing-instructions.patch @@ -0,0 +1,616 @@ +From db9674ffc6583a508da1a3cb044c3ccf3febaea1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:42:58 +0000 +Subject: [PATCH] eglibc: Cross building and testing instructions + +Ported from eglibc +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + GLIBC.cross-building | 383 +++++++++++++++++++++++++++++++++++++++++++ + GLIBC.cross-testing | 205 +++++++++++++++++++++++ + 2 files changed, 588 insertions(+) + create mode 100644 GLIBC.cross-building + create mode 100644 GLIBC.cross-testing + +diff --git a/GLIBC.cross-building b/GLIBC.cross-building +new file mode 100644 +index 0000000000..e6e0da1aaf +--- /dev/null ++++ b/GLIBC.cross-building +@@ -0,0 +1,383 @@ ++ -*- mode: text -*- ++ ++ Cross-Compiling GLIBC ++ Jim Blandy ++ ++ ++Introduction ++ ++Most GNU tools have a simple build procedure: you run their ++'configure' script, and then you run 'make'. Unfortunately, the ++process of cross-compiling the GNU C library is quite a bit more ++involved: ++ ++1) Build a cross-compiler, with certain facilities disabled. ++ ++2) Configure the C library using the compiler you built in step 1). ++ Build a few of the C run-time object files, but not the rest of the ++ library. Install the library's header files and the run-time ++ object files, and create a dummy libc.so. ++ ++3) Build a second cross-compiler, using the header files and object ++ files you installed in step 2. ++ ++4) Configure, build, and install a fresh C library, using the compiler ++ built in step 3. ++ ++5) Build a third cross-compiler, based on the C library built in step 4. ++ ++The reason for this complexity is that, although GCC and the GNU C ++library are distributed separately, they are not actually independent ++of each other: GCC requires the C library's headers and some object ++files to compile its own libraries, while the C library depends on ++GCC's libraries. GLIBC includes features and bug fixes to the stock ++GNU C library that simplify this process, but the fundamental ++interdependency stands. ++ ++In this document, we explain how to cross-compile an GLIBC/GCC pair ++from source. Our intended audience is developers who are already ++familiar with the GNU toolchain and comfortable working with ++cross-development tools. While we do present a worked example to ++accompany the explanation, for clarity's sake we do not cover many of ++the options available to cross-toolchain users. ++ ++ ++Preparation ++ ++GLIBC requires recent versions of the GNU binutils, GCC, and the ++Linux kernel. The web page ++documents the current requirements, and lists patches needed for ++certain target architectures. As of this writing, these build ++instructions have been tested with binutils 2.22.51, GCC 4.6.2, ++and Linux 3.1. ++ ++First, let's set some variables, to simplify later commands. We'll ++build GLIBC and GCC for an ARM target, known to the Linux kernel ++as 'arm', and we'll do the build on an Intel x86_64 Linux box: ++ ++ $ build=x86_64-pc-linux-gnu ++ $ host=$build ++ $ target=arm-none-linux-gnueabi ++ $ linux_arch=arm ++ ++We're using the aforementioned versions of Binutils, GCC, and Linux: ++ ++ $ binutilsv=binutils-2.22.51 ++ $ gccv=gcc-4.6.2 ++ $ linuxv=linux-3.1 ++ ++We're carrying out the entire process under '~/cross-build', which ++contains unpacked source trees for binutils, gcc, and linux kernel, ++along with GLIBC svn trunk (which can be checked-out with ++'svn co http://www.eglibc.org/svn/trunk eglibc'): ++ ++ $ top=$HOME/cross-build/$target ++ $ src=$HOME/cross-build/src ++ $ ls $src ++ binutils-2.22.51 glibc gcc-4.6.2 linux-3.1 ++ ++We're going to place our build directories in a subdirectory 'obj', ++we'll install the cross-development toolchain in 'tools', and we'll ++place our sysroot (containing files to be installed on the target ++system) in 'sysroot': ++ ++ $ obj=$top/obj ++ $ tools=$top/tools ++ $ sysroot=$top/sysroot ++ ++ ++Binutils ++ ++Configuring and building binutils for the target is straightforward: ++ ++ $ mkdir -p $obj/binutils ++ $ cd $obj/binutils ++ $ $src/$binutilsv/configure \ ++ > --target=$target \ ++ > --prefix=$tools \ ++ > --with-sysroot=$sysroot ++ $ make ++ $ make install ++ ++ ++The First GCC ++ ++For our work, we need a cross-compiler targeting an ARM Linux ++system. However, that configuration includes the shared library ++'libgcc_s.so', which is compiled against the GLIBC headers (which we ++haven't installed yet) and linked against 'libc.so' (which we haven't ++built yet). ++ ++Fortunately, there are configuration options for GCC which tell it not ++to build 'libgcc_s.so'. The '--without-headers' option is supposed to ++take care of this, but its implementation is incomplete, so you must ++also configure with the '--with-newlib' option. While '--with-newlib' ++appears to mean "Use the Newlib C library", its effect is to tell the ++GCC build machinery, "Don't assume there is a C library available." ++ ++We also need to disable some of the libraries that would normally be ++built along with GCC, and specify that only the compiler for the C ++language is needed. ++ ++So, we create a build directory, configure, make, and install. ++ ++ $ mkdir -p $obj/gcc1 ++ $ cd $obj/gcc1 ++ $ $src/$gccv/configure \ ++ > --target=$target \ ++ > --prefix=$tools \ ++ > --without-headers --with-newlib \ ++ > --disable-shared --disable-threads --disable-libssp \ ++ > --disable-libgomp --disable-libmudflap --disable-libquadmath \ ++ > --disable-decimal-float --disable-libffi \ ++ > --enable-languages=c ++ $ PATH=$tools/bin:$PATH make ++ $ PATH=$tools/bin:$PATH make install ++ ++ ++Linux Kernel Headers ++ ++To configure GLIBC, we also need Linux kernel headers in place. ++Fortunately, the Linux makefiles have a target that installs them for ++us. Since the process does modify the source tree a bit, we make a ++copy first: ++ ++ $ cp -r $src/$linuxv $obj/linux ++ $ cd $obj/linux ++ ++Now we're ready to install the headers into the sysroot: ++ ++ $ PATH=$tools/bin:$PATH \ ++ > make headers_install \ ++ > ARCH=$linux_arch CROSS_COMPILE=$target- \ ++ > INSTALL_HDR_PATH=$sysroot/usr ++ ++ ++GLIBC Headers and Preliminary Objects ++ ++Using the cross-compiler we've just built, we can now configure GLIBC ++well enough to install the headers and build the object files that the ++full cross-compiler will need: ++ ++ $ mkdir -p $obj/glibc-headers ++ $ cd $obj/glibc-headers ++ $ BUILD_CC=gcc \ ++ > CC=$tools/bin/$target-gcc \ ++ > CXX=$tools/bin/$target-g++ \ ++ > AR=$tools/bin/$target-ar \ ++ > RANLIB=$tools/bin/$target-ranlib \ ++ > $src/glibc/libc/configure \ ++ > --prefix=/usr \ ++ > --with-headers=$sysroot/usr/include \ ++ > --build=$build \ ++ > --host=$target \ ++ > --disable-profile --without-gd --without-cvs \ ++ > --enable-add-ons=nptl,libidn,../ports ++ ++The option '--prefix=/usr' may look strange, but you should never ++configure GLIBC with a prefix other than '/usr': in various places, ++GLIBC's build system checks whether the prefix is '/usr', and does ++special handling only if that is the case. Unless you use this ++prefix, you will get a sysroot that does not use the standard Linux ++directory layouts and cannot be used as a basis for the root ++filesystem on your target system compatibly with normal GLIBC ++installations. ++ ++The '--with-headers' option tells GLIBC where the Linux headers have ++been installed. ++ ++The '--enable-add-ons=nptl,libidn,../ports' option tells GLIBC to look ++for the listed glibc add-ons. Most notably the ports add-on (located ++just above the libc sources in the GLIBC svn tree) is required to ++support ARM targets. ++ ++We can now use the 'install-headers' makefile target to install the ++headers: ++ ++ $ make install-headers install_root=$sysroot \ ++ > install-bootstrap-headers=yes ++ ++The 'install_root' variable indicates where the files should actually ++be installed; its value is treated as the parent of the '--prefix' ++directory we passed to the configure script, so the headers will go in ++'$sysroot/usr/include'. The 'install-bootstrap-headers' variable ++requests special handling for certain tricky header files. ++ ++Next, there are a few object files needed to link shared libraries, ++which we build and install by hand: ++ ++ $ mkdir -p $sysroot/usr/lib ++ $ make csu/subdir_lib ++ $ cp csu/crt1.o csu/crti.o csu/crtn.o $sysroot/usr/lib ++ ++Finally, 'libgcc_s.so' requires a 'libc.so' to link against. However, ++since we will never actually execute its code, it doesn't matter what ++it contains. So, treating '/dev/null' as a C source file, we produce ++a dummy 'libc.so' in one step: ++ ++ $ $tools/bin/$target-gcc -nostdlib -nostartfiles -shared -x c /dev/null \ ++ > -o $sysroot/usr/lib/libc.so ++ ++ ++The Second GCC ++ ++With the GLIBC headers and selected object files installed, we can ++now build a GCC that is capable of compiling GLIBC. We configure, ++build, and install the second GCC, again building only the C compiler, ++and avoiding libraries we won't use: ++ ++ $ mkdir -p $obj/gcc2 ++ $ cd $obj/gcc2 ++ $ $src/$gccv/configure \ ++ > --target=$target \ ++ > --prefix=$tools \ ++ > --with-sysroot=$sysroot \ ++ > --disable-libssp --disable-libgomp --disable-libmudflap \ ++ > --disable-libffi --disable-libquadmath \ ++ > --enable-languages=c ++ $ PATH=$tools/bin:$PATH make ++ $ PATH=$tools/bin:$PATH make install ++ ++ ++GLIBC, Complete ++ ++With the second compiler built and installed, we're now ready for the ++full GLIBC build: ++ ++ $ mkdir -p $obj/glibc ++ $ cd $obj/glibc ++ $ BUILD_CC=gcc \ ++ > CC=$tools/bin/$target-gcc \ ++ > CXX=$tools/bin/$target-g++ \ ++ > AR=$tools/bin/$target-ar \ ++ > RANLIB=$tools/bin/$target-ranlib \ ++ > $src/glibc/libc/configure \ ++ > --prefix=/usr \ ++ > --with-headers=$sysroot/usr/include \ ++ > --with-kconfig=$obj/linux/scripts/kconfig \ ++ > --build=$build \ ++ > --host=$target \ ++ > --disable-profile --without-gd --without-cvs \ ++ > --enable-add-ons=nptl,libidn,../ports ++ ++Note the additional '--with-kconfig' option. This tells GLIBC where to ++find the host config tools used by the kernel 'make config' and 'make ++menuconfig'. These tools can be re-used by GLIBC for its own 'make ++*config' support, which will create 'option-groups.config' for you. ++But first make sure those tools have been built by running some ++dummy 'make *config' calls in the kernel directory: ++ ++ $ cd $obj/linux ++ $ PATH=$tools/bin:$PATH make config \ ++ > ARCH=$linux_arch CROSS_COMPILE=$target- \ ++ $ PATH=$tools/bin:$PATH make menuconfig \ ++ > ARCH=$linux_arch CROSS_COMPILE=$target- \ ++ ++Now we can configure and build the full GLIBC: ++ ++ $ cd $obj/glibc ++ $ PATH=$tools/bin:$PATH make defconfig ++ $ PATH=$tools/bin:$PATH make menuconfig ++ $ PATH=$tools/bin:$PATH make ++ $ PATH=$tools/bin:$PATH make install install_root=$sysroot ++ ++At this point, we have a complete GLIBC installation in '$sysroot', ++with header files, library files, and most of the C runtime startup ++files in place. ++ ++ ++The Third GCC ++ ++Finally, we recompile GCC against this full installation, enabling ++whatever languages and libraries we would like to use: ++ ++ $ mkdir -p $obj/gcc3 ++ $ cd $obj/gcc3 ++ $ $src/$gccv/configure \ ++ > --target=$target \ ++ > --prefix=$tools \ ++ > --with-sysroot=$sysroot \ ++ > --enable-__cxa_atexit \ ++ > --disable-libssp --disable-libgomp --disable-libmudflap \ ++ > --enable-languages=c,c++ ++ $ PATH=$tools/bin:$PATH make ++ $ PATH=$tools/bin:$PATH make install ++ ++The '--enable-__cxa_atexit' option tells GCC what sort of C++ ++destructor support to expect from the C library; it's required with ++GLIBC. ++ ++And since GCC's installation process isn't designed to help construct ++sysroot trees, we must manually copy certain libraries into place in ++the sysroot. ++ ++ $ cp -d $tools/$target/lib/libgcc_s.so* $sysroot/lib ++ $ cp -d $tools/$target/lib/libstdc++.so* $sysroot/usr/lib ++ ++ ++Trying Things Out ++ ++At this point, '$tools' contains a cross toolchain ready to use ++the GLIBC installation in '$sysroot': ++ ++ $ cat > hello.c < #include ++ > int ++ > main (int argc, char **argv) ++ > { ++ > puts ("Hello, world!"); ++ > return 0; ++ > } ++ > EOF ++ $ $tools/bin/$target-gcc -Wall hello.c -o hello ++ $ cat > c++-hello.cc < #include ++ > int ++ > main (int argc, char **argv) ++ > { ++ > std::cout << "Hello, C++ world!" << std::endl; ++ > return 0; ++ > } ++ > EOF ++ $ $tools/bin/$target-g++ -Wall c++-hello.cc -o c++-hello ++ ++ ++We can use 'readelf' to verify that these are indeed executables for ++our target, using our dynamic linker: ++ ++ $ $tools/bin/$target-readelf -hl hello ++ ELF Header: ++ ... ++ Type: EXEC (Executable file) ++ Machine: ARM ++ ++ ... ++ Program Headers: ++ Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align ++ PHDR 0x000034 0x10000034 0x10000034 0x00100 0x00100 R E 0x4 ++ INTERP 0x000134 0x00008134 0x00008134 0x00013 0x00013 R 0x1 ++ [Requesting program interpreter: /lib/ld-linux.so.3] ++ LOAD 0x000000 0x00008000 0x00008000 0x0042c 0x0042c R E 0x8000 ++ ... ++ ++Looking at the dynamic section of the installed 'libgcc_s.so', we see ++that the 'NEEDED' entry for the C library does include the '.6' ++suffix, indicating that was linked against our fully build GLIBC, and ++not our dummy 'libc.so': ++ ++ $ $tools/bin/$target-readelf -d $sysroot/lib/libgcc_s.so.1 ++ Dynamic section at offset 0x1083c contains 24 entries: ++ Tag Type Name/Value ++ 0x00000001 (NEEDED) Shared library: [libc.so.6] ++ 0x0000000e (SONAME) Library soname: [libgcc_s.so.1] ++ ... ++ ++ ++And on the target machine, we can run our programs: ++ ++ $ $sysroot/lib/ld.so.1 --library-path $sysroot/lib:$sysroot/usr/lib \ ++ > ./hello ++ Hello, world! ++ $ $sysroot/lib/ld.so.1 --library-path $sysroot/lib:$sysroot/usr/lib \ ++ > ./c++-hello ++ Hello, C++ world! +diff --git a/GLIBC.cross-testing b/GLIBC.cross-testing +new file mode 100644 +index 0000000000..b67b468466 +--- /dev/null ++++ b/GLIBC.cross-testing +@@ -0,0 +1,205 @@ ++ -*- mode: text -*- ++ ++ Cross-Testing With GLIBC ++ Jim Blandy ++ ++ ++Introduction ++ ++Developers writing software for embedded systems often use a desktop ++or other similarly capable computer for development, but need to run ++tests on the embedded system, or perhaps on a simulator. When ++configured for cross-compilation, the stock GNU C library simply ++disables running tests altogether: the command 'make tests' builds ++test programs, but does not run them. GLIBC, however, provides ++facilities for compiling tests and generating data files on the build ++system, but running the test programs themselves on a remote system or ++simulator. ++ ++ ++Test environment requirements ++ ++The test environment must meet certain conditions for GLIBC's ++cross-testing facilities to work: ++ ++- Shared filesystems. The 'build' system, on which you configure and ++ compile GLIBC, and the 'host' system, on which you intend to run ++ GLIBC, must share a filesystem containing the GLIBC build and ++ source trees. Files must appear at the same paths on both systems. ++ ++- Remote-shell like invocation. There must be a way to run a program ++ on the host system from the build system, passing it properly quoted ++ command-line arguments, setting environment variables, and ++ inheriting the caller's standard input and output. ++ ++ ++Usage ++ ++To use GLIBC's cross-testing support, provide values for the ++following Make variables when you invoke 'make': ++ ++- cross-test-wrapper ++ ++ This should be the name of the cross-testing wrapper command, along ++ with any arguments. ++ ++- cross-localedef ++ ++ This should be the name of a cross-capable localedef program, like ++ that included in the GLIBC 'localedef' module, along with any ++ arguments needed. ++ ++These are each explained in detail below. ++ ++ ++The Cross-Testing Wrapper ++ ++To run test programs reliably, the stock GNU C library takes care to ++ensure that test programs use the newly compiled dynamic linker and ++shared libraries, and never the host system's installed libraries. To ++accomplish this, it runs the tests by explicitly invoking the dynamic ++linker from the build tree, passing it a list of build tree ++directories to search for shared libraries, followed by the name of ++the executable to run and its arguments. ++ ++For example, where one might normally run a test program like this: ++ ++ $ ./tst-foo arg1 arg2 ++ ++the GNU C library might run that program like this: ++ ++ $ $objdir/elf/ld-linux.so.3 --library-path $objdir \ ++ ./tst-foo arg1 arg2 ++ ++(where $objdir is the path to the top of the build tree, and the ++trailing backslash indicates a continuation of the command). In other ++words, each test program invocation is 'wrapped up' inside an explicit ++invocation of the dynamic linker, which must itself execute the test ++program, having loaded shared libraries from the appropriate ++directories. ++ ++To support cross-testing, GLIBC allows the developer to optionally ++set the 'cross-test-wrapper' Make variable to another wrapper command, ++to which it passes the entire dynamic linker invocation shown above as ++arguments. For example, if the developer supplies a wrapper of ++'my-wrapper hostname', then GLIBC would run the test above as ++follows: ++ ++ $ my-wrapper hostname \ ++ $objdir/elf/ld-linux.so.3 --library-path $objdir \ ++ ./tst-foo arg1 arg2 ++ ++The 'my-wrapper' command is responsible for executing the command ++given on the host system. ++ ++Since tests are run in varying directories, the wrapper should either ++be in your command search path, or 'cross-test-wrapper' should give an ++absolute path for the wrapper. ++ ++The wrapper must meet several requirements: ++ ++- It must preserve the current directory. As explained above, the ++ build directory tree must be visible on both the build and host ++ systems, at the same path. The test wrapper must ensure that the ++ current directory it inherits is also inherited by the dynamic ++ linker (and thus the test program itself). ++ ++- It must preserve environment variables' values. Many GLIBC tests ++ set environment variables for test runs; in native testing, it ++ invokes programs like this: ++ ++ $ GCONV_PATH=$objdir/iconvdata \ ++ $objdir/elf/ld-linux.so.3 --library-path $objdir \ ++ ./tst-foo arg1 arg2 ++ ++ With the cross-testing wrapper, that invocation becomes: ++ ++ $ GCONV_PATH=$objdir/iconvdata \ ++ my-wrapper hostname \ ++ $objdir/elf/ld-linux.so.3 --library-path $objdir \ ++ ./tst-foo arg1 arg2 ++ ++ Here, 'my-wrapper' must ensure that the value it sees for ++ 'GCONV_PATH' will be seen by the dynamic linker, and thus 'tst-foo' ++ itself. (The wrapper supplied with GLIBC simply preserves the ++ values of *all* enviroment variables, with a fixed set of ++ exceptions.) ++ ++ If your wrapper is a shell script, take care to correctly propagate ++ environment variables whose values contain spaces and shell ++ metacharacters. ++ ++- It must pass the command's arguments, unmodified. The arguments ++ seen by the test program should be exactly those seen by the wrapper ++ (after whatever arguments are given to the wrapper itself). The ++ GLIBC test framework performs all needed shell word splitting and ++ expansion (wildcard expansion, parameter substitution, and so on) ++ before invoking the wrapper; further expansion may break the tests. ++ ++ ++The 'cross-test-ssh.sh' script ++ ++If you want to use 'ssh' (or something sufficiently similar) to run ++test programs on your host system, GLIBC includes a shell script, ++'scripts/cross-test-ssh.sh', which you can use as your wrapper ++command. This script takes care of setting the test command's current ++directory, propagating environment variable values, and carrying ++command-line arguments, all across an 'ssh' connection. You may even ++supply an alternative to 'ssh' on the command line, if needed. ++ ++For more details, pass 'cross-test-ssh.sh' the '--help' option. ++ ++ ++The Cross-Compiling Locale Definition Command ++ ++Some GLIBC tests rely on locales generated especially for the test ++process. In a native configuration, these tests simply run the ++'localedef' command built by the normal GLIBC build process, ++'locale/localedef', to process and install their locales. However, in ++a cross-compiling configuration, this 'localedef' is built for the ++host system, not the build system, and since it requires quite a bit ++of memory to run (we have seen it fail on systems with 64MiB of ++memory), it may not be practical to run it on the host system. ++ ++If set, GLIBC uses the 'cross-localedef' Make variable as the command ++to run on the build system to process and install locales. The ++localedef program built from the GLIBC 'localedef' module is ++suitable. ++ ++The value of 'cross-localedef' may also include command-line arguments ++to be passed to the program; if you are using GLIBC's 'localedef', ++you may include endianness and 'uint32_t' alignment arguments here. ++ ++ ++Example ++ ++In developing GLIBC's cross-testing facility, we invoked 'make' with ++the following script: ++ ++ #!/bin/sh ++ ++ srcdir=... ++ test_hostname=... ++ localedefdir=... ++ cross_gxx=...-g++ ++ ++ wrapper="$srcdir/scripts/cross-test-ssh.sh $test_hostname" ++ localedef="$localedefdir/localedef --little-endian --uint32-align=4" ++ ++ make cross-test-wrapper="$wrapper" \ ++ cross-localedef="$localedef" \ ++ CXX="$cross_gxx" \ ++ "$@" ++ ++ ++Other Cross-Testing Concerns ++ ++Here are notes on some other issues which you may encounter in running ++the GLIBC tests in a cross-compiling environment: ++ ++- Some tests require a C++ cross-compiler; you should set the 'CXX' ++ Make variable to the name of an appropriate cross-compiler. ++ ++- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we ++ simply place copies of these libraries in the top GLIBC build ++ directory. diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch deleted file mode 100644 index afac2e04f..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch +++ /dev/null @@ -1,97 +0,0 @@ -From f13c2f525e9bc82ce13e4cf486f7fe0831fc3fac Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:49:28 +0000 -Subject: [PATCH] eglibc: Help bootstrap cross toolchain - -Taken from EGLIBC, r1484 + r1525 - - 2007-02-20 Jim Blandy - - * Makefile (install-headers): Preserve old behavior: depend on - $(inst_includedir)/gnu/stubs.h only if install-bootstrap-headers - is set; otherwise, place gnu/stubs.h on the 'install-others' list. - - 2007-02-16 Jim Blandy - - * Makefile: Amend make install-headers to install everything - necessary for building a cross-compiler. Install gnu/stubs.h as - part of 'install-headers', not 'install-others'. - If install-bootstrap-headers is 'yes', install a dummy copy of - gnu/stubs.h, instead of computing the real thing. - * include/stubs-bootstrap.h: New file. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - Makefile | 22 +++++++++++++++++++++- - include/stubs-bootstrap.h | 12 ++++++++++++ - 2 files changed, 33 insertions(+), 1 deletion(-) - create mode 100644 include/stubs-bootstrap.h - -diff --git a/Makefile b/Makefile -index 50f99ca611..31eed15f02 100644 ---- a/Makefile -+++ b/Makefile -@@ -79,9 +79,18 @@ subdir-dirs = include - vpath %.h $(subdir-dirs) - - # What to install. --install-others = $(inst_includedir)/gnu/stubs.h - install-bin-script = - -+# If we're bootstrapping, install a dummy gnu/stubs.h along with the -+# other headers, so 'make install-headers' produces a useable include -+# tree. Otherwise, install gnu/stubs.h later, after the rest of the -+# build is done. -+ifeq ($(install-bootstrap-headers),yes) -+install-headers: $(inst_includedir)/gnu/stubs.h -+else -+install-others = $(inst_includedir)/gnu/stubs.h -+endif -+ - ifeq (yes,$(build-shared)) - headers += gnu/lib-names.h - endif -@@ -416,6 +425,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh - - subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs) - -+# gnu/stubs.h depends (via the subdir 'stubs' targets) on all the .o -+# files in EGLIBC. For bootstrapping a GCC/EGLIBC pair, an empty -+# gnu/stubs.h is good enough. -+ifeq ($(install-bootstrap-headers),yes) -+$(inst_includedir)/gnu/stubs.h: include/stubs-bootstrap.h $(+force) -+ $(make-target-directory) -+ $(INSTALL_DATA) $< $@ -+ -+installed-stubs = -+else - ifndef abi-variants - installed-stubs = $(inst_includedir)/gnu/stubs.h - else -@@ -442,6 +461,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) - - install-others-nosubdir: $(installed-stubs) - endif -+endif - - - # Since stubs.h is never needed when building the library, we simplify the -diff --git a/include/stubs-bootstrap.h b/include/stubs-bootstrap.h -new file mode 100644 -index 0000000000..1d2b669aff ---- /dev/null -+++ b/include/stubs-bootstrap.h -@@ -0,0 +1,12 @@ -+/* Placeholder stubs.h file for bootstrapping. -+ -+ When bootstrapping a GCC/EGLIBC pair, GCC requires that the EGLIBC -+ headers be installed, but we can't fully build EGLIBC without that -+ GCC. So we run the command: -+ -+ make install-headers install-bootstrap-headers=yes -+ -+ to install the headers GCC needs, but avoid building certain -+ difficult headers. The header depends, via the -+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but -+ an empty stubs.h like this will do fine for GCC. */ diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Help-bootstrap-cross-toolchain.patch new file mode 100644 index 000000000..9b76cfd3b --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Help-bootstrap-cross-toolchain.patch @@ -0,0 +1,97 @@ +From 7856684f76c100155cad11b5b236fb31234b6e28 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:49:28 +0000 +Subject: [PATCH] eglibc: Help bootstrap cross toolchain + +Taken from EGLIBC, r1484 + r1525 + + 2007-02-20 Jim Blandy + + * Makefile (install-headers): Preserve old behavior: depend on + $(inst_includedir)/gnu/stubs.h only if install-bootstrap-headers + is set; otherwise, place gnu/stubs.h on the 'install-others' list. + + 2007-02-16 Jim Blandy + + * Makefile: Amend make install-headers to install everything + necessary for building a cross-compiler. Install gnu/stubs.h as + part of 'install-headers', not 'install-others'. + If install-bootstrap-headers is 'yes', install a dummy copy of + gnu/stubs.h, instead of computing the real thing. + * include/stubs-bootstrap.h: New file. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + Makefile | 22 +++++++++++++++++++++- + include/stubs-bootstrap.h | 12 ++++++++++++ + 2 files changed, 33 insertions(+), 1 deletion(-) + create mode 100644 include/stubs-bootstrap.h + +diff --git a/Makefile b/Makefile +index f98d5a9e67..c36d04da0f 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,9 +79,18 @@ subdir-dirs = include + vpath %.h $(subdir-dirs) + + # What to install. +-install-others = $(inst_includedir)/gnu/stubs.h + install-bin-script = + ++# If we're bootstrapping, install a dummy gnu/stubs.h along with the ++# other headers, so 'make install-headers' produces a useable include ++# tree. Otherwise, install gnu/stubs.h later, after the rest of the ++# build is done. ++ifeq ($(install-bootstrap-headers),yes) ++install-headers: $(inst_includedir)/gnu/stubs.h ++else ++install-others = $(inst_includedir)/gnu/stubs.h ++endif ++ + ifeq (yes,$(build-shared)) + headers += gnu/lib-names.h + endif +@@ -415,6 +424,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh + + subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs) + ++# gnu/stubs.h depends (via the subdir 'stubs' targets) on all the .o ++# files in EGLIBC. For bootstrapping a GCC/EGLIBC pair, an empty ++# gnu/stubs.h is good enough. ++ifeq ($(install-bootstrap-headers),yes) ++$(inst_includedir)/gnu/stubs.h: include/stubs-bootstrap.h $(+force) ++ $(make-target-directory) ++ $(INSTALL_DATA) $< $@ ++ ++installed-stubs = ++else + ifndef abi-variants + installed-stubs = $(inst_includedir)/gnu/stubs.h + else +@@ -441,6 +460,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) + + install-others-nosubdir: $(installed-stubs) + endif ++endif + + + # Since stubs.h is never needed when building the library, we simplify the +diff --git a/include/stubs-bootstrap.h b/include/stubs-bootstrap.h +new file mode 100644 +index 0000000000..1d2b669aff +--- /dev/null ++++ b/include/stubs-bootstrap.h +@@ -0,0 +1,12 @@ ++/* Placeholder stubs.h file for bootstrapping. ++ ++ When bootstrapping a GCC/EGLIBC pair, GCC requires that the EGLIBC ++ headers be installed, but we can't fully build EGLIBC without that ++ GCC. So we run the command: ++ ++ make install-headers install-bootstrap-headers=yes ++ ++ to install the headers GCC needs, but avoid building certain ++ difficult headers. The header depends, via the ++ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but ++ an empty stubs.h like this will do fine for GCC. */ diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch deleted file mode 100644 index 9a610c670..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 330c4e50e28e29c31fb8d6ab39cdbb2af4d3def7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:55:53 +0000 -Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 - -2010-09-29 Nobuhiro Iwamatsu - Andrew Stubbs - - Resolve SH's __fpscr_values to symbol in libc.so. - - * sysdeps/sh/sh4/fpu/fpu_control.h: Add C++ __set_fpscr prototype. - * sysdeps/unix/sysv/linux/sh/Versions (GLIBC_2.2): Add __fpscr_values. - * sysdeps/unix/sysv/linux/sh/sysdep.S (___fpscr_values): New constant. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - sysdeps/unix/sysv/linux/sh/Versions | 1 + - sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions -index e0938c4165..ca1d7da339 100644 ---- a/sysdeps/unix/sysv/linux/sh/Versions -+++ b/sysdeps/unix/sysv/linux/sh/Versions -@@ -2,6 +2,7 @@ libc { - GLIBC_2.2 { - # functions used in other libraries - __xstat64; __fxstat64; __lxstat64; -+ __fpscr_values; - - # a* - alphasort64; -diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S -index a18fbb2e8b..59421bfbb0 100644 ---- a/sysdeps/unix/sysv/linux/sh/sysdep.S -+++ b/sysdeps/unix/sysv/linux/sh/sysdep.S -@@ -30,3 +30,14 @@ ENTRY (__syscall_error) - - #define __syscall_error __syscall_error_1 - #include -+ -+ .data -+ .align 3 -+ .globl ___fpscr_values -+ .type ___fpscr_values, @object -+ .size ___fpscr_values, 8 -+___fpscr_values: -+ .long 0 -+ .long 0x80000 -+weak_alias (___fpscr_values, __fpscr_values) -+ diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Forward-port-cross-locale-generation-support.patch deleted file mode 100644 index 0b2f020fd..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Forward-port-cross-locale-generation-support.patch +++ /dev/null @@ -1,560 +0,0 @@ -From 557ed640b26bd208ce8d4a6fd725b124893668d7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 01:33:49 +0000 -Subject: [PATCH] eglibc: Forward port cross locale generation support - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - locale/Makefile | 3 +- - locale/catnames.c | 46 +++++++++++++++++++++++++++ - locale/localeinfo.h | 2 +- - locale/programs/charmap-dir.c | 6 ++++ - locale/programs/ld-collate.c | 17 +++++----- - locale/programs/ld-ctype.c | 27 ++++++++-------- - locale/programs/ld-time.c | 31 ++++++++++++------ - locale/programs/linereader.c | 2 +- - locale/programs/localedef.c | 8 +++++ - locale/programs/locfile.c | 5 ++- - locale/programs/locfile.h | 59 +++++++++++++++++++++++++++++++++-- - locale/setlocale.c | 29 ----------------- - 12 files changed, 167 insertions(+), 68 deletions(-) - create mode 100644 locale/catnames.c - -diff --git a/locale/Makefile b/locale/Makefile -index b7c60681fa..07c606cde3 100644 ---- a/locale/Makefile -+++ b/locale/Makefile -@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ - bits/types/locale_t.h bits/types/__locale_t.h - routines = setlocale findlocale loadlocale loadarchive \ - localeconv nl_langinfo nl_langinfo_l mb_cur_max \ -- newlocale duplocale freelocale uselocale -+ newlocale duplocale freelocale uselocale \ -+ catnames - tests = tst-C-locale tst-locname tst-duplocale - tests-container = tst-localedef-path-norm - categories = ctype messages monetary numeric time paper name \ -diff --git a/locale/catnames.c b/locale/catnames.c -new file mode 100644 -index 0000000000..538f3f5edb ---- /dev/null -+++ b/locale/catnames.c -@@ -0,0 +1,46 @@ -+/* Copyright (C) 2006 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include "localeinfo.h" -+ -+/* Define an array of category names (also the environment variable names). */ -+const struct catnamestr_t _nl_category_names attribute_hidden = -+ { -+#define DEFINE_CATEGORY(category, category_name, items, a) \ -+ category_name, -+#include "categories.def" -+#undef DEFINE_CATEGORY -+ }; -+ -+const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden = -+ { -+#define DEFINE_CATEGORY(category, category_name, items, a) \ -+ [category] = offsetof (struct catnamestr_t, CATNAMEMF (__LINE__)), -+#include "categories.def" -+#undef DEFINE_CATEGORY -+ }; -+ -+/* An array of their lengths, for convenience. */ -+const uint8_t _nl_category_name_sizes[] attribute_hidden = -+ { -+#define DEFINE_CATEGORY(category, category_name, items, a) \ -+ [category] = sizeof (category_name) - 1, -+#include "categories.def" -+#undef DEFINE_CATEGORY -+ [LC_ALL] = sizeof ("LC_ALL") - 1 -+ }; -diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 22f9dc1140..fa31b3c5ea 100644 ---- a/locale/localeinfo.h -+++ b/locale/localeinfo.h -@@ -230,7 +230,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) - unused. We can manage this playing some tricks with weak references. - But with thread-local locale settings, it becomes quite ungainly unless - we can use __thread variables. So only in that case do we attempt this. */ --#ifndef SHARED -+#if !defined SHARED && !defined IN_GLIBC_LOCALEDEF - # include - # define NL_CURRENT_INDIRECT 1 - #endif -diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c -index 4841bfd05d..ffcba1fd79 100644 ---- a/locale/programs/charmap-dir.c -+++ b/locale/programs/charmap-dir.c -@@ -18,7 +18,9 @@ - #include - #include - #include -+#ifndef NO_UNCOMPRESS - #include -+#endif - #include - #include - #include -@@ -154,6 +156,7 @@ charmap_closedir (CHARMAP_DIR *cdir) - return closedir (dir); - } - -+#ifndef NO_UNCOMPRESS - /* Creates a subprocess decompressing the given pathname, and returns - a stream reading its output (the decompressed data). */ - static -@@ -202,6 +205,7 @@ fopen_uncompressed (const char *pathname, const char *compressor) - } - return NULL; - } -+#endif - - /* Opens a charmap for reading, given its name (not an alias name). */ - FILE * -@@ -224,6 +228,7 @@ charmap_open (const char *directory, const char *name) - if (stream != NULL) - return stream; - -+#ifndef NO_UNCOMPRESS - memcpy (p, ".gz", 4); - stream = fopen_uncompressed (pathname, "gzip"); - if (stream != NULL) -@@ -233,6 +238,7 @@ charmap_open (const char *directory, const char *name) - stream = fopen_uncompressed (pathname, "bzip2"); - if (stream != NULL) - return stream; -+#endif - - return NULL; - } -diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c -index 0af21e05e2..4980b0c52f 100644 ---- a/locale/programs/ld-collate.c -+++ b/locale/programs/ld-collate.c -@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, - } - if (wcs != NULL) - { -- size_t nwcs = wcslen ((wchar_t *) wcs); -+ size_t nwcs = wcslen_uint32 (wcs); - uint32_t zero = 0; - /* Handle as a single character. */ - if (nwcs == 0) -@@ -1772,8 +1772,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); - - if ((*eptr)->nwcs == runp->nwcs) - { -- int c = wmemcmp ((wchar_t *) (*eptr)->wcs, -- (wchar_t *) runp->wcs, runp->nwcs); -+ int c = wmemcmp_uint32 ((*eptr)->wcs, runp->wcs, runp->nwcs); - - if (c == 0) - { -@@ -2000,9 +1999,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) - one consecutive entry. */ - if (runp->wcnext != NULL - && runp->nwcs == runp->wcnext->nwcs -- && wmemcmp ((wchar_t *) runp->wcs, -- (wchar_t *)runp->wcnext->wcs, -- runp->nwcs - 1) == 0 -+ && wmemcmp_uint32 (runp->wcs, -+ runp->wcnext->wcs, -+ runp->nwcs - 1) == 0 - && (runp->wcs[runp->nwcs - 1] - == runp->wcnext->wcs[runp->nwcs - 1] + 1)) - { -@@ -2026,9 +2025,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) - runp = runp->wcnext; - while (runp->wcnext != NULL - && runp->nwcs == runp->wcnext->nwcs -- && wmemcmp ((wchar_t *) runp->wcs, -- (wchar_t *)runp->wcnext->wcs, -- runp->nwcs - 1) == 0 -+ && wmemcmp_uint32 (runp->wcs, -+ runp->wcnext->wcs, -+ runp->nwcs - 1) == 0 - && (runp->wcs[runp->nwcs - 1] - == runp->wcnext->wcs[runp->nwcs - 1] + 1)); - -diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c -index 2fb579bbbf..d0be99581c 100644 ---- a/locale/programs/ld-ctype.c -+++ b/locale/programs/ld-ctype.c -@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, - allocate_arrays (ctype, charmap, ctype->repertoire); - - default_missing_len = (ctype->default_missing -- ? wcslen ((wchar_t *) ctype->default_missing) -+ ? wcslen_uint32 (ctype->default_missing) - : 0); - - init_locale_data (&file, nelems); -@@ -1927,7 +1927,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, - ignore = 1; - else - /* This value is usable. */ -- obstack_grow (ob, to_wstr, wcslen ((wchar_t *) to_wstr) * 4); -+ obstack_grow (ob, to_wstr, wcslen_uint32 (to_wstr) * 4); - - first = 0; - } -@@ -2461,8 +2461,8 @@ with character code range values one must use the absolute ellipsis `...'")); - } - - handle_tok_digit: -- class_bit = _ISwdigit; -- class256_bit = _ISdigit; -+ class_bit = BITw (tok_digit); -+ class256_bit = BIT (tok_digit); - handle_digits = 1; - goto read_charclass; - -@@ -3904,8 +3904,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, - - while (idx < number) - { -- int res = wcscmp ((const wchar_t *) sorted[idx]->from, -- (const wchar_t *) runp->from); -+ int res = wcscmp_uint32 (sorted[idx]->from, runp->from); - if (res == 0) - { - replace = 1; -@@ -3942,11 +3941,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, - for (size_t cnt = 0; cnt < number; ++cnt) - { - struct translit_to_t *srunp; -- from_len += wcslen ((const wchar_t *) sorted[cnt]->from) + 1; -+ from_len += wcslen_uint32 (sorted[cnt]->from) + 1; - srunp = sorted[cnt]->to; - while (srunp != NULL) - { -- to_len += wcslen ((const wchar_t *) srunp->str) + 1; -+ to_len += wcslen_uint32 (srunp->str) + 1; - srunp = srunp->next; - } - /* Plus one for the extra NUL character marking the end of -@@ -3970,18 +3969,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, - ctype->translit_from_idx[cnt] = from_len; - ctype->translit_to_idx[cnt] = to_len; - -- len = wcslen ((const wchar_t *) sorted[cnt]->from) + 1; -- wmemcpy ((wchar_t *) &ctype->translit_from_tbl[from_len], -- (const wchar_t *) sorted[cnt]->from, len); -+ len = wcslen_uint32 (sorted[cnt]->from) + 1; -+ wmemcpy_uint32 (&ctype->translit_from_tbl[from_len], -+ sorted[cnt]->from, len); - from_len += len; - - ctype->translit_to_idx[cnt] = to_len; - srunp = sorted[cnt]->to; - while (srunp != NULL) - { -- len = wcslen ((const wchar_t *) srunp->str) + 1; -- wmemcpy ((wchar_t *) &ctype->translit_to_tbl[to_len], -- (const wchar_t *) srunp->str, len); -+ len = wcslen_uint32 (srunp->str) + 1; -+ wmemcpy_uint32 (&ctype->translit_to_tbl[to_len], -+ srunp->str, len); - to_len += len; - srunp = srunp->next; - } -diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c -index dcd2a2386d..6814740325 100644 ---- a/locale/programs/ld-time.c -+++ b/locale/programs/ld-time.c -@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME"); - } - else - { -+ static const uint32_t wt_fmt_ampm[] -+ = { '%','I',':','%','M',':','%','S',' ','%','p',0 }; - time->t_fmt_ampm = "%I:%M:%S %p"; -- time->wt_fmt_ampm = (const uint32_t *) L"%I:%M:%S %p"; -+ time->wt_fmt_ampm = wt_fmt_ampm; - } - } - -@@ -231,7 +233,7 @@ No definition for %s category found"), "LC_TIME"); - const int days_per_month[12] = { 31, 29, 31, 30, 31, 30, - 31, 31, 30, 31 ,30, 31 }; - size_t idx; -- wchar_t *wstr; -+ uint32_t *wstr; - - time->era_entries = - (struct era_data *) xmalloc (time->num_era -@@ -457,18 +459,18 @@ No definition for %s category found"), "LC_TIME"); - } - - /* Now generate the wide character name and format. */ -- wstr = wcschr ((wchar_t *) time->wera[idx], L':');/* end direction */ -- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end offset */ -- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end start */ -- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end end */ -+ wstr = wcschr_uint32 (time->wera[idx], L':'); /* end direction */ -+ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end offset */ -+ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end start */ -+ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end end */ - if (wstr != NULL) - { -- time->era_entries[idx].wname = (uint32_t *) wstr + 1; -- wstr = wcschr (wstr + 1, L':'); /* end name */ -+ time->era_entries[idx].wname = wstr + 1; -+ wstr = wcschr_uint32 (wstr + 1, L':'); /* end name */ - if (wstr != NULL) - { - *wstr = L'\0'; -- time->era_entries[idx].wformat = (uint32_t *) wstr + 1; -+ time->era_entries[idx].wformat = wstr + 1; - } - else - time->era_entries[idx].wname = -@@ -527,7 +529,16 @@ No definition for %s category found"), "LC_TIME"); - if (time->date_fmt == NULL) - time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; - if (time->wdate_fmt == NULL) -- time->wdate_fmt = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y"; -+ { -+ static const uint32_t wdate_fmt[] = -+ { '%','a',' ', -+ '%','b',' ', -+ '%','e',' ', -+ '%','H',':','%','M',':','%','S',' ', -+ '%','Z',' ', -+ '%','Y',0 }; -+ time->wdate_fmt = wdate_fmt; -+ } - } - - -diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c -index 96d3ab66db..3af379d2c3 100644 ---- a/locale/programs/linereader.c -+++ b/locale/programs/linereader.c -@@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, - { - int return_widestr = lr->return_widestr; - char *buf; -- wchar_t *buf2 = NULL; -+ uint32_t *buf2 = NULL; - size_t bufact; - size_t bufmax = 56; - -diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c -index 832c8fd1fc..fe689b3ae1 100644 ---- a/locale/programs/localedef.c -+++ b/locale/programs/localedef.c -@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; - #define OPT_NO_WARN 402 - #define OPT_WARN 403 - #define OPT_NO_HARD_LINKS 404 -+#define OPT_UINT32_ALIGN 405 - - /* Definitions of arguments for argp functions. */ - static const struct argp_option options[] = -@@ -153,6 +154,8 @@ static const struct argp_option options[] = - N_("Generate little-endian output") }, - { "big-endian", OPT_BIG_ENDIAN, NULL, 0, - N_("Generate big-endian output") }, -+ { "uint32-align", OPT_UINT32_ALIGN, "ALIGNMENT", 0, -+ N_("Set the target's uint32_t alignment in bytes (default 4)") }, - { NULL, 0, NULL, 0, NULL } - }; - -@@ -243,12 +246,14 @@ main (int argc, char *argv[]) - ctype locale. (P1003.2 4.35.5.2) */ - setlocale (LC_CTYPE, "POSIX"); - -+#ifndef NO_SYSCONF - /* Look whether the system really allows locale definitions. POSIX - defines error code 3 for this situation so I think it must be - a fatal error (see P1003.2 4.35.8). */ - if (sysconf (_SC_2_LOCALEDEF) < 0) - record_error (3, 0, _("\ - FATAL: system does not define `_POSIX2_LOCALEDEF'")); -+#endif - - /* Process charmap file. */ - charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1); -@@ -400,6 +405,9 @@ parse_opt (int key, char *arg, struct argp_state *state) - /* Do not hard link to other locales. */ - hard_links = false; - break; -+ case OPT_UINT32_ALIGN: -+ uint32_align_mask = strtol (arg, NULL, 0) - 1; -+ break; - case 'c': - force_output = 1; - break; -diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c -index 0f1affa1d4..7d86fae801 100644 ---- a/locale/programs/locfile.c -+++ b/locale/programs/locfile.c -@@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, - machine running localedef. */ - bool swap_endianness_p; - -+/* The target's value of __align__(uint32_t) - 1. */ -+unsigned int uint32_align_mask = 3; -+ - /* When called outside a start_locale_structure/end_locale_structure - or start_locale_prelude/end_locale_prelude block, record that the - next byte in FILE's obstack will be the first byte of a new element. -@@ -621,7 +624,7 @@ add_locale_string (struct locale_file *file, const char *string) - void - add_locale_wstring (struct locale_file *file, const uint32_t *string) - { -- add_locale_uint32_array (file, string, wcslen ((const wchar_t *) string) + 1); -+ add_locale_uint32_array (file, string, wcslen_uint32 (string) + 1); - } - - /* Record that FILE's next element is the 32-bit integer VALUE. */ -diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h -index c986d599ec..222a779176 100644 ---- a/locale/programs/locfile.h -+++ b/locale/programs/locfile.h -@@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions, - - extern bool swap_endianness_p; - -+extern unsigned int uint32_align_mask; -+ - /* Change the output to be big-endian if BIG_ENDIAN is true and - little-endian otherwise. */ - static inline void -@@ -89,7 +91,8 @@ maybe_swap_uint32 (uint32_t value) - } - - /* Likewise, but munge an array of N uint32_ts starting at ARRAY. */ --static inline void -+static void -+__attribute__ ((unused)) - maybe_swap_uint32_array (uint32_t *array, size_t n) - { - if (swap_endianness_p) -@@ -99,7 +102,8 @@ maybe_swap_uint32_array (uint32_t *array, size_t n) - - /* Like maybe_swap_uint32_array, but the array of N elements is at - the end of OBSTACK's current object. */ --static inline void -+static void -+__attribute__ ((unused)) - maybe_swap_uint32_obstack (struct obstack *obstack, size_t n) - { - maybe_swap_uint32_array ((uint32_t *) obstack_next_free (obstack) - n, n); -@@ -276,4 +280,55 @@ extern void identification_output (struct localedef_t *locale, - const struct charmap_t *charmap, - const char *output_path); - -+static size_t wcslen_uint32 (const uint32_t *str) __attribute__ ((unused)); -+static uint32_t * wmemcpy_uint32 (uint32_t *s1, const uint32_t *s2, size_t n) __attribute__ ((unused)); -+static uint32_t * wcschr_uint32 (const uint32_t *s, uint32_t ch) __attribute__ ((unused)); -+static int wcscmp_uint32 (const uint32_t *s1, const uint32_t *s2) __attribute__ ((unused)); -+static int wmemcmp_uint32 (const uint32_t *s1, const uint32_t *s2, size_t n) __attribute__ ((unused)); -+ -+static size_t -+wcslen_uint32 (const uint32_t *str) -+{ -+ size_t len = 0; -+ while (str[len] != 0) -+ len++; -+ return len; -+} -+ -+static int -+wmemcmp_uint32 (const uint32_t *s1, const uint32_t *s2, size_t n) -+{ -+ while (n-- != 0) -+ { -+ int diff = *s1++ - *s2++; -+ if (diff != 0) -+ return diff; -+ } -+ return 0; -+} -+ -+static int -+wcscmp_uint32 (const uint32_t *s1, const uint32_t *s2) -+{ -+ while (*s1 != 0 && *s1 == *s2) -+ s1++, s2++; -+ return *s1 - *s2; -+} -+ -+static uint32_t * -+wmemcpy_uint32 (uint32_t *s1, const uint32_t *s2, size_t n) -+{ -+ return memcpy (s1, s2, n * sizeof (uint32_t)); -+} -+ -+static uint32_t * -+wcschr_uint32 (const uint32_t *s, uint32_t ch) -+{ -+ do -+ if (*s == ch) -+ return (uint32_t *) s; -+ while (*s++ != 0); -+ return 0; -+} -+ - #endif /* locfile.h */ -diff --git a/locale/setlocale.c b/locale/setlocale.c -index 19ed85ae8e..f28ca11446 100644 ---- a/locale/setlocale.c -+++ b/locale/setlocale.c -@@ -63,35 +63,6 @@ static char *const _nl_current_used[] = - - #endif - -- --/* Define an array of category names (also the environment variable names). */ --const struct catnamestr_t _nl_category_names attribute_hidden = -- { --#define DEFINE_CATEGORY(category, category_name, items, a) \ -- category_name, --#include "categories.def" --#undef DEFINE_CATEGORY -- }; -- --const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden = -- { --#define DEFINE_CATEGORY(category, category_name, items, a) \ -- [category] = offsetof (struct catnamestr_t, CATNAMEMF (__LINE__)), --#include "categories.def" --#undef DEFINE_CATEGORY -- }; -- --/* An array of their lengths, for convenience. */ --const uint8_t _nl_category_name_sizes[] attribute_hidden = -- { --#define DEFINE_CATEGORY(category, category_name, items, a) \ -- [category] = sizeof (category_name) - 1, --#include "categories.def" --#undef DEFINE_CATEGORY -- [LC_ALL] = sizeof ("LC_ALL") - 1 -- }; -- -- - #ifdef NL_CURRENT_INDIRECT - # define WEAK_POSTLOAD(postload) weak_extern (postload) - #else diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch new file mode 100644 index 000000000..74c8c1066 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -0,0 +1,53 @@ +From 111ab95a85314d1e70fb159a14250354cc69d899 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 00:55:53 +0000 +Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 + +2010-09-29 Nobuhiro Iwamatsu + Andrew Stubbs + + Resolve SH's __fpscr_values to symbol in libc.so. + + * sysdeps/sh/sh4/fpu/fpu_control.h: Add C++ __set_fpscr prototype. + * sysdeps/unix/sysv/linux/sh/Versions (GLIBC_2.2): Add __fpscr_values. + * sysdeps/unix/sysv/linux/sh/sysdep.S (___fpscr_values): New constant. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + sysdeps/unix/sysv/linux/sh/Versions | 1 + + sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions +index 9c734ff755..974e33b4b1 100644 +--- a/sysdeps/unix/sysv/linux/sh/Versions ++++ b/sysdeps/unix/sysv/linux/sh/Versions +@@ -3,6 +3,7 @@ libc { + GLIBC_2.2 { + # functions used in other libraries + __xstat64; __fxstat64; __lxstat64; ++ __fpscr_values; + + # a* + alphasort64; +diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S +index a18fbb2e8b..59421bfbb0 100644 +--- a/sysdeps/unix/sysv/linux/sh/sysdep.S ++++ b/sysdeps/unix/sysv/linux/sh/sysdep.S +@@ -30,3 +30,14 @@ ENTRY (__syscall_error) + + #define __syscall_error __syscall_error_1 + #include ++ ++ .data ++ .align 3 ++ .globl ___fpscr_values ++ .type ___fpscr_values, @object ++ .size ___fpscr_values, 8 ++___fpscr_values: ++ .long 0 ++ .long 0x80000 ++weak_alias (___fpscr_values, __fpscr_values) ++ diff --git a/poky/meta/recipes-core/glibc/glibc/0022-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0022-Define-DUMMY_LOCALE_T-if-not-defined.patch deleted file mode 100644 index 33d912d35..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0022-Define-DUMMY_LOCALE_T-if-not-defined.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c8df3cf4556d8d78a98675865395ce42f3b67109 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 20 Apr 2016 21:11:00 -0700 -Subject: [PATCH] Define DUMMY_LOCALE_T if not defined - -This is a hack to fix building the locale bits on an older -CentOs 5.X machine - -Upstream-Status: Inappropriate [other] - -Signed-off-by: Khem Raj ---- - locale/programs/config.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/locale/programs/config.h b/locale/programs/config.h -index 2edcf3696c..5350101e38 100644 ---- a/locale/programs/config.h -+++ b/locale/programs/config.h -@@ -19,6 +19,9 @@ - #ifndef _LD_CONFIG_H - #define _LD_CONFIG_H 1 - -+#ifndef DUMMY_LOCALE_T -+#define DUMMY_LOCALE_T -+#endif - /* Use the internal textdomain used for libc messages. */ - #define PACKAGE _libc_intl_domainname - #ifndef VERSION diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch new file mode 100644 index 000000000..a9ff8e92e --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch @@ -0,0 +1,560 @@ +From 4e5de801a39d66b8bd93d09f5912dcbe5db4ef04 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2015 01:33:49 +0000 +Subject: [PATCH] eglibc: Forward port cross locale generation support + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + locale/Makefile | 3 +- + locale/catnames.c | 46 +++++++++++++++++++++++++++ + locale/localeinfo.h | 2 +- + locale/programs/charmap-dir.c | 6 ++++ + locale/programs/ld-collate.c | 17 +++++----- + locale/programs/ld-ctype.c | 27 ++++++++-------- + locale/programs/ld-time.c | 31 ++++++++++++------ + locale/programs/linereader.c | 2 +- + locale/programs/localedef.c | 8 +++++ + locale/programs/locfile.c | 5 ++- + locale/programs/locfile.h | 59 +++++++++++++++++++++++++++++++++-- + locale/setlocale.c | 29 ----------------- + 12 files changed, 167 insertions(+), 68 deletions(-) + create mode 100644 locale/catnames.c + +diff --git a/locale/Makefile b/locale/Makefile +index b7c60681fa..07c606cde3 100644 +--- a/locale/Makefile ++++ b/locale/Makefile +@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ + bits/types/locale_t.h bits/types/__locale_t.h + routines = setlocale findlocale loadlocale loadarchive \ + localeconv nl_langinfo nl_langinfo_l mb_cur_max \ +- newlocale duplocale freelocale uselocale ++ newlocale duplocale freelocale uselocale \ ++ catnames + tests = tst-C-locale tst-locname tst-duplocale + tests-container = tst-localedef-path-norm + categories = ctype messages monetary numeric time paper name \ +diff --git a/locale/catnames.c b/locale/catnames.c +new file mode 100644 +index 0000000000..538f3f5edb +--- /dev/null ++++ b/locale/catnames.c +@@ -0,0 +1,46 @@ ++/* Copyright (C) 2006 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include "localeinfo.h" ++ ++/* Define an array of category names (also the environment variable names). */ ++const struct catnamestr_t _nl_category_names attribute_hidden = ++ { ++#define DEFINE_CATEGORY(category, category_name, items, a) \ ++ category_name, ++#include "categories.def" ++#undef DEFINE_CATEGORY ++ }; ++ ++const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden = ++ { ++#define DEFINE_CATEGORY(category, category_name, items, a) \ ++ [category] = offsetof (struct catnamestr_t, CATNAMEMF (__LINE__)), ++#include "categories.def" ++#undef DEFINE_CATEGORY ++ }; ++ ++/* An array of their lengths, for convenience. */ ++const uint8_t _nl_category_name_sizes[] attribute_hidden = ++ { ++#define DEFINE_CATEGORY(category, category_name, items, a) \ ++ [category] = sizeof (category_name) - 1, ++#include "categories.def" ++#undef DEFINE_CATEGORY ++ [LC_ALL] = sizeof ("LC_ALL") - 1 ++ }; +diff --git a/locale/localeinfo.h b/locale/localeinfo.h +index 22f9dc1140..fa31b3c5ea 100644 +--- a/locale/localeinfo.h ++++ b/locale/localeinfo.h +@@ -230,7 +230,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) + unused. We can manage this playing some tricks with weak references. + But with thread-local locale settings, it becomes quite ungainly unless + we can use __thread variables. So only in that case do we attempt this. */ +-#ifndef SHARED ++#if !defined SHARED && !defined IN_GLIBC_LOCALEDEF + # include + # define NL_CURRENT_INDIRECT 1 + #endif +diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c +index 4841bfd05d..ffcba1fd79 100644 +--- a/locale/programs/charmap-dir.c ++++ b/locale/programs/charmap-dir.c +@@ -18,7 +18,9 @@ + #include + #include + #include ++#ifndef NO_UNCOMPRESS + #include ++#endif + #include + #include + #include +@@ -154,6 +156,7 @@ charmap_closedir (CHARMAP_DIR *cdir) + return closedir (dir); + } + ++#ifndef NO_UNCOMPRESS + /* Creates a subprocess decompressing the given pathname, and returns + a stream reading its output (the decompressed data). */ + static +@@ -202,6 +205,7 @@ fopen_uncompressed (const char *pathname, const char *compressor) + } + return NULL; + } ++#endif + + /* Opens a charmap for reading, given its name (not an alias name). */ + FILE * +@@ -224,6 +228,7 @@ charmap_open (const char *directory, const char *name) + if (stream != NULL) + return stream; + ++#ifndef NO_UNCOMPRESS + memcpy (p, ".gz", 4); + stream = fopen_uncompressed (pathname, "gzip"); + if (stream != NULL) +@@ -233,6 +238,7 @@ charmap_open (const char *directory, const char *name) + stream = fopen_uncompressed (pathname, "bzip2"); + if (stream != NULL) + return stream; ++#endif + + return NULL; + } +diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c +index b6406b775d..bfa4adba9c 100644 +--- a/locale/programs/ld-collate.c ++++ b/locale/programs/ld-collate.c +@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, + } + if (wcs != NULL) + { +- size_t nwcs = wcslen ((wchar_t *) wcs); ++ size_t nwcs = wcslen_uint32 (wcs); + uint32_t zero = 0; + /* Handle as a single character. */ + if (nwcs == 0) +@@ -1775,8 +1775,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); + + if ((*eptr)->nwcs == runp->nwcs) + { +- int c = wmemcmp ((wchar_t *) (*eptr)->wcs, +- (wchar_t *) runp->wcs, runp->nwcs); ++ int c = wmemcmp_uint32 ((*eptr)->wcs, runp->wcs, runp->nwcs); + + if (c == 0) + { +@@ -2003,9 +2002,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) + one consecutive entry. */ + if (runp->wcnext != NULL + && runp->nwcs == runp->wcnext->nwcs +- && wmemcmp ((wchar_t *) runp->wcs, +- (wchar_t *)runp->wcnext->wcs, +- runp->nwcs - 1) == 0 ++ && wmemcmp_uint32 (runp->wcs, ++ runp->wcnext->wcs, ++ runp->nwcs - 1) == 0 + && (runp->wcs[runp->nwcs - 1] + == runp->wcnext->wcs[runp->nwcs - 1] + 1)) + { +@@ -2029,9 +2028,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) + runp = runp->wcnext; + while (runp->wcnext != NULL + && runp->nwcs == runp->wcnext->nwcs +- && wmemcmp ((wchar_t *) runp->wcs, +- (wchar_t *)runp->wcnext->wcs, +- runp->nwcs - 1) == 0 ++ && wmemcmp_uint32 (runp->wcs, ++ runp->wcnext->wcs, ++ runp->nwcs - 1) == 0 + && (runp->wcs[runp->nwcs - 1] + == runp->wcnext->wcs[runp->nwcs - 1] + 1)); + +diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c +index 2fb579bbbf..d0be99581c 100644 +--- a/locale/programs/ld-ctype.c ++++ b/locale/programs/ld-ctype.c +@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, + allocate_arrays (ctype, charmap, ctype->repertoire); + + default_missing_len = (ctype->default_missing +- ? wcslen ((wchar_t *) ctype->default_missing) ++ ? wcslen_uint32 (ctype->default_missing) + : 0); + + init_locale_data (&file, nelems); +@@ -1927,7 +1927,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, + ignore = 1; + else + /* This value is usable. */ +- obstack_grow (ob, to_wstr, wcslen ((wchar_t *) to_wstr) * 4); ++ obstack_grow (ob, to_wstr, wcslen_uint32 (to_wstr) * 4); + + first = 0; + } +@@ -2461,8 +2461,8 @@ with character code range values one must use the absolute ellipsis `...'")); + } + + handle_tok_digit: +- class_bit = _ISwdigit; +- class256_bit = _ISdigit; ++ class_bit = BITw (tok_digit); ++ class256_bit = BIT (tok_digit); + handle_digits = 1; + goto read_charclass; + +@@ -3904,8 +3904,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, + + while (idx < number) + { +- int res = wcscmp ((const wchar_t *) sorted[idx]->from, +- (const wchar_t *) runp->from); ++ int res = wcscmp_uint32 (sorted[idx]->from, runp->from); + if (res == 0) + { + replace = 1; +@@ -3942,11 +3941,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, + for (size_t cnt = 0; cnt < number; ++cnt) + { + struct translit_to_t *srunp; +- from_len += wcslen ((const wchar_t *) sorted[cnt]->from) + 1; ++ from_len += wcslen_uint32 (sorted[cnt]->from) + 1; + srunp = sorted[cnt]->to; + while (srunp != NULL) + { +- to_len += wcslen ((const wchar_t *) srunp->str) + 1; ++ to_len += wcslen_uint32 (srunp->str) + 1; + srunp = srunp->next; + } + /* Plus one for the extra NUL character marking the end of +@@ -3970,18 +3969,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, + ctype->translit_from_idx[cnt] = from_len; + ctype->translit_to_idx[cnt] = to_len; + +- len = wcslen ((const wchar_t *) sorted[cnt]->from) + 1; +- wmemcpy ((wchar_t *) &ctype->translit_from_tbl[from_len], +- (const wchar_t *) sorted[cnt]->from, len); ++ len = wcslen_uint32 (sorted[cnt]->from) + 1; ++ wmemcpy_uint32 (&ctype->translit_from_tbl[from_len], ++ sorted[cnt]->from, len); + from_len += len; + + ctype->translit_to_idx[cnt] = to_len; + srunp = sorted[cnt]->to; + while (srunp != NULL) + { +- len = wcslen ((const wchar_t *) srunp->str) + 1; +- wmemcpy ((wchar_t *) &ctype->translit_to_tbl[to_len], +- (const wchar_t *) srunp->str, len); ++ len = wcslen_uint32 (srunp->str) + 1; ++ wmemcpy_uint32 (&ctype->translit_to_tbl[to_len], ++ srunp->str, len); + to_len += len; + srunp = srunp->next; + } +diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c +index dcd2a2386d..6814740325 100644 +--- a/locale/programs/ld-time.c ++++ b/locale/programs/ld-time.c +@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME"); + } + else + { ++ static const uint32_t wt_fmt_ampm[] ++ = { '%','I',':','%','M',':','%','S',' ','%','p',0 }; + time->t_fmt_ampm = "%I:%M:%S %p"; +- time->wt_fmt_ampm = (const uint32_t *) L"%I:%M:%S %p"; ++ time->wt_fmt_ampm = wt_fmt_ampm; + } + } + +@@ -231,7 +233,7 @@ No definition for %s category found"), "LC_TIME"); + const int days_per_month[12] = { 31, 29, 31, 30, 31, 30, + 31, 31, 30, 31 ,30, 31 }; + size_t idx; +- wchar_t *wstr; ++ uint32_t *wstr; + + time->era_entries = + (struct era_data *) xmalloc (time->num_era +@@ -457,18 +459,18 @@ No definition for %s category found"), "LC_TIME"); + } + + /* Now generate the wide character name and format. */ +- wstr = wcschr ((wchar_t *) time->wera[idx], L':');/* end direction */ +- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end offset */ +- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end start */ +- wstr = wstr ? wcschr (wstr + 1, L':') : NULL; /* end end */ ++ wstr = wcschr_uint32 (time->wera[idx], L':'); /* end direction */ ++ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end offset */ ++ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end start */ ++ wstr = wstr ? wcschr_uint32 (wstr + 1, L':') : NULL; /* end end */ + if (wstr != NULL) + { +- time->era_entries[idx].wname = (uint32_t *) wstr + 1; +- wstr = wcschr (wstr + 1, L':'); /* end name */ ++ time->era_entries[idx].wname = wstr + 1; ++ wstr = wcschr_uint32 (wstr + 1, L':'); /* end name */ + if (wstr != NULL) + { + *wstr = L'\0'; +- time->era_entries[idx].wformat = (uint32_t *) wstr + 1; ++ time->era_entries[idx].wformat = wstr + 1; + } + else + time->era_entries[idx].wname = +@@ -527,7 +529,16 @@ No definition for %s category found"), "LC_TIME"); + if (time->date_fmt == NULL) + time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; + if (time->wdate_fmt == NULL) +- time->wdate_fmt = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y"; ++ { ++ static const uint32_t wdate_fmt[] = ++ { '%','a',' ', ++ '%','b',' ', ++ '%','e',' ', ++ '%','H',':','%','M',':','%','S',' ', ++ '%','Z',' ', ++ '%','Y',0 }; ++ time->wdate_fmt = wdate_fmt; ++ } + } + + +diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c +index 96d3ab66db..3af379d2c3 100644 +--- a/locale/programs/linereader.c ++++ b/locale/programs/linereader.c +@@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, + { + int return_widestr = lr->return_widestr; + char *buf; +- wchar_t *buf2 = NULL; ++ uint32_t *buf2 = NULL; + size_t bufact; + size_t bufmax = 56; + +diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c +index 832c8fd1fc..fe689b3ae1 100644 +--- a/locale/programs/localedef.c ++++ b/locale/programs/localedef.c +@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; + #define OPT_NO_WARN 402 + #define OPT_WARN 403 + #define OPT_NO_HARD_LINKS 404 ++#define OPT_UINT32_ALIGN 405 + + /* Definitions of arguments for argp functions. */ + static const struct argp_option options[] = +@@ -153,6 +154,8 @@ static const struct argp_option options[] = + N_("Generate little-endian output") }, + { "big-endian", OPT_BIG_ENDIAN, NULL, 0, + N_("Generate big-endian output") }, ++ { "uint32-align", OPT_UINT32_ALIGN, "ALIGNMENT", 0, ++ N_("Set the target's uint32_t alignment in bytes (default 4)") }, + { NULL, 0, NULL, 0, NULL } + }; + +@@ -243,12 +246,14 @@ main (int argc, char *argv[]) + ctype locale. (P1003.2 4.35.5.2) */ + setlocale (LC_CTYPE, "POSIX"); + ++#ifndef NO_SYSCONF + /* Look whether the system really allows locale definitions. POSIX + defines error code 3 for this situation so I think it must be + a fatal error (see P1003.2 4.35.8). */ + if (sysconf (_SC_2_LOCALEDEF) < 0) + record_error (3, 0, _("\ + FATAL: system does not define `_POSIX2_LOCALEDEF'")); ++#endif + + /* Process charmap file. */ + charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1); +@@ -400,6 +405,9 @@ parse_opt (int key, char *arg, struct argp_state *state) + /* Do not hard link to other locales. */ + hard_links = false; + break; ++ case OPT_UINT32_ALIGN: ++ uint32_align_mask = strtol (arg, NULL, 0) - 1; ++ break; + case 'c': + force_output = 1; + break; +diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c +index 0f1affa1d4..7d86fae801 100644 +--- a/locale/programs/locfile.c ++++ b/locale/programs/locfile.c +@@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, + machine running localedef. */ + bool swap_endianness_p; + ++/* The target's value of __align__(uint32_t) - 1. */ ++unsigned int uint32_align_mask = 3; ++ + /* When called outside a start_locale_structure/end_locale_structure + or start_locale_prelude/end_locale_prelude block, record that the + next byte in FILE's obstack will be the first byte of a new element. +@@ -621,7 +624,7 @@ add_locale_string (struct locale_file *file, const char *string) + void + add_locale_wstring (struct locale_file *file, const uint32_t *string) + { +- add_locale_uint32_array (file, string, wcslen ((const wchar_t *) string) + 1); ++ add_locale_uint32_array (file, string, wcslen_uint32 (string) + 1); + } + + /* Record that FILE's next element is the 32-bit integer VALUE. */ +diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h +index c986d599ec..222a779176 100644 +--- a/locale/programs/locfile.h ++++ b/locale/programs/locfile.h +@@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions, + + extern bool swap_endianness_p; + ++extern unsigned int uint32_align_mask; ++ + /* Change the output to be big-endian if BIG_ENDIAN is true and + little-endian otherwise. */ + static inline void +@@ -89,7 +91,8 @@ maybe_swap_uint32 (uint32_t value) + } + + /* Likewise, but munge an array of N uint32_ts starting at ARRAY. */ +-static inline void ++static void ++__attribute__ ((unused)) + maybe_swap_uint32_array (uint32_t *array, size_t n) + { + if (swap_endianness_p) +@@ -99,7 +102,8 @@ maybe_swap_uint32_array (uint32_t *array, size_t n) + + /* Like maybe_swap_uint32_array, but the array of N elements is at + the end of OBSTACK's current object. */ +-static inline void ++static void ++__attribute__ ((unused)) + maybe_swap_uint32_obstack (struct obstack *obstack, size_t n) + { + maybe_swap_uint32_array ((uint32_t *) obstack_next_free (obstack) - n, n); +@@ -276,4 +280,55 @@ extern void identification_output (struct localedef_t *locale, + const struct charmap_t *charmap, + const char *output_path); + ++static size_t wcslen_uint32 (const uint32_t *str) __attribute__ ((unused)); ++static uint32_t * wmemcpy_uint32 (uint32_t *s1, const uint32_t *s2, size_t n) __attribute__ ((unused)); ++static uint32_t * wcschr_uint32 (const uint32_t *s, uint32_t ch) __attribute__ ((unused)); ++static int wcscmp_uint32 (const uint32_t *s1, const uint32_t *s2) __attribute__ ((unused)); ++static int wmemcmp_uint32 (const uint32_t *s1, const uint32_t *s2, size_t n) __attribute__ ((unused)); ++ ++static size_t ++wcslen_uint32 (const uint32_t *str) ++{ ++ size_t len = 0; ++ while (str[len] != 0) ++ len++; ++ return len; ++} ++ ++static int ++wmemcmp_uint32 (const uint32_t *s1, const uint32_t *s2, size_t n) ++{ ++ while (n-- != 0) ++ { ++ int diff = *s1++ - *s2++; ++ if (diff != 0) ++ return diff; ++ } ++ return 0; ++} ++ ++static int ++wcscmp_uint32 (const uint32_t *s1, const uint32_t *s2) ++{ ++ while (*s1 != 0 && *s1 == *s2) ++ s1++, s2++; ++ return *s1 - *s2; ++} ++ ++static uint32_t * ++wmemcpy_uint32 (uint32_t *s1, const uint32_t *s2, size_t n) ++{ ++ return memcpy (s1, s2, n * sizeof (uint32_t)); ++} ++ ++static uint32_t * ++wcschr_uint32 (const uint32_t *s, uint32_t ch) ++{ ++ do ++ if (*s == ch) ++ return (uint32_t *) s; ++ while (*s++ != 0); ++ return 0; ++} ++ + #endif /* locfile.h */ +diff --git a/locale/setlocale.c b/locale/setlocale.c +index 19ed85ae8e..f28ca11446 100644 +--- a/locale/setlocale.c ++++ b/locale/setlocale.c +@@ -63,35 +63,6 @@ static char *const _nl_current_used[] = + + #endif + +- +-/* Define an array of category names (also the environment variable names). */ +-const struct catnamestr_t _nl_category_names attribute_hidden = +- { +-#define DEFINE_CATEGORY(category, category_name, items, a) \ +- category_name, +-#include "categories.def" +-#undef DEFINE_CATEGORY +- }; +- +-const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden = +- { +-#define DEFINE_CATEGORY(category, category_name, items, a) \ +- [category] = offsetof (struct catnamestr_t, CATNAMEMF (__LINE__)), +-#include "categories.def" +-#undef DEFINE_CATEGORY +- }; +- +-/* An array of their lengths, for convenience. */ +-const uint8_t _nl_category_name_sizes[] attribute_hidden = +- { +-#define DEFINE_CATEGORY(category, category_name, items, a) \ +- [category] = sizeof (category_name) - 1, +-#include "categories.def" +-#undef DEFINE_CATEGORY +- [LC_ALL] = sizeof ("LC_ALL") - 1 +- }; +- +- + #ifdef NL_CURRENT_INDIRECT + # define WEAK_POSTLOAD(postload) weak_extern (postload) + #else diff --git a/poky/meta/recipes-core/glibc/glibc/0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch deleted file mode 100644 index a5a7a0cad..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 2ec233ce078b74030de9195096058cd502fdc395 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 3 Aug 2018 09:42:06 -0700 -Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path - -it doesn't exist in normal use, and there's no way to pass an -alternative filename. - -Add a fallback of $LOCALEARCHIVE from the environment, and allow -creation of new locale archives that are not the system archive. - -Upstream-Status: Inappropriate (OE-specific) - -Signed-off-by: Ross Burton -Signed-off-by: Khem Raj ---- - locale/programs/locarchive.c | 35 +++++++++++++++++++++++++---------- - 1 file changed, 25 insertions(+), 10 deletions(-) - -diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c -index 6bb189ae37..0711c5c44e 100644 ---- a/locale/programs/locarchive.c -+++ b/locale/programs/locarchive.c -@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) - struct namehashent *oldnamehashtab; - struct locarhandle new_ah; - size_t prefix_len = output_prefix ? strlen (output_prefix) : 0; -- char archivefname[prefix_len + sizeof (ARCHIVE_NAME)]; -- char fname[prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1]; -+ char *archivefname; -+ char *fname; -+ char *envarchive = getenv("LOCALEARCHIVE"); - -- if (output_prefix) -- memcpy (archivefname, output_prefix, prefix_len); -- strcpy (archivefname + prefix_len, ARCHIVE_NAME); -+ if (envarchive != NULL) -+ { -+ archivefname = xmalloc(strlen(envarchive) + 1); -+ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX")); -+ strcpy (archivefname, envarchive); -+ } -+ else -+ { -+ archivefname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME)); -+ fname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1); -+ if (output_prefix) -+ memcpy (archivefname, output_prefix, prefix_len); -+ strcpy (archivefname + prefix_len, ARCHIVE_NAME); -+ } - strcpy (stpcpy (fname, archivefname), ".XXXXXX"); - - /* Not all of the old file has to be mapped. Change this now this -@@ -569,10 +581,13 @@ open_archive (struct locarhandle *ah, bool readonly) - /* If ah has a non-NULL fname open that otherwise open the default. */ - if (archivefname == NULL) - { -- archivefname = default_fname; -- if (output_prefix) -- memcpy (default_fname, output_prefix, prefix_len); -- strcpy (default_fname + prefix_len, ARCHIVE_NAME); -+ archivefname = getenv("LOCALEARCHIVE"); -+ if (archivefname == NULL) { -+ archivefname = default_fname; -+ if (output_prefix) -+ memcpy (default_fname, output_prefix, prefix_len); -+ strcpy (default_fname + prefix_len, ARCHIVE_NAME); -+ } - } - - while (1) -@@ -585,7 +600,7 @@ open_archive (struct locarhandle *ah, bool readonly) - the default locale archive we ignore the failure and - list an empty archive, otherwise we print an error - and exit. */ -- if (errno == ENOENT && archivefname == default_fname) -+ if (errno == ENOENT) - { - if (readonly) - { diff --git a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch deleted file mode 100644 index d2691e1ee..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ /dev/null @@ -1,53 +0,0 @@ -From f8289aa320b00f6db43213979cceab2325a7a611 Mon Sep 17 00:00:00 2001 -From: Mark Hatle -Date: Thu, 18 Aug 2016 14:07:58 -0500 -Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first - -According to the ELF specification: - -When resolving symbolic references, the dynamic linker examines the symbol -tables with a breadth-first search. - -This function was using a depth first search. By doing so the conflict -resolution reported to the prelinker (when LD_TRACE_PRELINKING=1 is set) -was incorrect. This caused problems when their were various circular -dependencies between libraries. The problem usually manifested itself by -the wrong IFUNC being executed. - -[BZ# 20488] - -Upstream-Status: Submitted [libc-alpha] - -Signed-off-by: Mark Hatle ---- - elf/dl-deps.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index 087a49b212..c09f9334f2 100644 ---- a/elf/dl-deps.c -+++ b/elf/dl-deps.c -@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) - { - struct link_map **p = list; - struct link_map **q; -+ struct link_map **r; - - *p++ = map; - map->l_reserved = 1; -- if (map->l_initfini) -- for (q = map->l_initfini + 1; *q; ++q) -- if (! (*q)->l_reserved) -- p += _dl_build_local_scope (p, *q); -+ -+ for (r = list; r < p; ++r) -+ if ((*r)->l_initfini) -+ for (q = (*r)->l_initfini + 1; *q; ++q) -+ if (! (*q)->l_reserved) -+ { -+ *p++ = *q; -+ (*q)->l_reserved = 1; -+ } - return p - list; - } - diff --git a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch new file mode 100644 index 000000000..50c2e1473 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch @@ -0,0 +1,80 @@ +From 13bc0e53cc91e102472d532f28b3d44c30d291fc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Aug 2018 09:42:06 -0700 +Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path + +it doesn't exist in normal use, and there's no way to pass an +alternative filename. + +Add a fallback of $LOCALEARCHIVE from the environment, and allow +creation of new locale archives that are not the system archive. + +Upstream-Status: Inappropriate (OE-specific) + +Signed-off-by: Ross Burton +Signed-off-by: Khem Raj +--- + locale/programs/locarchive.c | 35 +++++++++++++++++++++++++---------- + 1 file changed, 25 insertions(+), 10 deletions(-) + +diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c +index f38e835c52..8d8f8699b2 100644 +--- a/locale/programs/locarchive.c ++++ b/locale/programs/locarchive.c +@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) + struct namehashent *oldnamehashtab; + struct locarhandle new_ah; + size_t prefix_len = output_prefix ? strlen (output_prefix) : 0; +- char archivefname[prefix_len + sizeof (ARCHIVE_NAME)]; +- char fname[prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1]; ++ char *archivefname; ++ char *fname; ++ char *envarchive = getenv("LOCALEARCHIVE"); + +- if (output_prefix) +- memcpy (archivefname, output_prefix, prefix_len); +- strcpy (archivefname + prefix_len, ARCHIVE_NAME); ++ if (envarchive != NULL) ++ { ++ archivefname = xmalloc(strlen(envarchive) + 1); ++ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX")); ++ strcpy (archivefname, envarchive); ++ } ++ else ++ { ++ archivefname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME)); ++ fname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1); ++ if (output_prefix) ++ memcpy (archivefname, output_prefix, prefix_len); ++ strcpy (archivefname + prefix_len, ARCHIVE_NAME); ++ } + strcpy (stpcpy (fname, archivefname), ".XXXXXX"); + + /* Not all of the old file has to be mapped. Change this now this +@@ -569,10 +581,13 @@ open_archive (struct locarhandle *ah, bool readonly) + /* If ah has a non-NULL fname open that otherwise open the default. */ + if (archivefname == NULL) + { +- archivefname = default_fname; +- if (output_prefix) +- memcpy (default_fname, output_prefix, prefix_len); +- strcpy (default_fname + prefix_len, ARCHIVE_NAME); ++ archivefname = getenv("LOCALEARCHIVE"); ++ if (archivefname == NULL) { ++ archivefname = default_fname; ++ if (output_prefix) ++ memcpy (default_fname, output_prefix, prefix_len); ++ strcpy (default_fname + prefix_len, ARCHIVE_NAME); ++ } + } + + while (1) +@@ -585,7 +600,7 @@ open_archive (struct locarhandle *ah, bool readonly) + the default locale archive we ignore the failure and + list an empty archive, otherwise we print an error + and exit. */ +- if (errno == ENOENT && archivefname == default_fname) ++ if (errno == ENOENT) + { + if (readonly) + { diff --git a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch new file mode 100644 index 000000000..fb0a609db --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch @@ -0,0 +1,53 @@ +From 50b605dece16606dd9d1c737e579c13725eab11d Mon Sep 17 00:00:00 2001 +From: Mark Hatle +Date: Thu, 18 Aug 2016 14:07:58 -0500 +Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first + +According to the ELF specification: + +When resolving symbolic references, the dynamic linker examines the symbol +tables with a breadth-first search. + +This function was using a depth first search. By doing so the conflict +resolution reported to the prelinker (when LD_TRACE_PRELINKING=1 is set) +was incorrect. This caused problems when their were various circular +dependencies between libraries. The problem usually manifested itself by +the wrong IFUNC being executed. + +[BZ# 20488] + +Upstream-Status: Submitted [libc-alpha] + +Signed-off-by: Mark Hatle +--- + elf/dl-deps.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 087a49b212..c09f9334f2 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) + { + struct link_map **p = list; + struct link_map **q; ++ struct link_map **r; + + *p++ = map; + map->l_reserved = 1; +- if (map->l_initfini) +- for (q = map->l_initfini + 1; *q; ++q) +- if (! (*q)->l_reserved) +- p += _dl_build_local_scope (p, *q); ++ ++ for (r = list; r < p; ++r) ++ if ((*r)->l_initfini) ++ for (q = (*r)->l_initfini + 1; *q; ++q) ++ if (! (*q)->l_reserved) ++ { ++ *p++ = *q; ++ (*q)->l_reserved = 1; ++ } + return p - list; + } + diff --git a/poky/meta/recipes-core/glibc/glibc/0025-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0025-intl-Emit-no-lines-in-bison-generated-files.patch deleted file mode 100644 index 32f8fd22b..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0025-intl-Emit-no-lines-in-bison-generated-files.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3156464f9a95bf1dafd2e22d19d7bf89c520acc1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 3 Aug 2018 09:44:00 -0700 -Subject: [PATCH] intl: Emit no lines in bison generated files - -Improve reproducibility: -Do not put any #line preprocessor commands in bison generated files. -These lines contain absolute paths containing file locations on -the host build machine. - -Upstream-Status: Pending - -Signed-off-by: Juro Bystricky -Signed-off-by: Khem Raj ---- - intl/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/intl/Makefile b/intl/Makefile -index 93478d87e8..b27a7935eb 100644 ---- a/intl/Makefile -+++ b/intl/Makefile -@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out - - CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ - -D'LOCALE_ALIAS_PATH="$(localedir)"' --BISONFLAGS = --yacc --name-prefix=__gettext --output -+BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output - - $(inst_localedir)/locale.alias: locale.alias $(+force) - $(do-install) diff --git a/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch new file mode 100644 index 000000000..998db39b4 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch @@ -0,0 +1,31 @@ +From 99ab34278a6ebec134267412b4f619f43e278dea Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Aug 2018 09:44:00 -0700 +Subject: [PATCH] intl: Emit no lines in bison generated files + +Improve reproducibility: +Do not put any #line preprocessor commands in bison generated files. +These lines contain absolute paths containing file locations on +the host build machine. + +Upstream-Status: Pending + +Signed-off-by: Juro Bystricky +Signed-off-by: Khem Raj +--- + intl/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/intl/Makefile b/intl/Makefile +index 93478d87e8..b27a7935eb 100644 +--- a/intl/Makefile ++++ b/intl/Makefile +@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out + + CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ + -D'LOCALE_ALIAS_PATH="$(localedir)"' +-BISONFLAGS = --yacc --name-prefix=__gettext --output ++BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output + + $(inst_localedir)/locale.alias: locale.alias $(+force) + $(do-install) diff --git a/poky/meta/recipes-core/glibc/glibc/0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch index 782d931f2..2bfa2aaa0 100644 --- a/poky/meta/recipes-core/glibc/glibc/0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch +++ b/poky/meta/recipes-core/glibc/glibc/0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch @@ -1,4 +1,4 @@ -From 881f5b8134afd9a30049b93fc79dda7a44947a5f Mon Sep 17 00:00:00 2001 +From 3190ada9ecaec915794886a608221655c120f90c Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 17 Dec 2018 21:36:18 +0000 Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ diff --git a/poky/meta/recipes-core/glibc/glibc/0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch index d273cab4a..8042caaea 100644 --- a/poky/meta/recipes-core/glibc/glibc/0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch @@ -1,4 +1,4 @@ -From b4e0a034b12b313dcb82d22341bef6a66b3e9ef9 Mon Sep 17 00:00:00 2001 +From 5d201a75918a0e181ee6206f701901fdb91baf81 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:11:22 +0000 Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names diff --git a/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch index 11a77cdf9..8e011699e 100644 --- a/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch +++ b/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch @@ -1,4 +1,4 @@ -From 2ae3ff3ae28abb1d0d100b4722da7ff188de9a30 Mon Sep 17 00:00:00 2001 +From baba3c6021340a9070b734f931a15cea4cfe6c31 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 May 2020 17:05:45 -0700 Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64 @@ -50,7 +50,7 @@ index 91da566b74..34fcdef1f1 100644 /* Determine the wordsize from the preprocessor defines. - Copyright (C) 2016-2021 Free Software Foundation, Inc. -+ Copyright (C) 2016-2021 Free Software Foundation, Inc. ++ Copyright (C) 2016-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/poky/meta/recipes-core/glibc/glibc/0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/poky/meta/recipes-core/glibc/glibc/0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch index 5ef1ac2ed..22df820ae 100644 --- a/poky/meta/recipes-core/glibc/glibc/0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch +++ b/poky/meta/recipes-core/glibc/glibc/0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch @@ -1,4 +1,4 @@ -From 5cc14938f05ae1354c8062f017a21f39d5fc9729 Mon Sep 17 00:00:00 2001 +From 60aa53f547911163b42a1c436d695a15c87f34ee Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 7 Aug 2020 14:31:16 -0700 Subject: [PATCH] powerpc: Do not ask compiler for finding arch diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2021-33574.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2021-33574.patch deleted file mode 100644 index fd73b23c8..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2021-33574.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 42d359350510506b87101cf77202fefcbfc790cb Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Thu, 27 May 2021 12:49:47 +0200 -Subject: [PATCH] Use __pthread_attr_copy in mq_notify (bug 27896) - -Make a deep copy of the pthread attribute object to remove a potential -use-after-free issue. - -Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=42d359350510506b87101cf77202fefcbfc790cb] -CVE: CVE-2021-33574 -Signed-off-by: Vinay Kumar ---- -diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c -index cc575a0cdd8..6f46d29d1dc 100644 ---- a/sysdeps/unix/sysv/linux/mq_notify.c -+++ b/sysdeps/unix/sysv/linux/mq_notify.c -@@ -133,8 +133,11 @@ helper_thread (void *arg) - (void) __pthread_barrier_wait (¬ify_barrier); - } - else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED) -- /* The only state we keep is the copy of the thread attributes. */ -- free (data.attr); -+ { -+ /* The only state we keep is the copy of the thread attributes. */ -+ pthread_attr_destroy (data.attr); -+ free (data.attr); -+ } - } - return NULL; - } -@@ -255,8 +258,14 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification) - if (data.attr == NULL) - return -1; - -- memcpy (data.attr, notification->sigev_notify_attributes, -- sizeof (pthread_attr_t)); -+ int ret = __pthread_attr_copy (data.attr, -+ notification->sigev_notify_attributes); -+ if (ret != 0) -+ { -+ free (data.attr); -+ __set_errno (ret); -+ return -1; -+ } - } - - /* Construct the new request. */ -@@ -269,8 +278,11 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification) - int retval = INLINE_SYSCALL (mq_notify, 2, mqdes, &se); - - /* If it failed, free the allocated memory. */ -- if (__glibc_unlikely (retval != 0)) -- free (data.attr); -+ if (retval != 0 && data.attr != NULL) -+ { -+ pthread_attr_destroy (data.attr); -+ free (data.attr); -+ } - - return retval; - } diff --git a/poky/meta/recipes-core/glibc/glibc/faccessat2-perm.patch b/poky/meta/recipes-core/glibc/glibc/faccessat2-perm.patch deleted file mode 100644 index 2ee7110ca..000000000 --- a/poky/meta/recipes-core/glibc/glibc/faccessat2-perm.patch +++ /dev/null @@ -1,31 +0,0 @@ -Older seccomp-based filters used in container frameworks will block faccessat2 -calls as it's a relatively new syscall. This isn't a big problem with -glibc <2.33 but 2.33 will call faccessat2 itself, get EPERM, and thenn be confused -about what to do as EPERM isn't an expected error code. - -This manifests itself as mysterious errors, for example a kernel failing to link. - -The root cause of bad seccomp filters is mostly fixed (systemd 247, Docker 20.10.0) -but we can't expect everyone to upgrade, so add a workaound (originally from -Red Hat) to handle EPERM like ENOSYS and fallback to faccessat(). - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - -diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c -index 56cb6dcc8b4d58d3..5de75032bbc93a2c 100644 ---- a/sysdeps/unix/sysv/linux/faccessat.c -+++ b/sysdeps/unix/sysv/linux/faccessat.c -@@ -34,7 +34,11 @@ faccessat (int fd, const char *file, int mode, int flag) - #if __ASSUME_FACCESSAT2 - return ret; - #else -- if (ret == 0 || errno != ENOSYS) -+ /* Fedora-specific workaround: -+ As a workround for a broken systemd-nspawn that returns -+ EPERM when a syscall is not allowed instead of ENOSYS -+ we must check for EPERM here and fall back to faccessat. */ -+ if (ret == 0 || !(errno == ENOSYS || errno == EPERM)) - return ret; - - if (flag & ~(AT_SYMLINK_NOFOLLOW | AT_EACCESS)) diff --git a/poky/meta/recipes-core/glibc/glibc/mte-backports.patch b/poky/meta/recipes-core/glibc/glibc/mte-backports.patch deleted file mode 100644 index d9604fdf4..000000000 --- a/poky/meta/recipes-core/glibc/glibc/mte-backports.patch +++ /dev/null @@ -1,1238 +0,0 @@ -Backport a number of patches from master to improve Arm MTE support. - -Upstream-Status: Backport [will be in 2.34] -Signed-off-by: Ross Burton - -From 2643466c2928a93de7b80a61f6a8f61a653862e1 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Thu, 11 Mar 2021 14:09:56 +0000 -Subject: [PATCH 01/11] malloc: Fix a potential realloc issue with memory - tagging - -At an _int_free call site in realloc the wrong size was used for tag -clearing: the chunk header of the next chunk was also cleared which -in practice may work, but logically wrong. - -The tag clearing is moved before the memcpy to save a tag computation, -this avoids a chunk2mem. Another chunk2mem is removed because newmem -does not have to be recomputed. Whitespaces got fixed too. - -Reviewed-by: DJ Delorie ---- - malloc/malloc.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 8f8f12c276..51cec67e55 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -4851,14 +4851,14 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, - } - else - { -- void *oldmem = chunk2mem (oldp); -+ void *oldmem = chunk2rawmem (oldp); -+ size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ; -+ (void) TAG_REGION (oldmem, sz); - newmem = TAG_NEW_USABLE (newmem); -- memcpy (newmem, oldmem, -- CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ); -- (void) TAG_REGION (chunk2rawmem (oldp), oldsize); -- _int_free (av, oldp, 1); -- check_inuse_chunk (av, newp); -- return chunk2mem (newp); -+ memcpy (newmem, oldmem, sz); -+ _int_free (av, oldp, 1); -+ check_inuse_chunk (av, newp); -+ return newmem; - } - } - } --- -2.25.1 - - -From 32f3132be063e4b16a5cdb058980af354126e2f4 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Thu, 28 Jan 2021 17:34:36 +0000 -Subject: [PATCH 02/11] malloc: Move MTAG_MMAP_FLAGS definition - -This is only used internally in malloc.c, the extern declaration -was wrong, __mtag_mmap_flags has internal linkage. - -Reviewed-by: DJ Delorie ---- - include/malloc.h | 7 ------- - malloc/malloc.c | 2 ++ - 2 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/include/malloc.h b/include/malloc.h -index 7ae08d53d3..b77761f74d 100644 ---- a/include/malloc.h -+++ b/include/malloc.h -@@ -16,11 +16,4 @@ typedef struct malloc_state *mstate; - - # endif /* !_ISOMAC */ - --#ifdef USE_MTAG --extern int __mtag_mmap_flags; --#define MTAG_MMAP_FLAGS __mtag_mmap_flags --#else --#define MTAG_MMAP_FLAGS 0 --#endif -- - #endif -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 51cec67e55..61c25d0f93 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -463,11 +463,13 @@ static void *(*__tag_region)(void *, size_t) = __default_tag_region; - static void *(*__tag_new_usable)(void *) = __default_tag_nop; - static void *(*__tag_at)(void *) = __default_tag_nop; - -+# define MTAG_MMAP_FLAGS __mtag_mmap_flags - # define TAG_NEW_MEMSET(ptr, val, size) __tag_new_memset (ptr, val, size) - # define TAG_REGION(ptr, size) __tag_region (ptr, size) - # define TAG_NEW_USABLE(ptr) __tag_new_usable (ptr) - # define TAG_AT(ptr) __tag_at (ptr) - #else -+# define MTAG_MMAP_FLAGS 0 - # define TAG_NEW_MEMSET(ptr, val, size) memset (ptr, val, size) - # define TAG_REGION(ptr, size) (ptr) - # define TAG_NEW_USABLE(ptr) (ptr) --- -2.25.1 - - -From 4b13f77fb97f9618a7868ab767d05e0c2d7c6f6f Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Thu, 4 Feb 2021 11:38:23 +0000 -Subject: [PATCH 03/11] malloc: Simplify __mtag_tag_new_usable - -The chunk cannot be a dumped one here. The only non-obvious cases -are free and realloc which may be called on a dumped area chunk, -but in both cases it can be verified that tagging is already -avoided for dumped area chunks. - -Reviewed-by: DJ Delorie ---- - malloc/arena.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/malloc/arena.c b/malloc/arena.c -index bf17be27d4..0777dc70c6 100644 ---- a/malloc/arena.c -+++ b/malloc/arena.c -@@ -298,11 +298,6 @@ __mtag_tag_new_usable (void *ptr) - if (ptr) - { - mchunkptr cp = mem2chunk(ptr); -- /* This likely will never happen, but we can't handle retagging -- chunks from the dumped main arena. So just return the -- existing pointer. */ -- if (DUMPED_MAIN_ARENA_CHUNK (cp)) -- return ptr; - ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr), - CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ); - } --- -2.25.1 - - -From 4f05837ba6934c5b8bbc6738f8883890493f50b6 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Thu, 4 Feb 2021 11:52:14 +0000 -Subject: [PATCH 04/11] malloc: Avoid taggig mmaped memory on free - -Either the memory belongs to the dumped area, in which case we don't -want to tag (the dumped area has the same tag as malloc internal data -so tagging is unnecessary, but chunks there may not have the right -alignment for the tag granule), or the memory will be unmapped -immediately (and thus tagging is not useful). - -Reviewed-by: DJ Delorie ---- - malloc/malloc.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 61c25d0f93..ecb87350b0 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3284,9 +3284,6 @@ __libc_free (void *mem) - - p = mem2chunk (mem); - -- /* Mark the chunk as belonging to the library again. */ -- (void)TAG_REGION (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); -- - if (chunk_is_mmapped (p)) /* release mmapped memory. */ - { - /* See if the dynamic brk/mmap threshold needs adjusting. -@@ -3307,6 +3304,10 @@ __libc_free (void *mem) - { - MAYBE_INIT_TCACHE (); - -+ /* Mark the chunk as belonging to the library again. */ -+ (void)TAG_REGION (chunk2rawmem (p), -+ CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); -+ - ar_ptr = arena_for_chunk (p); - _int_free (ar_ptr, p, 0); - } --- -2.25.1 - - -From 673fad3798846101b77a89595cfa17f334a1c898 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Tue, 16 Feb 2021 14:12:25 +0000 -Subject: [PATCH 05/11] malloc: Refactor TAG_ macros to avoid indirection - -This does not change behaviour, just removes one layer of indirection -in the internal memory tagging logic. - -Use tag_ and mtag_ prefixes instead of __tag_ and __mtag_ since these -are all symbols with internal linkage, private to malloc.c, so there -is no user namespace pollution issue. - -Reviewed-by: DJ Delorie ---- - malloc/arena.c | 16 +++++----- - malloc/hooks.c | 10 +++--- - malloc/malloc.c | 81 +++++++++++++++++++++++-------------------------- - 3 files changed, 51 insertions(+), 56 deletions(-) - -diff --git a/malloc/arena.c b/malloc/arena.c -index 0777dc70c6..d0778fea92 100644 ---- a/malloc/arena.c -+++ b/malloc/arena.c -@@ -332,12 +332,12 @@ ptmalloc_init (void) - if (__MTAG_SBRK_UNTAGGED) - __morecore = __failing_morecore; - -- __mtag_mmap_flags = __MTAG_MMAP_FLAGS; -- __tag_new_memset = __mtag_tag_new_memset; -- __tag_region = __libc_mtag_tag_region; -- __tag_new_usable = __mtag_tag_new_usable; -- __tag_at = __libc_mtag_address_get_tag; -- __mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1); -+ mtag_mmap_flags = __MTAG_MMAP_FLAGS; -+ tag_new_memset = __mtag_tag_new_memset; -+ tag_region = __libc_mtag_tag_region; -+ tag_new_usable = __mtag_tag_new_usable; -+ tag_at = __libc_mtag_address_get_tag; -+ mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1); - } - #endif - -@@ -557,7 +557,7 @@ new_heap (size_t size, size_t top_pad) - } - } - } -- if (__mprotect (p2, size, MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE) != 0) -+ if (__mprotect (p2, size, mtag_mmap_flags | PROT_READ | PROT_WRITE) != 0) - { - __munmap (p2, HEAP_MAX_SIZE); - return 0; -@@ -587,7 +587,7 @@ grow_heap (heap_info *h, long diff) - { - if (__mprotect ((char *) h + h->mprotect_size, - (unsigned long) new_size - h->mprotect_size, -- MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE) != 0) -+ mtag_mmap_flags | PROT_READ | PROT_WRITE) != 0) - return -2; - - h->mprotect_size = new_size; -diff --git a/malloc/hooks.c b/malloc/hooks.c -index efec05f0a8..d8e304c31c 100644 ---- a/malloc/hooks.c -+++ b/malloc/hooks.c -@@ -68,7 +68,7 @@ __malloc_check_init (void) - tags, so fetch the tag at each location before dereferencing - it. */ - #define SAFE_CHAR_OFFSET(p,offset) \ -- ((unsigned char *) TAG_AT (((unsigned char *) p) + offset)) -+ ((unsigned char *) tag_at (((unsigned char *) p) + offset)) - - /* A simple, standard set of debugging hooks. Overhead is `only' one - byte per chunk; still this will catch most cases of double frees or -@@ -249,7 +249,7 @@ malloc_check (size_t sz, const void *caller) - top_check (); - victim = _int_malloc (&main_arena, nb); - __libc_lock_unlock (main_arena.mutex); -- return mem2mem_check (TAG_NEW_USABLE (victim), sz); -+ return mem2mem_check (tag_new_usable (victim), sz); - } - - static void -@@ -280,7 +280,7 @@ free_check (void *mem, const void *caller) - else - { - /* Mark the chunk as belonging to the library again. */ -- (void)TAG_REGION (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p) -+ (void)tag_region (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p) - - CHUNK_HDR_SZ); - _int_free (&main_arena, p, 1); - __libc_lock_unlock (main_arena.mutex); -@@ -375,7 +375,7 @@ invert: - - __libc_lock_unlock (main_arena.mutex); - -- return mem2mem_check (TAG_NEW_USABLE (newmem), bytes); -+ return mem2mem_check (tag_new_usable (newmem), bytes); - } - - static void * -@@ -417,7 +417,7 @@ memalign_check (size_t alignment, size_t bytes, const void *caller) - top_check (); - mem = _int_memalign (&main_arena, alignment, bytes + 1); - __libc_lock_unlock (main_arena.mutex); -- return mem2mem_check (TAG_NEW_USABLE (mem), bytes); -+ return mem2mem_check (tag_new_usable (mem), bytes); - } - - #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_25) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index ecb87350b0..62d00f54cc 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -413,26 +413,26 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore; - operations can continue to be used. Support macros are used to do - this: - -- void *TAG_NEW_MEMSET (void *ptr, int, val, size_t size) -+ void *tag_new_memset (void *ptr, int, val, size_t size) - - Has the same interface as memset(), but additionally allocates a - new tag, colors the memory with that tag and returns a pointer that - is correctly colored for that location. The non-tagging version - will simply call memset. - -- void *TAG_REGION (void *ptr, size_t size) -+ void *tag_region (void *ptr, size_t size) - - Color the region of memory pointed to by PTR and size SIZE with - the color of PTR. Returns the original pointer. - -- void *TAG_NEW_USABLE (void *ptr) -+ void *tag_new_usable (void *ptr) - - Allocate a new random color and use it to color the user region of - a chunk; this may include data from the subsequent chunk's header - if tagging is sufficiently fine grained. Returns PTR suitably - recolored for accessing the memory there. - -- void *TAG_AT (void *ptr) -+ void *tag_at (void *ptr) - - Read the current color of the memory at the address pointed to by - PTR (ignoring it's current color) and return PTR recolored to that -@@ -455,25 +455,20 @@ __default_tag_nop (void *ptr) - return ptr; - } - --static int __mtag_mmap_flags = 0; --static size_t __mtag_granule_mask = ~(size_t)0; -+static int mtag_mmap_flags = 0; -+static size_t mtag_granule_mask = ~(size_t)0; - --static void *(*__tag_new_memset)(void *, int, size_t) = memset; --static void *(*__tag_region)(void *, size_t) = __default_tag_region; --static void *(*__tag_new_usable)(void *) = __default_tag_nop; --static void *(*__tag_at)(void *) = __default_tag_nop; -+static void *(*tag_new_memset)(void *, int, size_t) = memset; -+static void *(*tag_region)(void *, size_t) = __default_tag_region; -+static void *(*tag_new_usable)(void *) = __default_tag_nop; -+static void *(*tag_at)(void *) = __default_tag_nop; - --# define MTAG_MMAP_FLAGS __mtag_mmap_flags --# define TAG_NEW_MEMSET(ptr, val, size) __tag_new_memset (ptr, val, size) --# define TAG_REGION(ptr, size) __tag_region (ptr, size) --# define TAG_NEW_USABLE(ptr) __tag_new_usable (ptr) --# define TAG_AT(ptr) __tag_at (ptr) - #else --# define MTAG_MMAP_FLAGS 0 --# define TAG_NEW_MEMSET(ptr, val, size) memset (ptr, val, size) --# define TAG_REGION(ptr, size) (ptr) --# define TAG_NEW_USABLE(ptr) (ptr) --# define TAG_AT(ptr) (ptr) -+# define mtag_mmap_flags 0 -+# define tag_new_memset(ptr, val, size) memset (ptr, val, size) -+# define tag_region(ptr, size) (ptr) -+# define tag_new_usable(ptr) (ptr) -+# define tag_at(ptr) (ptr) - #endif - - #include -@@ -1305,8 +1300,8 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - /* Convert between user mem pointers and chunk pointers, updating any - memory tags on the pointer to respect the tag value at that - location. */ --#define chunk2mem(p) ((void*)TAG_AT (((char*)(p) + CHUNK_HDR_SZ))) --#define mem2chunk(mem) ((mchunkptr)TAG_AT (((char*)(mem) - CHUNK_HDR_SZ))) -+#define chunk2mem(p) ((void *)tag_at (((char*)(p) + CHUNK_HDR_SZ))) -+#define mem2chunk(mem) ((mchunkptr)tag_at (((char*)(mem) - CHUNK_HDR_SZ))) - - /* The smallest possible chunk */ - #define MIN_CHUNK_SIZE (offsetof(struct malloc_chunk, fd_nextsize)) -@@ -1337,7 +1332,7 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - #ifdef USE_MTAG - #define CHUNK_AVAILABLE_SIZE(p) \ - ((chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ)) \ -- & __mtag_granule_mask) -+ & mtag_granule_mask) - #else - #define CHUNK_AVAILABLE_SIZE(p) \ - (chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ)) -@@ -1361,7 +1356,7 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1) - number. Ideally, this would be part of request2size(), but that - must be a macro that produces a compile time constant if passed - a constant literal. */ -- req = (req + ~__mtag_granule_mask) & __mtag_granule_mask; -+ req = (req + ~mtag_granule_mask) & mtag_granule_mask; - #endif - - *sz = request2size (req); -@@ -2467,7 +2462,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) - if ((unsigned long) (size) > (unsigned long) (nb)) - { - mm = (char *) (MMAP (0, size, -- MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE, 0)); -+ mtag_mmap_flags | PROT_READ | PROT_WRITE, 0)); - - if (mm != MAP_FAILED) - { -@@ -2665,7 +2660,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) - if ((unsigned long) (size) > (unsigned long) (nb)) - { - char *mbrk = (char *) (MMAP (0, size, -- MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE, -+ mtag_mmap_flags | PROT_READ | PROT_WRITE, - 0)); - - if (mbrk != MAP_FAILED) -@@ -3221,14 +3216,14 @@ __libc_malloc (size_t bytes) - && tcache->counts[tc_idx] > 0) - { - victim = tcache_get (tc_idx); -- return TAG_NEW_USABLE (victim); -+ return tag_new_usable (victim); - } - DIAG_POP_NEEDS_COMMENT; - #endif - - if (SINGLE_THREAD_P) - { -- victim = TAG_NEW_USABLE (_int_malloc (&main_arena, bytes)); -+ victim = tag_new_usable (_int_malloc (&main_arena, bytes)); - assert (!victim || chunk_is_mmapped (mem2chunk (victim)) || - &main_arena == arena_for_chunk (mem2chunk (victim))); - return victim; -@@ -3249,7 +3244,7 @@ __libc_malloc (size_t bytes) - if (ar_ptr != NULL) - __libc_lock_unlock (ar_ptr->mutex); - -- victim = TAG_NEW_USABLE (victim); -+ victim = tag_new_usable (victim); - - assert (!victim || chunk_is_mmapped (mem2chunk (victim)) || - ar_ptr == arena_for_chunk (mem2chunk (victim))); -@@ -3305,7 +3300,7 @@ __libc_free (void *mem) - MAYBE_INIT_TCACHE (); - - /* Mark the chunk as belonging to the library again. */ -- (void)TAG_REGION (chunk2rawmem (p), -+ (void)tag_region (chunk2rawmem (p), - CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); - - ar_ptr = arena_for_chunk (p); -@@ -3408,7 +3403,7 @@ __libc_realloc (void *oldmem, size_t bytes) - reused. There's a performance hit for both us and the - caller for doing this, so we might want to - reconsider. */ -- return TAG_NEW_USABLE (newmem); -+ return tag_new_usable (newmem); - } - #endif - /* Note the extra SIZE_SZ overhead. */ -@@ -3451,7 +3446,7 @@ __libc_realloc (void *oldmem, size_t bytes) - { - size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ; - memcpy (newp, oldmem, sz); -- (void) TAG_REGION (chunk2rawmem (oldp), sz); -+ (void) tag_region (chunk2rawmem (oldp), sz); - _int_free (ar_ptr, oldp, 0); - } - } -@@ -3509,7 +3504,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) - p = _int_memalign (&main_arena, alignment, bytes); - assert (!p || chunk_is_mmapped (mem2chunk (p)) || - &main_arena == arena_for_chunk (mem2chunk (p))); -- return TAG_NEW_USABLE (p); -+ return tag_new_usable (p); - } - - arena_get (ar_ptr, bytes + alignment + MINSIZE); -@@ -3527,7 +3522,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) - - assert (!p || chunk_is_mmapped (mem2chunk (p)) || - ar_ptr == arena_for_chunk (mem2chunk (p))); -- return TAG_NEW_USABLE (p); -+ return tag_new_usable (p); - } - /* For ISO C11. */ - weak_alias (__libc_memalign, aligned_alloc) -@@ -3544,7 +3539,7 @@ __libc_valloc (size_t bytes) - void *address = RETURN_ADDRESS (0); - size_t pagesize = GLRO (dl_pagesize); - p = _mid_memalign (pagesize, bytes, address); -- return TAG_NEW_USABLE (p); -+ return tag_new_usable (p); - } - - void * -@@ -3569,7 +3564,7 @@ __libc_pvalloc (size_t bytes) - rounded_bytes = rounded_bytes & -(pagesize - 1); - - p = _mid_memalign (pagesize, rounded_bytes, address); -- return TAG_NEW_USABLE (p); -+ return tag_new_usable (p); - } - - void * -@@ -3666,7 +3661,7 @@ __libc_calloc (size_t n, size_t elem_size) - regardless of MORECORE_CLEARS, so we zero the whole block while - doing so. */ - #ifdef USE_MTAG -- return TAG_NEW_MEMSET (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); -+ return tag_new_memset (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); - #else - INTERNAL_SIZE_T csz = chunksize (p); - -@@ -4821,7 +4816,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, - av->top = chunk_at_offset (oldp, nb); - set_head (av->top, (newsize - nb) | PREV_INUSE); - check_inuse_chunk (av, oldp); -- return TAG_NEW_USABLE (chunk2rawmem (oldp)); -+ return tag_new_usable (chunk2rawmem (oldp)); - } - - /* Try to expand forward into next chunk; split off remainder below */ -@@ -4856,8 +4851,8 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, - { - void *oldmem = chunk2rawmem (oldp); - size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ; -- (void) TAG_REGION (oldmem, sz); -- newmem = TAG_NEW_USABLE (newmem); -+ (void) tag_region (oldmem, sz); -+ newmem = tag_new_usable (newmem); - memcpy (newmem, oldmem, sz); - _int_free (av, oldp, 1); - check_inuse_chunk (av, newp); -@@ -4881,7 +4876,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, - { - remainder = chunk_at_offset (newp, nb); - /* Clear any user-space tags before writing the header. */ -- remainder = TAG_REGION (remainder, remainder_size); -+ remainder = tag_region (remainder, remainder_size); - set_head_size (newp, nb | (av != &main_arena ? NON_MAIN_ARENA : 0)); - set_head (remainder, remainder_size | PREV_INUSE | - (av != &main_arena ? NON_MAIN_ARENA : 0)); -@@ -4891,7 +4886,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, - } - - check_inuse_chunk (av, newp); -- return TAG_NEW_USABLE (chunk2rawmem (newp)); -+ return tag_new_usable (chunk2rawmem (newp)); - } - - /* -@@ -5108,7 +5103,7 @@ musable (void *mem) - /* The usable space may be reduced if memory tagging is needed, - since we cannot share the user-space data with malloc's internal - data structure. */ -- result &= __mtag_granule_mask; -+ result &= mtag_granule_mask; - #endif - return result; - } --- -2.25.1 - - -From f0ea41e819f40aacedf25431bedd95da9c5db534 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Wed, 27 Jan 2021 15:45:43 +0000 -Subject: [PATCH 06/11] malloc: Use global flag instead of function pointer - dispatch for mtag - -A flag check can be faster than function pointers because of how -branch prediction and speculation works and it can also remove a layer -of indirection when there is a mismatch between the malloc internal -tag_* api and __libc_mtag_* target hooks. - -Memory tagging wrapper functions are moved to malloc.c from arena.c and -the logic now checks mmap_enabled. The definition of tag_new_usable is -moved after chunk related definitions. - -This refactoring also allows using mtag_enabled checks instead of -USE_MTAG ifdefs when memory tagging support only changes code logic -when memory tagging is enabled at runtime. Note: an "if (false)" code -block is optimized away even at -O0 by gcc. - -Reviewed-by: DJ Delorie ---- - malloc/arena.c | 33 +--------------------------- - malloc/malloc.c | 58 ++++++++++++++++++++++++++++++++----------------- - 2 files changed, 39 insertions(+), 52 deletions(-) - -diff --git a/malloc/arena.c b/malloc/arena.c -index d0778fea92..1e83bb66bd 100644 ---- a/malloc/arena.c -+++ b/malloc/arena.c -@@ -287,34 +287,6 @@ extern struct dl_open_hook *_dl_open_hook; - libc_hidden_proto (_dl_open_hook); - #endif - --#ifdef USE_MTAG -- --/* Generate a new (random) tag value for PTR and tag the memory it -- points to upto the end of the usable size for the chunk containing -- it. Return the newly tagged pointer. */ --static void * --__mtag_tag_new_usable (void *ptr) --{ -- if (ptr) -- { -- mchunkptr cp = mem2chunk(ptr); -- ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr), -- CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ); -- } -- return ptr; --} -- --/* Generate a new (random) tag value for PTR, set the tags for the -- memory to the new tag and initialize the memory contents to VAL. -- In practice this function will only be called with VAL=0, but we -- keep this parameter to maintain the same prototype as memset. */ --static void * --__mtag_tag_new_memset (void *ptr, int val, size_t size) --{ -- return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size); --} --#endif -- - static void - ptmalloc_init (void) - { -@@ -332,11 +304,8 @@ ptmalloc_init (void) - if (__MTAG_SBRK_UNTAGGED) - __morecore = __failing_morecore; - -+ mtag_enabled = true; - mtag_mmap_flags = __MTAG_MMAP_FLAGS; -- tag_new_memset = __mtag_tag_new_memset; -- tag_region = __libc_mtag_tag_region; -- tag_new_usable = __mtag_tag_new_usable; -- tag_at = __libc_mtag_address_get_tag; - mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1); - } - #endif -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 62d00f54cc..253a919ec5 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -441,35 +441,41 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore; - */ - - #ifdef USE_MTAG -+static bool mtag_enabled = false; -+static int mtag_mmap_flags = 0; -+static size_t mtag_granule_mask = ~(size_t)0; -+#else -+# define mtag_enabled false -+# define mtag_mmap_flags 0 -+#endif - --/* Default implementaions when memory tagging is supported, but disabled. */ --static void * --__default_tag_region (void *ptr, size_t size) -+static __always_inline void * -+tag_region (void *ptr, size_t size) - { -+ if (__glibc_unlikely (mtag_enabled)) -+ return __libc_mtag_tag_region (ptr, size); - return ptr; - } - --static void * --__default_tag_nop (void *ptr) -+static __always_inline void * -+tag_new_memset (void *ptr, int val, size_t size) - { -- return ptr; -+ if (__glibc_unlikely (mtag_enabled)) -+ return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size); -+ return memset (ptr, val, size); - } - --static int mtag_mmap_flags = 0; --static size_t mtag_granule_mask = ~(size_t)0; -- --static void *(*tag_new_memset)(void *, int, size_t) = memset; --static void *(*tag_region)(void *, size_t) = __default_tag_region; --static void *(*tag_new_usable)(void *) = __default_tag_nop; --static void *(*tag_at)(void *) = __default_tag_nop; -+/* Defined later. */ -+static void * -+tag_new_usable (void *ptr); - --#else --# define mtag_mmap_flags 0 --# define tag_new_memset(ptr, val, size) memset (ptr, val, size) --# define tag_region(ptr, size) (ptr) --# define tag_new_usable(ptr) (ptr) --# define tag_at(ptr) (ptr) --#endif -+static __always_inline void * -+tag_at (void *ptr) -+{ -+ if (__glibc_unlikely (mtag_enabled)) -+ return __libc_mtag_address_get_tag (ptr); -+ return ptr; -+} - - #include - -@@ -1460,6 +1466,18 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1) - #pragma GCC poison mchunk_size - #pragma GCC poison mchunk_prev_size - -+static __always_inline void * -+tag_new_usable (void *ptr) -+{ -+ if (__glibc_unlikely (mtag_enabled) && ptr) -+ { -+ mchunkptr cp = mem2chunk(ptr); -+ ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr), -+ CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ); -+ } -+ return ptr; -+} -+ - /* - -------------------- Internal data structures -------------------- - --- -2.25.1 - - -From 8597244d5c3edbd672b285eea5f6dea833256f9d Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Wed, 17 Feb 2021 10:39:37 +0000 -Subject: [PATCH 07/11] malloc: Ensure the generic mtag hooks are not used - -Use inline functions instead of macros, because macros can cause unused -variable warnings and type conversion issues. We assume these functions -may appear in the code but only in dead code paths (hidden by a runtime -check), so it's important that they can compile with correct types, but -if they are actually used that should be an error. - -Currently the hooks are only used when USE_MTAG is true which only -happens on aarch64 and then the aarch64 specific code is used not this -generic header. However followup refactoring will allow the hooks to -be used with !USE_MTAG. - -Note: the const qualifier in the comment was wrong: changing tags is a -write operation. - -Reviewed-by: DJ Delorie ---- - sysdeps/generic/libc-mtag.h | 41 ++++++++++++++++++++++++++++--------- - 1 file changed, 31 insertions(+), 10 deletions(-) - -diff --git a/sysdeps/generic/libc-mtag.h b/sysdeps/generic/libc-mtag.h -index 1a866cdc0c..e8fc236b6c 100644 ---- a/sysdeps/generic/libc-mtag.h -+++ b/sysdeps/generic/libc-mtag.h -@@ -31,22 +31,43 @@ - /* Extra flags to pass to mmap() to request a tagged region of memory. */ - #define __MTAG_MMAP_FLAGS 0 - -+/* Memory tagging target hooks are only called when memory tagging is -+ enabled at runtime. The generic definitions here must not be used. */ -+void __libc_mtag_link_error (void); -+ - /* Set the tags for a region of memory, which must have size and alignment -- that are multiples of __MTAG_GRANULE_SIZE. Size cannot be zero. -- void *__libc_mtag_tag_region (const void *, size_t) */ --#define __libc_mtag_tag_region(p, s) (p) -+ that are multiples of __MTAG_GRANULE_SIZE. Size cannot be zero. */ -+static inline void * -+__libc_mtag_tag_region (void *p, size_t n) -+{ -+ __libc_mtag_link_error (); -+ return p; -+} - - /* Optimized equivalent to __libc_mtag_tag_region followed by memset. */ --#define __libc_mtag_memset_with_tag memset -+static inline void * -+__libc_mtag_memset_with_tag (void *p, int c, size_t n) -+{ -+ __libc_mtag_link_error (); -+ return memset (p, c, n); -+} - - /* Convert address P to a pointer that is tagged correctly for that -- location. -- void *__libc_mtag_address_get_tag (void*) */ --#define __libc_mtag_address_get_tag(p) (p) -+ location. */ -+static inline void * -+__libc_mtag_address_get_tag (void *p) -+{ -+ __libc_mtag_link_error (); -+ return p; -+} - - /* Assign a new (random) tag to a pointer P (does not adjust the tag on -- the memory addressed). -- void *__libc_mtag_new_tag (void*) */ --#define __libc_mtag_new_tag(p) (p) -+ the memory addressed). */ -+static inline void * -+__libc_mtag_new_tag (void *p) -+{ -+ __libc_mtag_link_error (); -+ return p; -+} - - #endif /* _GENERIC_LIBC_MTAG_H */ --- -2.25.1 - - -From 3d9e16280ad881d038aedba0b6fcbd9e78b29072 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Fri, 29 Jan 2021 17:07:28 +0000 -Subject: [PATCH 08/11] malloc: Only support zeroing and not arbitrary memset - with mtag - -The memset api is suboptimal and does not provide much benefit. Memory -tagging only needs a zeroing memset (and only for memory that's sized -and aligned to multiples of the tag granule), so change the internal -api and the target hooks accordingly. This is to simplify the -implementation of the target hook. - -Reviewed-by: DJ Delorie ---- - malloc/malloc.c | 17 ++++++++--------- - sysdeps/aarch64/Makefile | 2 +- - ...g_memset_tag.S => __mtag_tag_zero_region.S} | 18 +++++++----------- - sysdeps/aarch64/libc-mtag.h | 4 ++-- - sysdeps/generic/libc-mtag.h | 6 +++--- - 5 files changed, 21 insertions(+), 26 deletions(-) - rename sysdeps/aarch64/{__mtag_memset_tag.S => __mtag_tag_zero_region.S} (82%) - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 253a919ec5..01cf6e9325 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -413,12 +413,11 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore; - operations can continue to be used. Support macros are used to do - this: - -- void *tag_new_memset (void *ptr, int, val, size_t size) -+ void *tag_new_zero_region (void *ptr, size_t size) - -- Has the same interface as memset(), but additionally allocates a -- new tag, colors the memory with that tag and returns a pointer that -- is correctly colored for that location. The non-tagging version -- will simply call memset. -+ Allocates a new tag, colors the memory with that tag, zeros the -+ memory and returns a pointer that is correctly colored for that -+ location. The non-tagging version will simply call memset with 0. - - void *tag_region (void *ptr, size_t size) - -@@ -458,11 +457,11 @@ tag_region (void *ptr, size_t size) - } - - static __always_inline void * --tag_new_memset (void *ptr, int val, size_t size) -+tag_new_zero_region (void *ptr, size_t size) - { - if (__glibc_unlikely (mtag_enabled)) -- return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size); -- return memset (ptr, val, size); -+ return __libc_mtag_tag_zero_region (__libc_mtag_new_tag (ptr), size); -+ return memset (ptr, 0, size); - } - - /* Defined later. */ -@@ -3679,7 +3678,7 @@ __libc_calloc (size_t n, size_t elem_size) - regardless of MORECORE_CLEARS, so we zero the whole block while - doing so. */ - #ifdef USE_MTAG -- return tag_new_memset (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); -+ return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); - #else - INTERNAL_SIZE_T csz = chunksize (p); - -diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile -index d3ab37a40a..259070cfad 100644 ---- a/sysdeps/aarch64/Makefile -+++ b/sysdeps/aarch64/Makefile -@@ -41,7 +41,7 @@ endif - ifeq ($(subdir),misc) - sysdep_headers += sys/ifunc.h - sysdep_routines += __mtag_address_get_tag \ -- __mtag_memset_tag \ -+ __mtag_tag_zero_region \ - __mtag_new_tag \ - __mtag_tag_region - -diff --git a/sysdeps/aarch64/__mtag_memset_tag.S b/sysdeps/aarch64/__mtag_tag_zero_region.S -similarity index 82% -rename from sysdeps/aarch64/__mtag_memset_tag.S -rename to sysdeps/aarch64/__mtag_tag_zero_region.S -index 3c202888a4..74d398bba5 100644 ---- a/sysdeps/aarch64/__mtag_memset_tag.S -+++ b/sysdeps/aarch64/__mtag_tag_zero_region.S -@@ -20,9 +20,6 @@ - - #ifdef USE_MTAG - --/* Use the same register names and assignments as memset. */ --#include "memset-reg.h" -- - .arch armv8.5-a - .arch_extension memtag - -@@ -31,16 +28,15 @@ - /* FIXME: This is a minimal implementation. We could do much better than - this for large values of COUNT. */ - --ENTRY(__libc_mtag_memset_with_tag) -+#define dstin x0 -+#define count x1 -+#define dst x2 - -- and valw, valw, 255 -- orr valw, valw, valw, lsl 8 -- orr valw, valw, valw, lsl 16 -- orr val, val, val, lsl 32 -- mov dst, dstin -+ENTRY(__libc_mtag_tag_zero_region) - -+ mov dst, dstin - L(loop): -- stgp val, val, [dst], #16 -+ stzg dst, [dst], #16 - subs count, count, 16 - bne L(loop) - #if 0 -@@ -49,5 +45,5 @@ L(loop): - ldg dstin, [dstin] // Recover the tag created (might be untagged). - #endif - ret --END (__libc_mtag_memset_with_tag) -+END (__libc_mtag_tag_zero_region) - #endif /* USE_MTAG */ -diff --git a/sysdeps/aarch64/libc-mtag.h b/sysdeps/aarch64/libc-mtag.h -index 979cbb743e..f58402ccf9 100644 ---- a/sysdeps/aarch64/libc-mtag.h -+++ b/sysdeps/aarch64/libc-mtag.h -@@ -39,8 +39,8 @@ - void *__libc_mtag_tag_region (const void *, size_t) */ - void *__libc_mtag_tag_region (void *, size_t); - --/* Optimized equivalent to __libc_mtag_tag_region followed by memset. */ --void *__libc_mtag_memset_with_tag (void *, int, size_t); -+/* Optimized equivalent to __libc_mtag_tag_region followed by memset to 0. */ -+void *__libc_mtag_tag_zero_region (void *, size_t); - - /* Convert address P to a pointer that is tagged correctly for that - location. -diff --git a/sysdeps/generic/libc-mtag.h b/sysdeps/generic/libc-mtag.h -index e8fc236b6c..4743e873f1 100644 ---- a/sysdeps/generic/libc-mtag.h -+++ b/sysdeps/generic/libc-mtag.h -@@ -44,12 +44,12 @@ __libc_mtag_tag_region (void *p, size_t n) - return p; - } - --/* Optimized equivalent to __libc_mtag_tag_region followed by memset. */ -+/* Optimized equivalent to __libc_mtag_tag_region followed by memset to 0. */ - static inline void * --__libc_mtag_memset_with_tag (void *p, int c, size_t n) -+__libc_mtag_tag_zero_region (void *p, size_t n) - { - __libc_mtag_link_error (); -- return memset (p, c, n); -+ return memset (p, 0, n); - } - - /* Convert address P to a pointer that is tagged correctly for that --- -2.25.1 - - -From 4d596cb72342ba0734dc847653431e078a70edfc Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Tue, 16 Feb 2021 17:02:44 +0000 -Subject: [PATCH 09/11] malloc: Change calloc when tagging is disabled - -When glibc is built with memory tagging support (USE_MTAG) but it is not -enabled at runtime (mtag_enabled) then unconditional memset was used -even though that can be often avoided. - -This is for performance when tagging is supported but not enabled. -The extra check should have no overhead: tag_new_zero_region already -had a runtime check which the compiler can now optimize away. - -Reviewed-by: DJ Delorie ---- - malloc/malloc.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 01cf6e9325..0b2aff3768 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3591,11 +3591,9 @@ __libc_calloc (size_t n, size_t elem_size) - mchunkptr oldtop; - INTERNAL_SIZE_T sz, oldtopsize; - void *mem; --#ifndef USE_MTAG - unsigned long clearsize; - unsigned long nclears; - INTERNAL_SIZE_T *d; --#endif - ptrdiff_t bytes; - - if (__glibc_unlikely (__builtin_mul_overflow (n, elem_size, &bytes))) -@@ -3674,12 +3672,13 @@ __libc_calloc (size_t n, size_t elem_size) - return 0; - - mchunkptr p = mem2chunk (mem); -+ - /* If we are using memory tagging, then we need to set the tags - regardless of MORECORE_CLEARS, so we zero the whole block while - doing so. */ --#ifdef USE_MTAG -- return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); --#else -+ if (__glibc_unlikely (mtag_enabled)) -+ return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ); -+ - INTERNAL_SIZE_T csz = chunksize (p); - - /* Two optional cases in which clearing not necessary */ -@@ -3733,7 +3732,6 @@ __libc_calloc (size_t n, size_t elem_size) - } - - return mem; --#endif - } - - /* --- -2.25.1 - - -From 287a35fba55a0a817db7af71ee966a37b7642bf0 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Mon, 8 Feb 2021 12:39:01 +0000 -Subject: [PATCH 10/11] malloc: Use branches instead of mtag_granule_mask - -The branches may be better optimized since mtag_enabled is widely used. - -Granule size larger than a chunk header is not supported since then we -cannot have both the chunk header and user area granule aligned. To -fix that for targets with large granule, the chunk layout has to change. - -So code that attempted to handle the granule mask generally was changed. -This simplified CHUNK_AVAILABLE_SIZE and the logic in malloc_usable_size. - -Reviewed-by: DJ Delorie ---- - malloc/arena.c | 1 - - malloc/malloc.c | 34 ++++++++++++++-------------------- - 2 files changed, 14 insertions(+), 21 deletions(-) - -diff --git a/malloc/arena.c b/malloc/arena.c -index 1e83bb66bd..9fbbb38a15 100644 ---- a/malloc/arena.c -+++ b/malloc/arena.c -@@ -306,7 +306,6 @@ ptmalloc_init (void) - - mtag_enabled = true; - mtag_mmap_flags = __MTAG_MMAP_FLAGS; -- mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1); - } - #endif - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 0b2aff3768..849bd8e2c9 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -442,7 +442,6 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore; - #ifdef USE_MTAG - static bool mtag_enabled = false; - static int mtag_mmap_flags = 0; --static size_t mtag_granule_mask = ~(size_t)0; - #else - # define mtag_enabled false - # define mtag_mmap_flags 0 -@@ -1333,15 +1332,16 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ((req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK) - - /* Available size of chunk. This is the size of the real usable data -- in the chunk, plus the chunk header. */ --#ifdef USE_MTAG --#define CHUNK_AVAILABLE_SIZE(p) \ -- ((chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ)) \ -- & mtag_granule_mask) --#else --#define CHUNK_AVAILABLE_SIZE(p) \ -- (chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ)) --#endif -+ in the chunk, plus the chunk header. Note: If memory tagging is -+ enabled the layout changes to accomodate the granule size, this is -+ wasteful for small allocations so not done by default. The logic -+ does not work if chunk headers are not granule aligned. */ -+_Static_assert (__MTAG_GRANULE_SIZE <= CHUNK_HDR_SZ, -+ "memory tagging is not supported with large granule."); -+#define CHUNK_AVAILABLE_SIZE(p) \ -+ (__MTAG_GRANULE_SIZE > SIZE_SZ && __glibc_unlikely (mtag_enabled) ? \ -+ chunksize (p) : \ -+ chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ)) - - /* Check if REQ overflows when padded and aligned and if the resulting value - is less than PTRDIFF_T. Returns TRUE and the requested size or MINSIZE in -@@ -1353,7 +1353,6 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1) - if (__glibc_unlikely (req > PTRDIFF_MAX)) - return false; - --#ifdef USE_MTAG - /* When using tagged memory, we cannot share the end of the user - block with the header for the next chunk, so ensure that we - allocate blocks that are rounded up to the granule size. Take -@@ -1361,8 +1360,9 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1) - number. Ideally, this would be part of request2size(), but that - must be a macro that produces a compile time constant if passed - a constant literal. */ -- req = (req + ~mtag_granule_mask) & mtag_granule_mask; --#endif -+ if (__glibc_unlikely (mtag_enabled)) -+ req = (req + (__MTAG_GRANULE_SIZE - 1)) & -+ ~(size_t)(__MTAG_GRANULE_SIZE - 1); - - *sz = request2size (req); - return true; -@@ -5112,14 +5112,8 @@ musable (void *mem) - result = chunksize (p) - CHUNK_HDR_SZ; - } - else if (inuse (p)) -- result = chunksize (p) - SIZE_SZ; -+ result = CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ; - --#ifdef USE_MTAG -- /* The usable space may be reduced if memory tagging is needed, -- since we cannot share the user-space data with malloc's internal -- data structure. */ -- result &= mtag_granule_mask; --#endif - return result; - } - return 0; --- -2.25.1 - - -From 66de173bf919e601e408dc78772c6841ad6388ab Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Wed, 17 Feb 2021 10:15:18 +0000 -Subject: [PATCH 11/11] malloc: Use mtag_enabled instead of USE_MTAG - -Use the runtime check where possible: it should not cause slow down in -the !USE_MTAG case since then mtag_enabled is constant false, but it -allows compiling the tagging logic so it's less likely to break or -diverge when developers only test the !USE_MTAG case. - -Reviewed-by: DJ Delorie ---- - malloc/hooks.c | 10 ++++------ - malloc/malloc.c | 10 ++++------ - 2 files changed, 8 insertions(+), 12 deletions(-) - -diff --git a/malloc/hooks.c b/malloc/hooks.c -index d8e304c31c..9474e199c3 100644 ---- a/malloc/hooks.c -+++ b/malloc/hooks.c -@@ -262,11 +262,10 @@ free_check (void *mem, const void *caller) - - int err = errno; - --#ifdef USE_MTAG - /* Quickly check that the freed pointer matches the tag for the memory. - This gives a useful double-free detection. */ -- *(volatile char *)mem; --#endif -+ if (__glibc_unlikely (mtag_enabled)) -+ *(volatile char *)mem; - - __libc_lock_lock (main_arena.mutex); - p = mem2chunk_check (mem, NULL); -@@ -310,11 +309,10 @@ realloc_check (void *oldmem, size_t bytes, const void *caller) - return NULL; - } - --#ifdef USE_MTAG - /* Quickly check that the freed pointer matches the tag for the memory. - This gives a useful double-free detection. */ -- *(volatile char *)oldmem; --#endif -+ if (__glibc_unlikely (mtag_enabled)) -+ *(volatile char *)oldmem; - - __libc_lock_lock (main_arena.mutex); - const mchunkptr oldp = mem2chunk_check (oldmem, &magic_p); -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 849bd8e2c9..36583120ce 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3286,11 +3286,10 @@ __libc_free (void *mem) - if (mem == 0) /* free(0) has no effect */ - return; - --#ifdef USE_MTAG - /* Quickly check that the freed pointer matches the tag for the memory. - This gives a useful double-free detection. */ -- *(volatile char *)mem; --#endif -+ if (__glibc_unlikely (mtag_enabled)) -+ *(volatile char *)mem; - - int err = errno; - -@@ -3352,11 +3351,10 @@ __libc_realloc (void *oldmem, size_t bytes) - if (oldmem == 0) - return __libc_malloc (bytes); - --#ifdef USE_MTAG - /* Perform a quick check to ensure that the pointer's tag matches the - memory's tag. */ -- *(volatile char*) oldmem; --#endif -+ if (__glibc_unlikely (mtag_enabled)) -+ *(volatile char*) oldmem; - - /* chunk corresponding to oldmem */ - const mchunkptr oldp = mem2chunk (oldmem); --- -2.25.1 - diff --git a/poky/meta/recipes-core/glibc/glibc_2.33.bb b/poky/meta/recipes-core/glibc/glibc_2.33.bb deleted file mode 100644 index 67eb3f04b..000000000 --- a/poky/meta/recipes-core/glibc/glibc_2.33.bb +++ /dev/null @@ -1,134 +0,0 @@ -require glibc.inc -require glibc-version.inc - -CVE_CHECK_WHITELIST += "CVE-2020-10029 CVE-2021-27645" - -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022 -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023 -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024 -# Upstream glibc maintainers dispute there is any issue and have no plans to address it further. -# "this is being treated as a non-security bug and no real threat." -CVE_CHECK_WHITELIST += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" - -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025 -# Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow -# easier access for another. "ASLR bypass itself is not a vulnerability." -# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 -CVE_CHECK_WHITELIST += "CVE-2019-1010025" - -DEPENDS += "gperf-native bison-native make-native" - -NATIVESDKFIXES ?= "" -NATIVESDKFIXES:class-nativesdk = "\ - file://0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ - file://0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ - file://0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ - file://0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ - file://0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ - file://faccessat2-perm.patch \ -" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - file://etc/ld.so.conf \ - file://generate-supported.mk \ - file://makedbs.sh \ - \ - ${NATIVESDKFIXES} \ - file://0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ - file://0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ - file://0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ - file://0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ - file://0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ - file://0015-yes-within-the-path-sets-wrong-config-variables.patch \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0021-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0022-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ - file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ - file://0025-intl-Emit-no-lines-in-bison-generated-files.patch \ - file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ - file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ - file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ - file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ - file://mte-backports.patch \ - file://CVE-2021-33574.patch \ - " -S = "${WORKDIR}/git" -B = "${WORKDIR}/build-${TARGET_SYS}" - -PACKAGES_DYNAMIC = "" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" - -GLIBC_BROKEN_LOCALES = "" - -GLIBCPIE ??= "" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --disable-profile \ - --disable-debug --without-gd \ - --enable-clocale=gnu \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - --enable-tunables \ - --enable-bind-now \ - --enable-stack-protector=strong \ - --enable-stackguard-randomization \ - --disable-crypt \ - --with-default-link \ - ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ - ${GLIBCPIE} \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" - -EXTRA_OECONF:append:x86 = " --enable-cet" -EXTRA_OECONF:append:x86-64 = " --enable-cet" - -PACKAGECONFIG ??= "nscd memory-tagging" -PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" -PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging" - -do_patch:append() { - bb.build.exec_func('do_fix_readlib_c', d) -} - -do_fix_readlib_c () { - sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c -} - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - find ${S} -name "configure" | xargs touch - CPPFLAGS="" oe_runconf -} - -LDFLAGS += "-fuse-ld=bfd" -do_compile () { - base_do_compile - echo "Adjust ldd script" - if [ -n "${RTLDLIST}" ] - then - prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` - # remove duplicate entries - newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` - echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" - sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" - fi -} - -require glibc-package.inc - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/glibc/glibc_2.34.bb b/poky/meta/recipes-core/glibc/glibc_2.34.bb new file mode 100644 index 000000000..66494c5c2 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc_2.34.bb @@ -0,0 +1,130 @@ +require glibc.inc +require glibc-version.inc + +CVE_CHECK_WHITELIST += "CVE-2020-10029 CVE-2021-27645" + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024 +# Upstream glibc maintainers dispute there is any issue and have no plans to address it further. +# "this is being treated as a non-security bug and no real threat." +CVE_CHECK_WHITELIST += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025 +# Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow +# easier access for another. "ASLR bypass itself is not a vulnerability." +# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 +CVE_CHECK_WHITELIST += "CVE-2019-1010025" + +DEPENDS += "gperf-native bison-native make-native" + +NATIVESDKFIXES ?= "" +NATIVESDKFIXES:class-nativesdk = "\ + file://0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ + file://0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ + file://0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ + file://0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ + file://0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ + file://0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch \ +" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + file://etc/ld.so.conf \ + file://generate-supported.mk \ + file://makedbs.sh \ + \ + ${NATIVESDKFIXES} \ + file://0009-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ + file://0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ + file://0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ + file://0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ + file://0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ + file://0016-yes-within-the-path-sets-wrong-config-variables.patch \ + file://0017-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0018-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0019-eglibc-Cross-building-and-testing-instructions.patch \ + file://0020-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ + file://0026-intl-Emit-no-lines-in-bison-generated-files.patch \ + file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ + file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ + file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ + file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ + " +S = "${WORKDIR}/git" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" + +GLIBC_BROKEN_LOCALES = "" + +GLIBCPIE ??= "" + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --disable-profile \ + --disable-debug --without-gd \ + --enable-clocale=gnu \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + --enable-tunables \ + --enable-bind-now \ + --enable-stack-protector=strong \ + --disable-crypt \ + --with-default-link \ + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ + ${GLIBCPIE} \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" + +EXTRA_OECONF:append:x86 = " --enable-cet" +EXTRA_OECONF:append:x86-64 = " --enable-cet" + +PACKAGECONFIG ??= "nscd memory-tagging" +PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" +PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging" + +do_patch:append() { + bb.build.exec_func('do_fix_readlib_c', d) +} + +do_fix_readlib_c () { + sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" oe_runconf +} + +LDFLAGS += "-fuse-ld=bfd" +do_compile () { + base_do_compile + echo "Adjust ldd script" + if [ -n "${RTLDLIST}" ] + then + prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` + # remove duplicate entries + newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` + echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" + sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" + fi +} + +require glibc-package.inc + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb index 9775430d4..6e96cf6c3 100644 --- a/poky/meta/recipes-core/meta/buildtools-tarball.bb +++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb @@ -99,3 +99,16 @@ TOOLCHAIN_NEED_CONFIGSITE_CACHE = "" # The recipe doesn't need any default deps INHIBIT_DEFAULT_DEPS = "1" + +python do_testsdk() { + import oeqa.sdk.testsdk + testsdk = oeqa.sdk.testsdk.TestSDK() + + cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), "buildtools-cases") + testsdk.context_executor_class.default_cases = cases_path + + testsdk.run(d) +} +addtask testsdk +do_testsdk[nostamp] = "1" +do_testsdk[depends] += "xz-native:do_populate_sysroot" diff --git a/poky/meta/recipes-core/systemd/systemd_249.1.bb b/poky/meta/recipes-core/systemd/systemd_249.1.bb index 5d472027c..a6759c7a3 100644 --- a/poky/meta/recipes-core/systemd/systemd_249.1.bb +++ b/poky/meta/recipes-core/systemd/systemd_249.1.bb @@ -93,7 +93,7 @@ PACKAGECONFIG ??= " \ userdb \ utmp \ vconsole \ - xz \ + zstd \ " PACKAGECONFIG:remove:libc-musl = " \ @@ -199,6 +199,7 @@ PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" 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. diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index a76fb9e50..0f17c73e8 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -35,6 +35,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin file://run-ptest \ file://display_testname_for_subtest.patch \ file://avoid_parallel_tests.patch \ + file://CVE-2021-37600.patch \ " SRC_URI[sha256sum] = "8e4bd42053b726cf86eb4d13a73bc1d9225a2c2e1a2e0d2a891f1020f83e6b76" diff --git a/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch b/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch new file mode 100644 index 000000000..2b306c435 --- /dev/null +++ b/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch @@ -0,0 +1,33 @@ +From 1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 27 Jul 2021 11:58:31 +0200 +Subject: [PATCH] sys-utils/ipcutils: be careful when call calloc() for uint64 + nmembs + +Fix: https://github.com/karelzak/util-linux/issues/1395 +Signed-off-by: Karel Zak + +CVE: CVE-2021-37600 +Upstream-Status: Backport [1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c] + +Signed-off-by: Dragos-Marian Panait +--- + sys-utils/ipcutils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/ipcutils.c b/sys-utils/ipcutils.c +index e784c4dcb..18868cfd3 100644 +--- a/sys-utils/ipcutils.c ++++ b/sys-utils/ipcutils.c +@@ -218,7 +218,7 @@ static void get_sem_elements(struct sem_data *p) + { + size_t i; + +- if (!p || !p->sem_nsems || p->sem_perm.id < 0) ++ if (!p || !p->sem_nsems || p->sem_nsems > SIZE_MAX || p->sem_perm.id < 0) + return; + + p->elements = xcalloc(p->sem_nsems, sizeof(struct sem_elem)); +-- +2.25.1 + diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb index b67c3dcb5..935159514 100644 --- a/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb +++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb @@ -1,7 +1,7 @@ require util-linux.inc #gtk-doc is not enabled as it requires xmlto which requires util-linux -inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest +inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" PACKAGES =+ "${PN}-swaponoff" @@ -92,6 +92,9 @@ EXTRA_OECONF:append = " --disable-hwclock-gplv3" # PACKAGECONFIG ?= "pcre2" PACKAGECONFIG:class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}" +# inherit manpages requires this to be present, however util-linux does not have +# configuration options, and installs manpages always +PACKAGECONFIG[manpages] = "" PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," # Respect the systemd feature for uuidd PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd" @@ -263,6 +266,32 @@ ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump" ALTERNATIVE_LINK_NAME[uuidgen] = "${bindir}/uuidgen" ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall" +ALTERNATIVE:${PN}-doc = "\ +blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 \ +mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ +" +ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" + +ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" +ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" +ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" +ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" +ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1" +ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1" +ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1" +ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3" +ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1" +ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" +ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" +ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8" +ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8" +ALTERNATIVE_LINK_NAME[setpriv.1] = "${mandir}/man1/setpriv.1" +ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" +ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" +ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" +ALTERNATIVE_LINK_NAME[uuid.3] = "${mandir}/man3/uuid.3" +ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" + BBCLASSEXTEND = "native nativesdk" PTEST_BINDIR = "1" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch new file mode 100644 index 000000000..caeb560d3 --- /dev/null +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch @@ -0,0 +1,22 @@ +Ensure "small" file systems also have the default inode size (256 bytes) so that +can store 64-bit timestamps and work past 2038. + +The "small" type is any size >3MB and <512MB, which covers a lot of relatively +small filesystems built by OE, especially when they're sized to fit the contents +and expand to the storage on boot. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in +index 01e35cf8..29f41dc0 100644 +--- a/misc/mke2fs.conf.in ++++ b/misc/mke2fs.conf.in +@@ -16,7 +16,6 @@ + } + small = { + blocksize = 1024 +- inode_size = 128 + inode_ratio = 4096 + } + floppy = { diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb index d68d131e0..8cc046c79 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb @@ -10,6 +10,7 @@ SRC_URI += "file://remove.ldconfig.call.patch \ SRC_URI:append:class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \ file://quiet-debugfs.patch \ + file://big-inodes-for-small-fs.patch \ " diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb index 5031ab97e..7a88c5259 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb @@ -127,7 +127,7 @@ FILES:libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils FILES:libdebuginfod = "${libdir}/libdebuginfod-${PV}.so ${libdir}/libdebuginfod.so.*" # Some packages have the version preceeding the .so instead properly # versioned .so., so we need to reorder and repackage. -#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" +#FILES:${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" #FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" # The package contains symlinks that trip up insane diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc index c1cbceb51..6748d7468 100644 --- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc +++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc @@ -23,6 +23,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \ file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \ file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \ + file://lto-prefix.patch \ " SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" diff --git a/poky/meta/recipes-devtools/libtool/libtool/lto-prefix.patch b/poky/meta/recipes-devtools/libtool/libtool/lto-prefix.patch new file mode 100644 index 000000000..2bd010b8e --- /dev/null +++ b/poky/meta/recipes-devtools/libtool/libtool/lto-prefix.patch @@ -0,0 +1,22 @@ +If lto is enabled, we need the prefix-map variables to be passed to the linker. +Add these to the list of options libtool passes through. + +Upstream-Status: Pending +Signed-off-by: Richard Purdie + +Index: libtool-2.4.6/build-aux/ltmain.in +=================================================================== +--- libtool-2.4.6.orig/build-aux/ltmain.in ++++ libtool-2.4.6/build-aux/ltmain.in +@@ -5424,9 +5424,10 @@ func_mode_link () + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -stdlib=* select c++ std lib with clang ++ # -f*-prefix-map* needed for lto linking + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ +- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) ++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-f*-prefix-map*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + func_append compile_command " $arg" diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb index cc01321f7..ab19a8d0b 100644 --- a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb +++ b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb @@ -361,7 +361,7 @@ EOPREAMBLE 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/;' | \ + 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-test2|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 diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb deleted file mode 100644 index 73076b873..000000000 --- a/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb +++ /dev/null @@ -1,7 +0,0 @@ -require python3-scons_${PV}.bb -inherit native python3native -DEPENDS = "python3-native python3-setuptools-native" - -do_install:append() { - create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' -} diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb b/poky/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb new file mode 100644 index 000000000..73076b873 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb @@ -0,0 +1,7 @@ +require python3-scons_${PV}.bb +inherit native python3native +DEPENDS = "python3-native python3-setuptools-native" + +do_install:append() { + create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' +} diff --git a/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch b/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch index ff212b85e..6dffe6480 100644 --- a/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch +++ b/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch @@ -1,4 +1,4 @@ -From 82be2b7b9758a2f62ee11931da674cd541076041 Mon Sep 17 00:00:00 2001 +From 8b482e618047e94833545dce3a26924ef4f075db Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Sat, 22 May 2021 11:20:46 -0700 Subject: [PATCH] Fix man page installation @@ -9,10 +9,10 @@ Fixes: Upstream-Status: Inappropriate [oe specific] Signed-off-by: Tim Orling + --- MANIFEST.in | 2 +- - setup.cfg | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index 04ec000..937f6f3 100644 @@ -27,20 +27,3 @@ index 04ec000..937f6f3 100644 -diff --git a/setup.cfg b/setup.cfg -index 37e5204..677c00a 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -56,9 +56,9 @@ console_scripts = - scons.tool.docbook = *.* - - [options.data_files] --. = build/doc/man/scons.1 -- build/doc/man/scons-time.1 -- build/doc/man/sconsign.1 -+. = scons.1 -+ scons-time.1 -+ sconsign.1 - - [sdist] - dist-dir = build/dist diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb deleted file mode 100644 index 5a5b550be..000000000 --- a/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Software Construction tool (make/autotools replacement)" -HOMEPAGE = "https://github.com/SCons/scons" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b94c6e2be9670c62b38f7118c12866d2" - -SRC_URI += " file://0001-Fix-man-page-installation.patch" -SRC_URI[sha256sum] = "accb8035be2c9cfbab06471286eaeff86a10037a8064cf4ef4c3df04ea5a7387" - -PYPI_PACKAGE = "SCons" - -inherit pypi setuptools3 - -RDEPENDS:${PN}:class-target = "\ - python3-core \ - python3-compression \ - python3-fcntl \ - python3-importlib-metadata \ - python3-io \ - python3-json \ - python3-shell \ - python3-pickle \ - python3-pkg-resources \ - python3-pprint \ - " - -FILES:${PN}-doc += "${datadir}/scons*.1" diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.2.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.2.0.bb new file mode 100644 index 000000000..23527a2cc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons_4.2.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +HOMEPAGE = "https://github.com/SCons/scons" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7" + +SRC_URI += " file://0001-Fix-man-page-installation.patch" +SRC_URI[sha256sum] = "691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a" + +PYPI_PACKAGE = "SCons" + +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target = "\ + python3-core \ + python3-compression \ + python3-fcntl \ + python3-importlib-metadata \ + python3-io \ + python3-json \ + python3-shell \ + python3-pickle \ + python3-pkg-resources \ + python3-pprint \ + " + +FILES:${PN}-doc += "${datadir}/scons*.1" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 4de8a9098..0bbc4b118 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -110,7 +110,7 @@ export LIBTOOL="${HOST_SYS}-libtool" B = "${WORKDIR}/build" -#EXTRA_OECONF_append = " --python=${HOSTTOOLS_DIR}/python3" +#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3" do_configure:prepend:class-native() { # Append build host pkg-config paths for native target since the host may provide sdl diff --git a/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch b/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch new file mode 100644 index 000000000..9387506c2 --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch @@ -0,0 +1,42 @@ +Subject: [PATCH] template/Makefile.in: filter out -f*prefix-map + +If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no longer +reproducible. Fix this. + +Upstream-Status: Inapproppriate [oe-core specific] +Signed-off-by: Tony Battersby +--- +--- a/tool/mjit_archflag.sh ++++ b/tool/mjit_archflag.sh +@@ -7,6 +7,20 @@ quote() { + echo + } + ++quote_filtered() { ++ printf "#${indent}define $1" ++ while shift && [ "$#" -gt 0 ]; do ++ case "$1" in ++ -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*) ++ ;; ++ *) ++ printf ' "%s"'$sep "$1" ++ ;; ++ esac ++ done ++ echo ++} ++ + archs="" + arch_flag="" + +--- a/template/Makefile.in ++++ b/template/Makefile.in +@@ -666,7 +666,7 @@ mjit_config.h: + quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \ + quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \ + quote "MJIT_LDSHARED " ; \ +- quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \ ++ quote_filtered "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \ + quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \ + quote 'PRELOADENV "@PRELOADENV@"'; \ + indent=$${archs:+' '}; \ diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb index a08273557..38e594a59 100644 --- a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb +++ b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb @@ -6,6 +6,7 @@ SRC_URI += " \ file://remove_has_include_macros.patch \ file://run-ptest \ file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ + file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \ " SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" @@ -55,6 +56,10 @@ do_install:append:class-target () { -e 's:${RECIPE_SYSROOT}::g' \ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ ${D}$rbconfig_rb + + sed -i -e 's|${DEBUG_PREFIX_MAP}||g' \ + ${D}${libdir}/pkgconfig/*.pc + } do_install_ptest () { diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index b4fc8af33..440e8bec3 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -236,3 +236,5 @@ memcheck/tests/wrapmallocstatic memcheck/tests/writev1 memcheck/tests/xml1 memcheck/tests/linux/stack_changes +gdbserver_tests/hginfo +memcheck/tests/linux/timerfd-syscall diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all index c3fc63906..cb8d10b18 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all @@ -1 +1,8 @@ none/tests/amd64/fb_test_amd64 +gdbserver_tests/hginfo +memcheck/tests/supp_unknown +helgrind/tests/tls_threads +drd/tests/bar_bad_xml +drd/tests/pth_barrier_thr_cr +drd/tests/thread_name_xml +massif/tests/deep-D diff --git a/poky/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch b/poky/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch deleted file mode 100644 index bd2b5c55b..000000000 --- a/poky/meta/recipes-extended/parted/files/0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5c99d7e4c2b5e7a957dc922aff03debfebbd6154 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Fri, 3 Mar 2017 21:49:15 +0100 -Subject: [PATCH] libparted_fs_resize: link against libuuid explicitly to - unbreak gold linking on test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -| ../libparted/fs/.libs/libparted-fs-resize.so: error: undefined reference to 'uuid_generate' - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - libparted/fs/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am -index d3cc8bc..c301b0b 100644 ---- a/libparted/fs/Makefile.am -+++ b/libparted/fs/Makefile.am -@@ -113,6 +113,8 @@ libparted_fs_resize_la_SOURCES = \ - r/hfs/reloc_plus.c \ - r/hfs/reloc_plus.h - -+libparted_fs_resize_la_LIBADD = $(UUID_LIBS) -+ - AM_CPPFLAGS = \ - -I$(top_srcdir)/libparted/labels \ - $(partedincludedir) \ --- -2.9.3 - diff --git a/poky/meta/recipes-extended/parted/files/check-vfat.patch b/poky/meta/recipes-extended/parted/files/check-vfat.patch index c64130a4e..fad50292d 100644 --- a/poky/meta/recipes-extended/parted/files/check-vfat.patch +++ b/poky/meta/recipes-extended/parted/files/check-vfat.patch @@ -1,7 +1,7 @@ Add checks for both mkfs.vfat and the vfat file system in the kernel before running tests. -Upstream-Status: Pending +Upstream-Status: Submitted [https://alioth-lists.debian.net/pipermail/parted-devel/2021-August/005653.html] Signed-off-by: Ross Burton diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh diff --git a/poky/meta/recipes-extended/parted/parted_3.4.bb b/poky/meta/recipes-extended/parted/parted_3.4.bb index 8924bdb47..ffab62711 100644 --- a/poky/meta/recipes-extended/parted/parted_3.4.bb +++ b/poky/meta/recipes-extended/parted/parted_3.4.bb @@ -8,7 +8,6 @@ DEPENDS = "ncurses util-linux virtual/libiconv" SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://fix-doc-mandir.patch \ - file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \ file://run-ptest \ file://check-vfat.patch \ " diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb deleted file mode 100644 index cdc43b5fb..000000000 --- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library" -SECTION = "libs" -HOMEPAGE = "https://metacpan.org/source/GBARR/Convert-ASN1-0.27" -DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions." -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f" - -SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz" - -SRC_URI[md5sum] = "68723e96be0b258a9e20480276e8a62c" -SRC_URI[sha256sum] = "74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a" - -S = "${WORKDIR}/Convert-ASN1-${PV}" - -inherit cpan ptest-perl - -EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" - -RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" -RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.31.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.31.bb new file mode 100644 index 000000000..1848ef67e --- /dev/null +++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.31.bb @@ -0,0 +1,22 @@ +SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library" +SECTION = "libs" +HOMEPAGE = "http://search.cpan.org/dist/Convert-ASN1/" +DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions." +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f" + +SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz" + +SRC_URI[md5sum] = "1e12b263a5042804bb1c59ddce899876" +SRC_URI[sha256sum] = "6fe4c1ba744c3a8212bf2c9b2703d93530acc153435cf2f93633540b439fbbeb" + +S = "${WORKDIR}/Convert-ASN1-${PV}" + +inherit cpan ptest-perl + +EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" + +RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" +RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc index 283450964..97ffae978 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -46,9 +46,7 @@ inherit autotools gettext export CONFIG_SHELL="/bin/sh" -EXTRA_OECONF += "--without-audit \ - --without-libcrack \ - --without-selinux \ +EXTRA_OECONF += "--without-libcrack \ --with-group-name-max-length=24 \ --enable-subordinate-ids=yes \ --without-sssd \ @@ -81,6 +79,8 @@ PACKAGECONFIG:class-nativesdk = "" PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}" PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" +PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit" +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux libsemanage" RDEPENDS:${PN} = "shadow-securetty \ base-passwd \ diff --git a/poky/meta/recipes-extended/tar/tar_1.34.bb b/poky/meta/recipes-extended/tar/tar_1.34.bb index c096a8c9a..98755a11c 100644 --- a/poky/meta/recipes-extended/tar/tar_1.34.bb +++ b/poky/meta/recipes-extended/tar/tar_1.34.bb @@ -61,3 +61,6 @@ PROVIDES:append:class-native = " tar-replacement-native" NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" BBCLASSEXTEND = "native nativesdk" + +# These are both specific to the NPM package node-tar +CVE_CHECK_WHITELIST += "CVE-2021-32803 CVE-2021-32804" diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb index 3b8130af6..9d0a33853 100644 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb @@ -46,6 +46,7 @@ EXTRA_OECMAKE:append:class-target:armeb = " ${@bb.utils.contains("TUNE_FEATURES" # Provide a workaround if Altivec unit is not present in PPC EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb index 00dd68006..ab9595cc7 100644 --- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb +++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb @@ -34,4 +34,8 @@ EXTRA_OEMESON += "-Dloongson-mmi=disabled" # disable iwmmxt due to compile fails on most arm platforms. EXTRA_OEMESON += "-Diwmmxt=disabled" +EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" +EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" +EXTRA_OEMESON:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/kmod/kmod_git.bb b/poky/meta/recipes-kernel/kmod/kmod_git.bb index 853561a61..eb5d176de 100644 --- a/poky/meta/recipes-kernel/kmod/kmod_git.bb +++ b/poky/meta/recipes-kernel/kmod/kmod_git.bb @@ -24,13 +24,13 @@ do_install:append () { lnr ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool} done # configuration directories - install -dm755 ${D}${base_libdir}/depmod.d - install -dm755 ${D}${base_libdir}/modprobe.d + install -dm755 ${D}${nonarch_base_libdir}/depmod.d + install -dm755 ${D}${nonarch_base_libdir}/modprobe.d install -dm755 ${D}${sysconfdir}/depmod.d install -dm755 ${D}${sysconfdir}/modprobe.d # install depmod.d file for search/ dir - install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf" + install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf" } do_compile:prepend() { @@ -57,6 +57,6 @@ ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod" PACKAGES =+ "libkmod" FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}" -FILES:${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d" +FILES:${PN} += "${nonarch_base_libdir}/depmod.d ${nonarch_base_libdir}/modprobe.d" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb index fe46cb519..d91a5562a 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb @@ -303,8 +303,11 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ ${PN}-qat ${PN}-qat-license \ ${PN}-qcom-license \ ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 \ - ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 ${PN}-qcom-adreno-a630 \ + ${PN}-qcom-vpu-1.0 ${PN}-qcom-vpu-2.0 \ + ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 \ + ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 ${PN}-qcom-adreno-a660 \ ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \ + ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \ ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \ ${PN}-lt9611uxc ${PN}-lontium-license \ ${PN}-whence-license \ @@ -952,22 +955,34 @@ FILES:${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*" FILES:${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*" FILES:${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*" FILES:${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*" +FILES:${PN}-qcom-vpu-1.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-1.0/*" +FILES:${PN}-qcom-vpu-2.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-2.0/*" FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw" FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*" FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*" +FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.* ${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*" +FILES:${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*" FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" +FILES:${PN}-qcom-sm8250-audio = "${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*" +FILES:${PN}-qcom-sm8250-compute = "${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*" RDEPENDS:${PN}-qcom-venus-1.8 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-venus-4.2 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-venus-5.2 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-venus-5.4 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-vpu-1.0 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-vpu-2.0 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-adreno-a3xx = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-adreno-a530 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-adreno-a650 = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-adreno-a660 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sm8250-audio = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sm8250-compute = "${PN}-qcom-license" FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" diff --git a/poky/meta/recipes-support/curl/curl_7.78.0.bb b/poky/meta/recipes-support/curl/curl_7.78.0.bb index 2e2be6610..dece0babb 100644 --- a/poky/meta/recipes-support/curl/curl_7.78.0.bb +++ b/poky/meta/recipes-support/curl/curl_7.78.0.bb @@ -73,6 +73,7 @@ do_install:append:class-target() { -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's|${@" ".join(d.getVar("DEBUG_PREFIX_MAP").split())}||g' \ ${D}${bindir}/curl-config } diff --git a/poky/scripts/contrib/convert-overrides.py b/poky/scripts/contrib/convert-overrides.py index e4a310d1d..4d41a4c47 100755 --- a/poky/scripts/contrib/convert-overrides.py +++ b/poky/scripts/contrib/convert-overrides.py @@ -69,15 +69,15 @@ packagevars = packagevars + imagevars vars_re = {} for exp in vars: - vars_re[exp] = (re.compile('((^|[\'"\s\-\+])[A-Za-z0-9_\-:${}\.]+)_' + exp), r"\1:" + exp) + vars_re[exp] = (re.compile('((^|[#\'"\s\-\+])[A-Za-z0-9_\-:${}\.]+)_' + exp), r"\1:" + exp) shortvars_re = {} for exp in shortvars: - shortvars_re[exp] = (re.compile('((^|[\'"\s\-\+])[A-Za-z0-9_\-:${}\.]+)_' + exp + '([\(\'"\s:])'), r"\1:" + exp + r"\3") + shortvars_re[exp] = (re.compile('((^|[#\'"\s\-\+])[A-Za-z0-9_\-:${}\.]+)_' + exp + '([\(\'"\s:])'), r"\1:" + exp + r"\3") package_re = {} for exp in packagevars: - package_re[exp] = (re.compile('(^|[\'"\s\-\+]+)' + exp + '_' + '([$a-z"\'\s%\[<{\\\*].)'), r"\1" + exp + r":\2") + package_re[exp] = (re.compile('(^|[#\'"\s\-\+]+)' + exp + '_' + '([$a-z"\'\s%\[<{\\\*].)'), r"\1" + exp + r":\2") # Other substitutions to make subs = { diff --git a/poky/scripts/lib/wic/canned-wks/common.wks.inc b/poky/scripts/lib/wic/canned-wks/common.wks.inc index 4fd29fa8c..89880b417 100644 --- a/poky/scripts/lib/wic/canned-wks/common.wks.inc +++ b/poky/scripts/lib/wic/canned-wks/common.wks.inc @@ -1,3 +1,3 @@ # This file is included into 3 canned wks files from this directory part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 -part / --source rootfs --use-uuid --fstype=ext4 --mkfs-extraopts "-T default" --label platform --align 1024 +part / --source rootfs --use-uuid --fstype=ext4 --label platform --align 1024 diff --git a/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks b/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks index cf16c0c30..8d7d8de6e 100644 --- a/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks +++ b/poky/scripts/lib/wic/canned-wks/directdisk-gpt.wks @@ -4,7 +4,7 @@ part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 -part / --source rootfs --ondisk sda --fstype=ext4 --mkfs-extraopts "-T default" --label platform --align 1024 --use-uuid +part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid bootloader --ptable gpt --timeout=0 --append="rootwait rootfstype=ext4 video=vesafb vga=0x318 console=tty0 console=ttyS0,115200n8" diff --git a/poky/scripts/lib/wic/canned-wks/mkefidisk.wks b/poky/scripts/lib/wic/canned-wks/mkefidisk.wks index d1878e23e..9f534fe18 100644 --- a/poky/scripts/lib/wic/canned-wks/mkefidisk.wks +++ b/poky/scripts/lib/wic/canned-wks/mkefidisk.wks @@ -4,7 +4,7 @@ part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024 -part / --source rootfs --ondisk sda --fstype=ext4 --mkfs-extraopts "-T default" --label platform --align 1024 --use-uuid +part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid part swap --ondisk sda --size 44 --label swap1 --fstype=swap -- cgit v1.2.3 From d159c7fb39550d7348052766f46e51b26d3fd4cc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 2 Sep 2021 21:05:58 -0500 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit poky: 94dfcaff64..359e1cb62f: Alexander Kanavin (76): tcf-agent: fetching over git:// no longer works lighttpd: convert from autotools to meson libxcrypt: upgrade 4.4.23 -> 4.4.25 python3-cython: upgrade 0.29.23 -> 0.29.24 python3-numpy: upgrade 1.21.0 -> 1.21.2 systemd: upgrade 249.1 -> 249.3 xeyes: upgrade 1.1.2 -> 1.2.0 btrfs-tools: update 5.13 -> 5.13.1 diffutils: update 3.7 -> 3.8 mc: update 4.8.26 - > 4.8.27 libsdl2: update 2.0.14 -> 2.0.16 vulkan-samples: update to latest revision pulseaudio: update 14.2 -> 15.0 libjitterentropy: update 3.0.2 -> 3.1.0 usbutils: upgrade 013 -> 014 inetutils: upgrade 2.0 -> 2.1 mobile-broadband-provider-info: upgrade 20201225 -> 20210805 glib-networking: upgrade 2.68.1 -> 2.68.2 e2fsprogs: upgrade 1.46.2 -> 1.46.4 help2man: upgrade 1.48.3 -> 1.48.4 libedit: upgrade 20210522-3.1 -> 20210714-3.1 log4cplus: upgrade 2.0.6 -> 2.0.7 mtools: upgrade 4.0.34 -> 4.0.35 patchelf: upgrade 0.12 -> 0.13 pkgconf: upgrade 1.7.4 -> 1.8.0 python3-git: upgrade 3.1.18 -> 3.1.20 python3-pip: upgrade 21.2.1 -> 21.2.4 python3-pygments: upgrade 2.9.0 -> 2.10.0 python3-setuptools: upgrade 57.1.0 -> 57.4.0 squashfs-tools: upgrade 4.4 -> 4.5 acpica: upgrade 20210331 -> 20210730 libidn2: upgrade 2.3.1 -> 2.3.2 stress-ng: upgrade 0.12.12 -> 0.13.00 sudo: upgrade 1.9.7p1 -> 1.9.7p2 epiphany: upgrade 40.2 -> 40.3 libgudev: upgrade 236 -> 237 libjpeg-turbo: upgrade 2.1.0 -> 2.1.1 libepoxy: upgrade 1.5.8 -> 1.5.9 pango: upgrade 1.48.7 -> 1.48.9 mesa: upgrade 21.1.5 -> 21.2.1 libinput: upgrade 1.18.0 -> 1.18.1 libxfont2: upgrade 2.0.4 -> 2.0.5 libxft: upgrade 2.3.3 -> 2.3.4 xserver-xorg: upgrade 1.20.12 -> 1.20.13 linux-firmware: upgrade 20210511 -> 20210818 wireless-regdb: upgrade 2021.04.21 -> 2021.07.14 libwebp: upgrade 1.2.0 -> 1.2.1 webkitgtk: upgrade 2.32.2 -> 2.32.3 boost: upgrade 1.76.0 -> 1.77.0 diffoscope: upgrade 179 -> 181 enchant2: upgrade 2.3.0 -> 2.3.1 re2c: upgrade 2.1.1 -> 2.2 rng-tools: upgrade 6.13 -> 6.14 kea: backport a patch to fix build errors exposed by latest update batch qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent mc: fix reproducibility libjitterentropy: remove contaminated hashequiv entry binutils: drop target flex/bison from build dependencies gnu-efi: update 3.0.13 -> 3.0.14 glib-2.0: upgrade 2.68.3 -> 2.68.4 util-linux: upgrade 2.37.1 -> 2.37.2 ccache: upgrade 4.3 -> 4.4 git: upgrade 2.32.0 -> 2.33.0 openssh: upgrade 8.6p1 -> 8.7p1 ell: upgrade 0.42 -> 0.43 python3-mako: upgrade 1.1.4 -> 1.1.5 vala: upgrade 0.52.4 -> 0.52.5 libnsl2: upgrade 1.3.0 -> 2.0.0 gi-docgen: upgrade 2021.6 -> 2021.7 json-glib: upgrade 1.6.2 -> 1.6.4 bind: upgrade 9.16.19 -> 9.16.20 harfbuzz: upgrade 2.8.2 -> 2.9.0 qemurunner.py: print output from runqemu/qemu-system in stop() qemurunner.py: handle getOutput() having nothing to read rust: fix upstream version checks mesa: enable crocus driver for older intel graphics Andreas Müller (2): mesa: upgrade 21.1.5 -> 21.1.7 binutils: Apply upstream patch to fix 'too many open files' on qtwebengine Andrej Valek (2): busybox: 1.33.1 -> 1.34.0 vim: add option to disable NLS support Andres Beltran (2): buildhistory: Add output file listing package information buildhistory: Label packages providing per-file dependencies in depends.dot Andrey Zhizhikin (2): lttng-modules: do not search in non-existing folder during install nativesdk-packagegroup-sdk-host: add perl integer module Armin Kuster (2): lz4: Security Fix for CVE-2021-3520 lz4: remove rest of ptest artifacts Bruce Ashfield (21): linux-yocto/5.13: update to v5.13.7 linux-yocto/5.4: update to v5.4.137 linux-yocto/5.10: update to v5.10.55 linux-yocto/5.4: update to v5.4.139 linux-yocto/5.10: update to v5.10.57 linux-yocto/5.13: update to v5.13.9 linux-yocto/5.4: remove recipes conf/machine: bump qemu preferred versions to 5.13 linux-yocto-dev: bump to v5.14+ lttng-modules: update to 2.13.0 kernel-devsrc: 5.14+ updates kernel-devsrc: fix 5.14+ objtool compilation poky/poky-tiny: set default kernel to 5.13 poky: set default kernel to 5.13 yocto-bsp: drop 5.4 bbappend poky-alt: switch default kernel to 5.10 linux-yocto/5.13: update to v5.13.11 linux-yocto/5.10: update to v5.10.59 linux-yocto/5.13: update to v5.13.12 linux-yocto/5.10: update to v5.10.60 parselogs.py: ignore intermittent CD/DVDROM identification failure Chen Qi (1): package_rpm/update-alternatives: fix package's provides Daniel Gomez (2): wic: Add --no-fstab-update part option oeqa: wic: Add tests for --no-fstab-update Denys Dmytriyenko (1): grep: upgrade 3.6 -> 3.7 Enrico Scholz (1): bitbake: fetch2/wget: fix 'no_proxy' handling Hongxu Jia (2): nativesdk-pseudo: Fix to work with glibc 2.34 systems glibc: fix create thread failed in unprivileged process Hsia-Jun Li (1): lib/oe/elf: Add Android OS to machine_dict Jon Mason (8): arch-armv8m-main: missing space conf/machine: move tune files to architecture directories yocto-bsp: update machine confs with new tune locations docs: update docs with new tune locations arch-arm*: add better support for gcc march extensions tune-cortexr*: add support for all Arm Cortex-R processors arch-arm*: Fix bugs with dsp and simd feature include files tune-*: Use more specific DEFAULTTUNE Jose Quaresma (1): sstate.bbclass: get the number of threads from BB_NUMBER_THREADS Joshua Watt (17): bitbake: contrib: vim: Add "remove" override highlighting bitbake.conf: Add lz4c, pzstd and zstd bitbake: bitbake: asyncrpc: Defer all asyncio to child process conf/licenses: Add FreeType SPDX mapping tzdata: Remove BSD License specifier glib-2.0: Use specific BSD license variant e2fsprogs: Use specific BSD license variant shadow: Use specific BSD license variant libcap: Use specific BSD license variant sudo: Use specific BSD license variant libpam: Use specific BSD license variant libxfont2: Use specific BSD license variant libjitterentropy: Use specific BSD license variant libx11: Use specific BSD license variant font-util: Use specific BSD license variant flac: Use specific BSD license variant swig: Use specific BSD license variant Kai Kang (2): libcgroup: fix installed-vs-shipped qa issue rustfmt: fix SRC_URI Kevin Hao (2): meta-yocto-bsp: Set the default kernel to v5.13 meta-yocto-bsp: Bump the kernel to v5.13.11 Khem Raj (2): weston: Re-order gbm destruction at DRM-backend tear down musl: Update to latest tip of trunk Kristian Klausen (1): systemd: Add repart PACKAGECONFIG Marco Felsch (1): bitbake: bitbake: bitbake-layers: add skip reason to output Marek Vasut (1): weston: Add rdp PACKAGECONFIG Marta Rybczynska (1): lzo: add CVE_PRODUCT Martin Jansa (3): bitbake: prserv: handle PRSERV_HOST = "127.0.0.1:0" the same as "localhost:0" bitbake: cooker/process: Fix typos in exiting message rust: remove unused patches Michael Halstead (2): uninative: Upgrade to 3.3, support glibc 2.34 uninative: Upgrade to 3.4 Michael Opdenacker (2): maintainers.inc: maintainer for alsa-*, flac, lame and speex meta: stop using "virtual/" in RPROVIDES and RDEPENDS Mingli Yu (2): shadow: fix default value in SHA_get_salt_rounds() bitbake: prserv: make localhost work Oleksandr Popovych (1): utils: Reduce the number of calls to the "dirname" command Oliver Kranz (1): Allow global override of golang GO_DYNLINK Paul Barker (2): bitbake: prserv: Replace XML RPC with modern asyncrpc implementation bitbake: prserv: Add read-only mode Paul Gortmaker (1): ltp: backport ioctl_ns05 fix from upstream Peter Kjellerstedt (7): lttng-modules: Make it build when CONFIG_TRACEPOINTS is not enabled again poky-floating-revisions.inc: Use new override syntax for commented vars local.conf.sample: Use the new override syntax for a commented variable bitbake.conf: Use the new variable override syntax in a comment buildhistory-collect-srcrevs: Adapt to the new variable override syntax meson.bbclass: Make the default buildtype "debug" if DEBUG_BUILD is 1 bitbake: providers: Use new override syntax when handling pn- "override" Purushottam Choudhary (1): assimp: added patch to fix hardcoded non-existing paths in CMake modules Randy MacLeod (8): openssl: upgrade from 1.1.1k to 1.1.1l rust: initial merge of most of meta-rust rust: mv README.md to recipes-devtools/rust/README-rust.md rust: update the README to conform to being in oe-core cargo/rust/rustfmt: exclude from world maintainers: Add myself as maintainer for rust pkgs cargo_common: remove http_proxy rust: remove Rust version 1.51.0 toolchain Richard Purdie (27): elfutils: Add zstd PACKAGECONFIG for determinism man-db: Add compression PACKAGECONFIG entries oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test results package/scripts: Fix FILES_INFO handling package: Fix overrides converion issue with PKGSIZE bitbake: bitbake: Make 3.6.0 the minimum python version elfutils: Fix ptest dependencies bsp-guide: Fix reference to bbappend section of dev-manual ref-manual: Fix reference to bbappend section of dev-manual gcc: Fix nativesdk builds and multilib fixes with gcc 11 bitbake: README: Add note about test suite and new tests pseudo: Fix to work with glibc 2.34 systems bitbake: README: Fix typo rust-cross*: Fix OVERRRIDE references in task signature computation rust-cross-canadian-common: Use rust.inc directly, not rust-target cargo: Ensure cargo-cross-canadian doesn't have native/nativesdk versions rust-native: Avoid stripped warning rust-llvm: Add missing HOMEPAGE rust: Skip target recipe since it doesn't work oeqa/selftest/distrodata: Fix up rust maintainer testing rust: Avoid buildtools+uninative issues with glibc symbols mismatches rust-common: Add LDFLAGS to cc wrapper oeqa/selftest/reproducibile: Exclude rust packages kernel: Use unexpanded EXTENDPKGV oeqa/buildtools-cases: Allow bitbake time to shutdown cargo: Apply uninative fix to snapshot as with rust rust-common: Hack around LD_LIBRARY_PATH issues on centos7 Robert P. J. Day (1): scripts/lib/wic/help/py: "Redhat" -> "Red Hat" Ross Burton (11): oeqa/selftest/buildoptions: test buildhistory PKGSIZE and FILELIST fields uninative: Improve glob to handle glibc 2.34 oeqa/sdk: add relocation test for buildtools glibc: package the stub .a libaries into glibc-dev oeqa/sdk: add HTTPS test for buildtools libcgroup: upgrade to 2.0 gcc: also relocate the musl loader local.conf.sample.extended: fix commented-out override syntax cpio: backport fix for CVE-2021-38185 mesa: fix build on Arm V5 with soft float ptest: allow the ptest-packagelists.inc warning to be disabled Sakib Sajal (1): qemu: fix CVE-2021-3682 Scott Murray (2): bitbake: bitbake: asyncrpc: always create new asyncio loops prservice: remove connection caching Stefan Herbrechtsmeier (4): u-boot: Remove redundancy from installed and deployed SPL artifact names u-boot: Remove misplaced configuration type variable u-boot: Make SPL suffix configurable u-boot: Make UBOOT_BINARYNAME configurable Tim Orling (7): python3-importlib-metadata: upgrade 4.6.3 -> 4.6.4 python3-hypothesis: upgrade 6.14.5 -> 6.14.8 python3-hypothesis: upgrade 6.14.8 -> 6.15.0 python3-hypothesis: enable ptest python3-pluggy: upgrade 0.13.1 -> 1.0.0 python3-pytest: allow python3-pluggy >=1.0.0 rust-common.bbclass: export RUST_TARGET_PATH Trevor Gamblin (1): bluez: upgrade 5.60 -> 5.61 Trevor Woerner (1): distro_features_check: expand with IMAGE_FEATURES Vinay Kumar (2): glibc: Fix CVE-2021-38604 rust-common.inc: Fix build failure with qemuppc64. Yi Zhao (2): prelink: add PACKAGECONFIG for selinux shadow: add /etc/default/useradd Zoltán Böszörményi (4): kernel-module-split.bbclass: Support zstd-compressed modules Allow opt-out of split kernel modules kernel.bbclass: Use full versions for inter-package dependencies base/kernel: Support zstd-compressed squashfs and cpio initramfs leimaohui (2): Fix conflict error when enable multilib. wordsize.h: Fix a miss, this file in arm and aarch64 should be the same. meta-raspberrypi: 32921fc9bd..a6fa6b3aec: Khem Raj (4): machines: Use tune files from new location in oe-core linux-raspberrypi: Update to 5.10.59 raspberrypi-firmware: Update to latest raspberrypi4: Use full kms (vc4-kms-v3d) DT overlay Marcus Comstedt (1): pi-bluetooth: Add compatibility with non-systemd builds Tom Rini (1): xserver-xf86-config: Correctly append to FILES:${PN} meta-security: c885d399cd..1f18c623e9: Armin Kuster (10): cryfs: add new package kas-security-bas: bump conf value kas: fix DISTRO appends dm-verity-img.bbclass: more overided fixups krill: Rust is in core now suricata: rust is in core layer.conf: drop dynamic-layer layer.conf: drop meta-rust harden-image-minimal: fix useradd inherit kas: remove rust layers Daiane Angolini (1): meta-integrity: kernel-modsign: Change weak default value George Liu (1): meta: Fix typos Marta Rybczynska (2): README: fix mailing lists README: fix mailing lists and a typo meta-openembedded: a13db91f19..9fdc7960ba: Andreas Müller (6): catch2: upgrade 2.13.6 -> 2.13.7 fltk/CMake: Do not export executable 'fluid' fltk: upgrade 1.3.6 -> 1.3.7 network-manager-applet: upgrade 1.22.0 -> 1.24.0 networkmanager: upgrade 1.32.4 -> 1.32.8 udisks2: upgrade 2.9.2 -> 2.9.3 Anton Blanchard (2): boost-url: Use GNUInstallDirs instead of hard wiring install directories cereal: Use GNUInstallDirs instead of hard wiring install directories Changqing Li (1): linuxptp: upgrade 3.1 -> 3.1.1 Devendra Tewari (1): android-tools: Add flag to enable adbd service (#147) Dmitry Baryshkov (1): image_types_sparse: stop using ext2simg Easwar Hariharan (1): chrony: Fix privdrop packageconfig Joe Slater (1): nginx: fix CVE-2021-3618 Justin Bronder (1): hidapi: add rdep on glibc-gconv-utf-16 Khem Raj (7): layer.conf: Add ttf-ipa to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig mpich: link explictly with libgcc packagegroup-meta-networking: Add bmon libnss-nisplus: Remove pipewire: Upgrade to 0.3.34 bluealsa: Add recipe apitrace: Enable on glibc >= 2.34 Leon Anavi (21): python3-astroid: Upgrade 2.6.6 -> 2.7.0 python3-ujson: Upgrade 4.0.2 -> 4.1.0 python3-pycurl: Upgrade 7.44.0 -> 7.44.1 python3-websocket-client: Upgrade 1.1.0 -> 1.2.1 python3-bitarray: Upgrade 2.2.5 -> 2.3.0 python3-langtable: Upgrade 0.0.54 -> 0.0.56 python3-pandas: Upgrade 1.3.1 -> 1.3.2 python3-tzlocal: Upgrade 2.1 -> 3.0 python3-zeroconf: Upgrade 0.34.3 -> 0.36.0 python3-dbus-next: Upgrade 0.2.2 -> 0.2.3 python3-astroid: Upgrade 2.7.0 -> 2.7.1 python3-ruamel-yaml: Upgrade 0.17.10 -> 0.17.11 python3-unidiff: Upgrade 0.6.0 -> 0.7.0 python3-qrcode: Upgrade 7.2 -> 7.3 python3-simplejson: Upgrade 3.17.3 -> 3.17.4 python3-regex: Upgrade 2021.7.6 -> 2021.8.3 python3-colorlog: Upgrade 5.0.1 -> 6.4.1 python3-ruamel-yaml: Upgrade 0.17.11 -> 0.17.13 python3-simplejson: Upgrade 3.17.4 -> 3.17.5 python3-bitarray: Upgrade 2.3.0 -> 2.3.2 python3-watchdog: Upgrade 2.1.3 -> 2.1.5 Martin Jansa (1): layer.conf: Add ttf-takao to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig Matija Tudan (1): gpsd: upgrade 3.20 -> 3.23 Matteo Croce (1): libbpf: bump to 0.4.0 Michael Opdenacker (2): meta-multimedia: stop using "virtual/" in RPROVIDES and RDEPENDS meta-oe: stop using "virtual/" in RPROVIDES and RDEPENDS Mingli Yu (4): polkit: fix CVE-2021-3560 vsftpd: Upgrade to 3.0.5 mariadb: Upgrade to 10.6.4 jemalloc: improve reproducibility Nathan Rossi (1): nginx: Fix off_t size passed in configure Oleksandr Kravchuk (6): font-adobe-100dpi: fix UPSTREAM_CHECK_REGEX font-adobe-utopia-100dpi: fix UPSTREAM_CHECK_REGEX font-bh-100dpi: fix UPSTREAM_CHECK_REGEX font-bh-lucidatypewriter-100dpi: fix UPSTREAM_CHECK_REGEX font-bitstream-100dpi: fix UPSTREAM_CHECK_REGEX xf86-input-tslib: update to 1.1.1 Patrick Areny (2): libConfuse: Add recipe bmon: Add recipe Peter Kjellerstedt (6): gpsd: Let scons install the udev and systemd files gpsd: Move /usr/share/gpsd/doc to the gpsd-doc package poppler: Explicitly enable/disable boost together with splash chrony: Use new override syntax for USERADD_PARAM gpsd: Correct the installation of gpsd.hotplug if systemd is not enabled gpsd: Do not install gpsd.hotplug unconditionally Peter Morrow (1): libbpf: remove stale comment Sakib Sajal (2): lmdb: use libprefix in Makefile to install libraries gd: fix CVE-2021-38115 Sinan Kaya (4): c-ares: remove custom patches grpc: make SHARED library build optional libkcapi: add a hash only packageconfig libkcapi: allow an option to build natively Tim Orling (2): bootchart: drop; unfetchable python3-django_2.2.x: only check upstream 2.2.x Trevor Gamblin (5): python3-click: Add missing ptest artifacts python3-eventlet: add 0.30.2 to meta-python python3-gunicorn: tweak run-ptest, add RDEPENDS python3-license-expression: add ptest artifacts nftables: upgrade 0.9.9 -> 1.0.0 Vesa Jääskeläinen (2): python3-cached-property: Add recipe for version 1.5.2 python3-pkcs11: Add recipe for version 0.7.0 Yi Zhao (2): audit: upgrade 3.0.4 -> 3.0.5 krb5: filtering out -f*-prefix-map from krb5-config Zoltán Böszörményi (1): metacity: Add a patch to create build/src/core before moving generated sources to it leimaohui (3): packagegroup-meta-oe: Update ttf-ipa package name. uim: Dleted takao fonts from DEPENDS. takao-fonts: It should be in ttf-fonts directory as the other ttf fonts. wangmy (14): fetchmail: upgrade 6.4.20 -> 6.4.21 c-ares: upgrade 1.17.1 -> 1.17.2 icewm: upgrade 2.6.0 -> 2.7.0 netplan: upgrade 0.102 -> 0.103 ctags: upgrade 5.9.20210801.0 -> 5.9.20210815.0 live555: upgrade 20210720 -> 20210809 opensc: upgrade 0.21.0 -> 0.22.0 xfsprogs: upgrade 5.12.0 -> 5.13.0 networkmanager: upgrade 1.32.8 -> 1.32.10 can-utils: upgrade 2021.06.0 -> 2021.08.0 doxygen: upgrade 1.9.1 -> 1.9.2 gensio: upgrade 2.2.8 -> 2.2.9 live555: upgrade 20210809 -> 20210824 sedutil: upgrade 1.15.1.01 -> 1.20.0 zangrc (14): python3-flask-migrate: upgrade 3.0.1 -> 3.1.0 python3-flask-socketio: upgrade 5.1.0 -> 5.1.1 python3-google-api-python-client: upgrade 2.15.0 -> 2.17.0 python3-grpcio-tools: upgrade 1.38.1 -> 1.39.0 python3-grpcio: upgrade 1.38.1 -> 1.39.0 python3-wheel: upgrade 0.36.2 -> 0.37.0 libio-socket-ssl-perl: upgrade 2.071 -> 2.072 python3-aiohttp-jinja2: upgrade 1.4.2 -> 1.5 python3-gevent: upgrade 21.1.2 -> 21.8.0 python3-google-api-python-client: upgrade 2.17.0 -> 2.18.0 python3-h5py: upgrade 3.3.0 -> 3.4.0 python3-haversine: upgrade 2.3.1 -> 2.4.0 python3-pyephem: upgrade 3.7.7.1 -> 4.0.0.2 rdma-core: upgrade 35.0 -> 36.0 zhengruoqin (12): libqmi: upgrade 1.28.8 -> 1.30.0 sedutil: upgrade 1.15.1 -> 1.15.1.01 libencode-perl: upgrade 3.11 -> 3.12 python3-pymisp: upgrade 2.4.144 -> 2.4.148 python3-pyzmq: upgrade 22.1.0 -> 22.2.1 python3-tqdm: upgrade 4.62.0 -> 4.62.2 iwd: upgrade 1.16 -> 1.17 xmlsec1: upgrade 1.2.31 -> 1.2.32 xrdb: upgrade 1.2.0 -> 1.2.1 python3-regex: upgrade 2021.8.3 -> 2021.8.27 python3-sqlalchemy: upgrade 1.4.22 -> 1.4.23 python3-stevedore: upgrade 3.3.0 -> 3.4.0 Signed-off-by: Andrew Geissler Change-Id: I2960f1ce53a1e2cde8b03b929829db9a2f105541 --- .../recipes-utils/xfsprogs/xfsprogs_5.12.0.bb | 73 -- .../recipes-utils/xfsprogs/xfsprogs_5.13.0.bb | 73 ++ .../network-manager-applet_1.22.0.bb | 29 - .../network-manager-applet_1.24.0.bb | 29 + ...ix-build-with-disable-dependency-tracking.patch | 65 + .../recipes-gnome/metacity/metacity_3.40.0.bb | 5 +- .../bluealsa/bluealsa/bluealsa.service | 11 + .../recipes-multimedia/bluealsa/bluealsa_git.bb | 39 + .../packagegroups/packagegroup-meta-multimedia.bb | 1 + .../recipes-multimedia/pipewire/pipewire_0.3.31.bb | 285 ----- .../recipes-multimedia/pipewire/pipewire_0.3.34.bb | 287 +++++ .../0001-Handle-enum-element-override.patch | 34 - .../0001-parse-nm-fix-32bit-format-string.patch | 25 + .../recipes-connectivity/netplan/netplan_0.102.bb | 61 - .../recipes-connectivity/netplan/netplan_0.103.bb | 60 + .../networkmanager/networkmanager_1.32.10.bb | 180 +++ .../networkmanager/networkmanager_1.32.4.bb | 180 --- .../packagegroups/packagegroup-meta-networking.bb | 1 + ...box.c-allow-newfstatat-and-pselect6-sysca.patch | 51 - ...c-Fix-with-musl-which-does-not-have-utmpx.patch | 26 - ...tpd-allow-syscalls-in-the-seccomp-sandbox.patch | 46 - .../vsftpd/vsftpd-3.0.3/makefile-destdir.patch | 52 - .../vsftpd/vsftpd-3.0.3/makefile-libs.patch | 30 - .../vsftpd/vsftpd-3.0.3/makefile-strip.patch | 25 - .../vsftpd-3.0.3/nopam-with-tcp_wrappers.patch | 26 - .../vsftpd/vsftpd-3.0.3/nopam.patch | 16 - .../vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch | 89 -- .../vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch | 26 - ...c-Fix-with-musl-which-does-not-have-utmpx.patch | 26 + .../vsftpd/vsftpd-3.0.5/makefile-destdir.patch | 52 + .../vsftpd/vsftpd-3.0.5/makefile-libs.patch | 30 + .../vsftpd/vsftpd-3.0.5/makefile-strip.patch | 25 + .../vsftpd-3.0.5/nopam-with-tcp_wrappers.patch | 26 + .../vsftpd/vsftpd-3.0.5/nopam.patch | 16 + .../vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch | 89 ++ .../vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch | 26 + .../recipes-daemons/vsftpd/vsftpd_3.0.3.bb | 116 -- .../recipes-daemons/vsftpd/vsftpd_3.0.5.bb | 113 ++ .../recipes-filter/nftables/nftables_0.9.9.bb | 31 - .../recipes-filter/nftables/nftables_1.0.0.bb | 31 + .../recipes-support/bmon/bmon_2.1.0.bb | 12 + .../recipes-support/chrony/chrony_4.1.bb | 11 +- .../recipes-support/fetchmail/fetchmail_6.4.20.bb | 22 - .../recipes-support/fetchmail/fetchmail_6.4.21.bb | 22 + .../recipes-support/libconfuse/libconfuse_3.3.bb | 14 + .../recipes-support/rdma-core/rdma-core_35.0.bb | 42 - .../recipes-support/rdma-core/rdma-core_36.0.bb | 42 + .../meta-oe/classes/image_types_sparse.bbclass | 12 +- meta-openembedded/meta-oe/conf/layer.conf | 4 +- .../openbox/openbox-xdgmenu_0.3.bb | 2 +- .../recipes-connectivity/gensio/gensio_2.2.8.bb | 24 - .../recipes-connectivity/gensio/gensio_2.2.9.bb | 24 + .../meta-oe/recipes-connectivity/iwd/iwd_1.16.bb | 55 - .../meta-oe/recipes-connectivity/iwd/iwd_1.17.bb | 55 + .../recipes-connectivity/krb5/krb5_1.17.2.bb | 5 + .../recipes-connectivity/libqmi/libqmi_1.28.8.bb | 21 - .../recipes-connectivity/libqmi/libqmi_1.30.0.bb | 21 + .../linuxptp/linuxptp_3.1.1.bb | 31 + .../recipes-connectivity/linuxptp/linuxptp_3.1.bb | 32 - .../packagegroups/packagegroup-meta-oe.bb | 9 +- .../recipes-crypto/libkcapi/libkcapi_1.2.1.bb | 3 + ...-Makefile-use-libprefix-instead-of-libdir.patch | 33 + .../meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb | 5 +- .../recipes-dbs/mysql/mariadb-native_10.5.11.bb | 20 - .../recipes-dbs/mysql/mariadb-native_10.6.4.bb | 20 + .../meta-oe/recipes-dbs/mysql/mariadb.inc | 6 +- ...x-Check-if-syscall-exists-before-using-it.patch | 14 +- .../mariadb/0001-disable-ucontext-on-musl.patch | 26 - .../mariadb/clang_version_header_conflict.patch | 32 - .../mysql/mariadb/ppc-remove-glibc-dep.patch | 19 +- .../recipes-dbs/mysql/mariadb/sys_futex.patch | 27 +- .../meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb | 27 - .../meta-oe/recipes-dbs/mysql/mariadb_10.6.4.bb | 27 + .../android-tools/android-tools_5.1.1.r37.bb | 6 + ...glibc-2.34-build-failure-by-disabling-dls.patch | 28 + .../0001-libbacktrace-include-config.h.patch | 33 - .../recipes-devtools/apitrace/apitrace_10.0.bb | 4 +- ...allDirs-instead-of-hard-wiring-install-di.patch | 57 + .../recipes-devtools/boost-url/boost-url_git.bb | 4 +- ...g-add-rudimentary-support-for-ARM-cpuinfo.patch | 49 - ...c-os-release-and-use-PRETTY_NAME-for-the-.patch | 39 - .../recipes-devtools/bootchart/bootchart_git.bb | 21 - .../recipes-devtools/ctags/ctags_5.9.20210801.0.bb | 34 - .../recipes-devtools/ctags/ctags_5.9.20210815.0.bb | 34 + .../recipes-devtools/doxygen/doxygen_1.9.1.bb | 17 - .../recipes-devtools/doxygen/doxygen_1.9.2.bb | 17 + .../meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb | 4 +- .../recipes-devtools/jemalloc/jemalloc_5.2.1.bb | 6 + .../meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb | 5 +- .../meta-oe/recipes-extended/icewm/icewm_2.6.0.bb | 46 - .../meta-oe/recipes-extended/icewm/icewm_2.7.0.bb | 46 + .../libnss-nisplus/libnss-nisplus.bb | 31 - .../polkit/polkit/CVE-2021-3560.patch | 31 + .../recipes-extended/polkit/polkit_0.116.bb | 1 + ...notatedDump-Add-typedef-name-to-the-union.patch | 34 - .../recipes-extended/sedutil/sedutil_git.bb | 9 +- .../recipes-extended/socketcan/can-utils_git.bb | 4 +- .../takao-fonts/takao-fonts_003.03.01.bb | 19 - .../ttf-fonts/ttf-takao_003.03.01.bb | 25 + .../recipes-graphics/xorg-app/xrdb_1.2.0.bb | 9 - .../recipes-graphics/xorg-app/xrdb_1.2.1.bb | 8 + .../meta-oe/recipes-graphics/xorg-app/xterm_367.bb | 2 +- .../xorg-driver/xf86-input-tslib_0.0.7.bb | 20 - .../xorg-driver/xf86-input-tslib_1.1.1.bb | 20 + .../xorg-font/font-adobe-100dpi_1.0.3.bb | 2 + .../xorg-font/font-adobe-utopia-100dpi_1.0.4.bb | 2 + .../xorg-font/font-bh-100dpi_1.0.3.bb | 2 + .../font-bh-lucidatypewriter-100dpi_1.0.3.bb | 2 + .../xorg-font/font-bitstream-100dpi_1.0.3.bb | 2 + .../0001-install-don-t-preserve-file-owner.patch | 31 - .../meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb | 46 - .../meta-oe/recipes-kernel/libbpf/libbpf_0.4.bb | 41 + .../recipes-multimedia/live555/live555_20210720.bb | 62 - .../recipes-multimedia/live555/live555_20210824.bb | 62 + ...struct-Add-test-for-sizeof-time_t-result-.patch | 108 -- ...-Correct-the-installation-of-gpsd.hotplug.patch | 29 + ...prefix-includepy-with-sysroot-and-drop-sy.patch | 79 -- ...busexport.c-Fix-broken-d-bus-message-time.patch | 36 - .../meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb | 144 --- .../meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb | 131 ++ ...id-caches-when-user-group-added-deleted-m.patch | 132 -- .../meta-oe/recipes-security/audit/audit_3.0.4.bb | 110 -- .../meta-oe/recipes-security/audit/audit_3.0.5.bb | 109 ++ ...re-error-mv-libcares.pc.cmakein-to-libcar.patch | 27 - .../c-ares/c-ares/cmake-install-libcares.pc.patch | 77 -- .../recipes-support/c-ares/c-ares_1.17.1.bb | 27 - .../recipes-support/c-ares/c-ares_1.17.2.bb | 21 + .../meta-oe/recipes-support/fltk/fltk.bb | 2 + .../meta-oe/recipes-support/fltk/fltk.inc | 4 +- ...CMakeLists.txt-Do-not-export-fluid-target.patch | 42 + ...d-out-of-bands-in-reading-tga-header-file.patch | 29 + .../meta-oe/recipes-support/gd/gd_2.3.2.bb | 1 + .../meta-oe/recipes-support/hidapi/hidapi_git.bb | 1 + ...allDirs-instead-of-hard-wiring-install-di.patch | 37 + .../recipes-support/libcereal/libcereal_1.3.0.bb | 4 +- .../recipes-support/opensc/opensc_0.21.0.bb | 48 - .../recipes-support/opensc/opensc_0.22.0.bb | 48 + .../recipes-support/poppler/poppler_21.08.0.bb | 2 +- .../recipes-support/udisks/udisks2_2.9.2.bb | 53 - .../recipes-support/udisks/udisks2_2.9.3.bb | 53 + .../meta-oe/recipes-support/uim/uim_1.8.8.bb | 4 +- .../recipes-support/xmlsec1/xmlsec1_1.2.31.bb | 66 - .../recipes-support/xmlsec1/xmlsec1_1.2.32.bb | 65 + .../meta-oe/recipes-test/catch2/catch2_2.13.6.bb | 22 - .../meta-oe/recipes-test/catch2/catch2_2.13.7.bb | 22 + .../recipes-perl/libencode/libencode-perl_3.11.bb | 105 -- .../recipes-perl/libencode/libencode-perl_3.12.bb | 105 ++ .../libio/libio-socket-ssl-perl_2.071.bb | 46 - .../libio/libio-socket-ssl-perl_2.072.bb | 46 + .../packagegroups/packagegroup-meta-python.bb | 2 + .../python/python3-aiohttp-jinja2_1.4.2.bb | 15 - .../python/python3-aiohttp-jinja2_1.5.bb | 15 + .../python/python3-astroid_2.6.6.bb | 32 - .../python/python3-astroid_2.7.1.bb | 32 + .../python/python3-bitarray_2.2.5.bb | 10 - .../python/python3-bitarray_2.3.2.bb | 10 + .../python/python3-cached-property_1.5.2.bb | 12 + .../recipes-devtools/python/python3-click_8.0.1.bb | 6 +- .../python/python3-colorlog_5.0.1.bb | 10 - .../python/python3-colorlog_6.4.1.bb | 10 + .../python/python3-dbus-next_0.2.2.bb | 12 - .../python/python3-dbus-next_0.2.3.bb | 12 + .../python/python3-django_2.2.24.bb | 4 + .../python/python3-eventlet_0.30.2.bb | 12 + .../python/python3-flask-migrate_3.0.1.bb | 15 - .../python/python3-flask-migrate_3.1.0.bb | 15 + .../python/python3-flask-socketio_5.1.0.bb | 17 - .../python/python3-flask-socketio_5.1.1.bb | 17 + .../python/python3-gevent_21.1.2.bb | 33 - .../python/python3-gevent_21.8.0.bb | 33 + .../python3-google-api-python-client_2.15.0.bb | 20 - .../python3-google-api-python-client_2.18.0.bb | 20 + .../python/python3-grpcio-tools_1.38.1.bb | 22 - .../python/python3-grpcio-tools_1.39.0.bb | 22 + .../python/python3-grpcio_1.38.1.bb | 48 - .../python/python3-grpcio_1.39.0.bb | 48 + .../python/python3-gunicorn/run-ptest | 4 + .../python/python3-gunicorn_20.1.0.bb | 2 + .../recipes-devtools/python/python3-h5py_3.3.0.bb | 31 - .../recipes-devtools/python/python3-h5py_3.4.0.bb | 32 + .../python/python3-haversine_2.3.1.bb | 11 - .../python/python3-haversine_2.4.0.bb | 11 + .../python/python3-langtable_0.0.54.bb | 24 - .../python/python3-langtable_0.0.56.bb | 23 + .../python/python3-license-expression_21.6.14.bb | 6 +- .../python/python3-pandas_1.3.1.bb | 26 - .../python/python3-pandas_1.3.2.bb | 26 + .../python/python3-pkcs11_0.7.0.bb | 25 + .../python/python3-pycurl_7.44.0.bb | 22 - .../python/python3-pycurl_7.44.1.bb | 22 + .../python/python3-pymisp_2.4.144.bb | 24 - .../python/python3-pymisp_2.4.148.bb | 24 + .../python/python3-pyzmq_22.1.0.bb | 26 - .../python/python3-pyzmq_22.2.1.bb | 29 + .../recipes-devtools/python/python3-qrcode_7.2.bb | 11 - .../recipes-devtools/python/python3-qrcode_7.3.bb | 11 + .../python/python3-regex_2021.7.6.bb | 14 - .../python/python3-regex_2021.8.27.bb | 14 + .../python/python3-ruamel-yaml_0.17.10.bb | 21 - .../python/python3-ruamel-yaml_0.17.13.bb | 21 + .../python/python3-simplejson_3.17.3.bb | 24 - .../python/python3-simplejson_3.17.5.bb | 24 + .../python/python3-sqlalchemy_1.4.22.bb | 21 - .../python/python3-sqlalchemy_1.4.23.bb | 21 + .../python/python3-stevedore_3.3.0.bb | 14 - .../python/python3-stevedore_3.4.0.bb | 14 + .../recipes-devtools/python/python3-tqdm_4.62.0.bb | 19 - .../recipes-devtools/python/python3-tqdm_4.62.2.bb | 19 + .../recipes-devtools/python/python3-tzlocal_2.1.bb | 9 - .../recipes-devtools/python/python3-tzlocal_3.0.bb | 8 + .../recipes-devtools/python/python3-ujson_4.0.2.bb | 33 - .../recipes-devtools/python/python3-ujson_4.1.0.bb | 33 + .../python/python3-unidiff_0.6.0.bb | 27 - .../python/python3-unidiff_0.7.0.bb | 26 + .../python/python3-watchdog_2.1.3.bb | 18 - .../python/python3-watchdog_2.1.5.bb | 18 + .../python/python3-websocket-client_1.1.0.bb | 16 - .../python/python3-websocket-client_1.2.1.bb | 17 + .../python/python3-wheel_0.36.2.bb | 12 - .../python/python3-wheel_0.37.0.bb | 12 + .../python/python3-zeroconf_0.34.3.bb | 13 - .../python/python3-zeroconf_0.36.0.bb | 13 + .../python-pyephem/python3-pyephem_3.7.7.1.bb | 16 - .../python-pyephem/python3-pyephem_4.0.0.2.bb | 16 + .../recipes-httpd/nginx/files/CVE-2021-3618.patch | 107 ++ .../meta-webserver/recipes-httpd/nginx/nginx.inc | 2 +- .../recipes-httpd/nginx/nginx_1.20.1.bb | 2 + meta-raspberrypi/conf/machine/raspberrypi-cm3.conf | 2 +- meta-raspberrypi/conf/machine/raspberrypi2.conf | 2 +- meta-raspberrypi/conf/machine/raspberrypi3-64.conf | 2 +- meta-raspberrypi/conf/machine/raspberrypi3.conf | 2 +- meta-raspberrypi/conf/machine/raspberrypi4-64.conf | 4 +- meta-raspberrypi/conf/machine/raspberrypi4.conf | 4 +- .../recipes-bsp/common/raspberrypi-firmware.inc | 6 +- .../pi-bluetooth/pi-bluetooth_0.1.17.bb | 12 +- .../xorg-xserver/xserver-xf86-config_%.bbappend | 2 +- .../recipes-kernel/linux/linux-raspberrypi_5.10.bb | 6 +- meta-security/classes/dm-verity-img.bbclass | 4 +- meta-security/classes/sanity-meta-security.bbclass | 2 +- meta-security/conf/layer.conf | 4 - .../recipes-ids/suricata/files/fixup.patch | 32 - .../meta-rust/recipes-ids/suricata/files/run-ptest | 3 - .../recipes-ids/suricata/files/suricata.service | 20 - .../recipes-ids/suricata/files/suricata.yaml | 1326 -------------------- .../recipes-ids/suricata/files/tmpfiles.suricata | 2 - .../suricata/files/volatiles.03_suricata | 2 - .../recipes-ids/suricata/libhtp_0.5.38.bb | 27 - .../meta-rust/recipes-ids/suricata/suricata.inc | 5 - .../recipes-ids/suricata/suricata_6.0.3.bb | 206 --- .../krill/files/panic_workaround.patch | 16 - .../meta-rust/recipes-security/krill/krill.inc | 325 ----- .../recipes-security/krill/krill_0.9.1.bb | 39 - meta-security/kas/kas-security-base.yml | 13 +- meta-security/kas/kas-security-dm.yml | 1 + meta-security/kas/kas-security-parsec.yml | 4 - meta-security/meta-hardening/README | 6 +- .../recipes-core/images/harden-image-minimal.bb | 11 +- .../meta-integrity/classes/kernel-modsign.bbclass | 2 +- meta-security/meta-parsec/conf/layer.conf | 2 +- meta-security/meta-tpm/README | 8 +- .../recipes-ids/suricata/files/fixup.patch | 32 + meta-security/recipes-ids/suricata/files/run-ptest | 3 + .../recipes-ids/suricata/files/suricata.service | 20 + .../recipes-ids/suricata/files/suricata.yaml | 1326 ++++++++++++++++++++ .../recipes-ids/suricata/files/tmpfiles.suricata | 2 + .../suricata/files/volatiles.03_suricata | 2 + .../recipes-ids/suricata/libhtp_0.5.38.bb | 27 + meta-security/recipes-ids/suricata/suricata.inc | 5 + .../recipes-ids/suricata/suricata_6.0.3.bb | 206 +++ .../recipes-security/cryfs/cryfs_0.10.3.bb | 10 + .../krill/files/panic_workaround.patch | 16 + meta-security/recipes-security/krill/krill.inc | 325 +++++ .../recipes-security/krill/krill_0.9.1.bb | 39 + poky/bitbake/README | 8 + poky/bitbake/bin/bitbake-prserv | 4 +- poky/bitbake/bin/bitbake-worker | 2 +- poky/bitbake/contrib/vim/syntax/bitbake.vim | 2 +- poky/bitbake/lib/bb/__init__.py | 4 +- poky/bitbake/lib/bb/asyncrpc/client.py | 10 + poky/bitbake/lib/bb/asyncrpc/serv.py | 134 +- poky/bitbake/lib/bb/cooker.py | 2 +- poky/bitbake/lib/bb/fetch2/wget.py | 87 +- poky/bitbake/lib/bb/providers.py | 2 +- poky/bitbake/lib/bb/server/process.py | 2 +- poky/bitbake/lib/bblayers/query.py | 2 +- poky/bitbake/lib/hashserv/server.py | 4 +- poky/bitbake/lib/prserv/client.py | 48 + poky/bitbake/lib/prserv/db.py | 65 +- poky/bitbake/lib/prserv/serv.py | 257 ++-- poky/documentation/bsp-guide/bsp.rst | 10 +- poky/documentation/dev-manual/common-tasks.rst | 2 +- poky/documentation/ref-manual/terms.rst | 4 +- poky/documentation/ref-manual/variables.rst | 2 +- .../distro/include/poky-distro-alt-test-config.inc | 2 +- .../distro/include/poky-floating-revisions.inc | 10 +- poky/meta-poky/conf/distro/poky-tiny.conf | 2 +- poky/meta-poky/conf/distro/poky.conf | 4 +- poky/meta-poky/conf/local.conf.sample | 2 +- poky/meta-poky/conf/local.conf.sample.extended | 4 +- .../conf/machine/beaglebone-yocto.conf | 4 +- poky/meta-yocto-bsp/conf/machine/edgerouter.conf | 4 +- .../meta-yocto-bsp/conf/machine/genericx86-64.conf | 2 +- poky/meta-yocto-bsp/conf/machine/genericx86.conf | 2 +- .../conf/machine/include/genericx86-common.inc | 6 +- .../recipes-kernel/linux/linux-yocto_5.13.bbappend | 16 +- .../recipes-kernel/linux/linux-yocto_5.4.bbappend | 23 - poky/meta/classes/base.bbclass | 4 + poky/meta/classes/buildhistory.bbclass | 9 +- poky/meta/classes/cargo.bbclass | 89 ++ poky/meta/classes/cargo_common.bbclass | 125 ++ poky/meta/classes/crate-fetch.bbclass | 13 + poky/meta/classes/features_check.bbclass | 4 +- poky/meta/classes/goarch.bbclass | 14 +- poky/meta/classes/image_types.bbclass | 6 +- poky/meta/classes/insane.bbclass | 6 +- poky/meta/classes/kernel-fitimage.bbclass | 2 +- poky/meta/classes/kernel-module-split.bbclass | 28 +- poky/meta/classes/kernel.bbclass | 25 +- poky/meta/classes/license_image.bbclass | 2 +- poky/meta/classes/meson.bbclass | 3 +- poky/meta/classes/package.bbclass | 9 +- poky/meta/classes/package_rpm.bbclass | 8 +- poky/meta/classes/ptest.bbclass | 10 +- poky/meta/classes/rust-bin.bbclass | 149 +++ poky/meta/classes/rust-common.bbclass | 180 +++ poky/meta/classes/rust.bbclass | 45 + poky/meta/classes/sstate.bbclass | 5 +- poky/meta/classes/toaster.bbclass | 2 +- poky/meta/classes/uboot-config.bbclass | 18 +- poky/meta/classes/uninative.bbclass | 2 +- poky/meta/classes/update-alternatives.bbclass | 6 +- poky/meta/classes/utils.bbclass | 2 +- poky/meta/conf/bitbake.conf | 16 +- poky/meta/conf/distro/include/maintainers.inc | 32 +- .../conf/distro/include/ptest-packagelists.inc | 1 + .../conf/distro/include/rust_security_flags.inc | 7 + poky/meta/conf/distro/include/rust_versions.inc | 13 + poky/meta/conf/distro/include/yocto-uninative.inc | 10 +- poky/meta/conf/licenses.conf | 1 + poky/meta/conf/machine/include/arm/arch-arm.inc | 4 + poky/meta/conf/machine/include/arm/arch-armv4.inc | 2 +- .../conf/machine/include/arm/arch-armv5-dsp.inc | 1 + poky/meta/conf/machine/include/arm/arch-armv5.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv6.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv6m.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv7a.inc | 3 +- .../meta/conf/machine/include/arm/arch-armv7em.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv7m.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv7r.inc | 22 + .../meta/conf/machine/include/arm/arch-armv7ve.inc | 2 +- .../machine/include/arm/arch-armv8-1m-main.inc | 2 +- .../conf/machine/include/arm/arch-armv8-2a.inc | 2 +- poky/meta/conf/machine/include/arm/arch-armv8a.inc | 8 +- .../conf/machine/include/arm/arch-armv8m-base.inc | 2 +- .../conf/machine/include/arm/arch-armv8m-main.inc | 16 +- poky/meta/conf/machine/include/arm/arch-armv8r.inc | 37 + .../machine/include/arm/armv4/tune-arm920t.inc | 13 + .../machine/include/arm/armv4/tune-arm9tdmi.inc | 13 + .../conf/machine/include/arm/armv4/tune-ep9312.inc | 12 + .../include/arm/armv4/tune-strongarm1100.inc | 12 + .../machine/include/arm/armv5/tune-arm926ejs.inc | 13 + .../conf/machine/include/arm/armv5/tune-iwmmxt.inc | 15 + .../conf/machine/include/arm/armv5/tune-xscale.inc | 19 + .../machine/include/arm/armv6/tune-arm1136jf-s.inc | 16 + .../machine/include/arm/armv6/tune-arm1176jz-s.inc | 17 + .../machine/include/arm/armv6m/tune-cortexm0.inc | 11 + .../include/arm/armv6m/tune-cortexm0plus.inc | 11 + .../machine/include/arm/armv6m/tune-cortexm1.inc | 14 + .../machine/include/arm/armv7a/tune-cortexa15.inc | 51 + .../machine/include/arm/armv7a/tune-cortexa17.inc | 51 + .../machine/include/arm/armv7a/tune-cortexa5.inc | 51 + .../machine/include/arm/armv7a/tune-cortexa7.inc | 51 + .../machine/include/arm/armv7a/tune-cortexa8.inc | 39 + .../machine/include/arm/armv7a/tune-cortexa9.inc | 55 + .../machine/include/arm/armv7m/tune-cortexm3.inc | 14 + .../machine/include/arm/armv7m/tune-cortexm4.inc | 14 + .../machine/include/arm/armv7m/tune-cortexm7.inc | 14 + .../machine/include/arm/armv7r/tune-cortexr4.inc | 14 + .../machine/include/arm/armv7r/tune-cortexr4f.inc | 14 + .../machine/include/arm/armv7r/tune-cortexr5.inc | 14 + .../machine/include/arm/armv7r/tune-cortexr7.inc | 14 + .../machine/include/arm/armv7r/tune-cortexr8.inc | 14 + .../include/arm/armv8-2a/tune-cortexa55.inc | 13 + .../machine/include/arm/armv8a/tune-cortexa32.inc | 17 + .../machine/include/arm/armv8a/tune-cortexa35.inc | 17 + .../machine/include/arm/armv8a/tune-cortexa53.inc | 17 + .../arm/armv8a/tune-cortexa57-cortexa53.inc | 14 + .../machine/include/arm/armv8a/tune-cortexa57.inc | 17 + .../arm/armv8a/tune-cortexa72-cortexa53.inc | 19 + .../machine/include/arm/armv8a/tune-cortexa72.inc | 13 + .../arm/armv8a/tune-cortexa73-cortexa53.inc | 19 + .../machine/include/arm/armv8a/tune-thunderx.inc | 19 + .../machine/include/arm/armv8r/tune-cortexr52.inc | 14 + .../conf/machine/include/arm/feature-arm-crc.inc | 4 + .../machine/include/arm/feature-arm-crypto.inc | 5 + .../conf/machine/include/arm/feature-arm-dsp.inc | 3 + .../conf/machine/include/arm/feature-arm-idiv.inc | 2 + .../conf/machine/include/arm/feature-arm-neon.inc | 5 + .../conf/machine/include/arm/feature-arm-simd.inc | 5 + .../conf/machine/include/m68k/tune-mcf5441x.inc | 13 + .../machine/include/microblaze/tune-microblaze.inc | 8 + .../conf/machine/include/mips/qemuboot-mips.inc | 8 + .../conf/machine/include/mips/tune-mips-24k.inc | 2 +- .../conf/machine/include/mips/tune-mips-74k.inc | 2 +- .../meta/conf/machine/include/mips/tune-mips32.inc | 29 + .../conf/machine/include/mips/tune-mips32r2.inc | 29 + .../conf/machine/include/mips/tune-mips32r6.inc | 29 + .../meta/conf/machine/include/mips/tune-mips64.inc | 3 + .../conf/machine/include/mips/tune-mips64r2.inc | 84 ++ .../conf/machine/include/mips/tune-mips64r6.inc | 58 + .../meta/conf/machine/include/mips/tune-octeon.inc | 32 + .../conf/machine/include/powerpc/tune-power5.inc | 24 + .../conf/machine/include/powerpc/tune-power6.inc | 24 + .../conf/machine/include/powerpc/tune-power7.inc | 24 + .../conf/machine/include/powerpc/tune-power9.inc | 31 + .../conf/machine/include/powerpc/tune-ppc476.inc | 14 + .../conf/machine/include/powerpc/tune-ppc603e.inc | 14 + .../conf/machine/include/powerpc/tune-ppc7400.inc | 14 + .../machine/include/powerpc/tune-ppce300c2.inc | 11 + .../machine/include/powerpc/tune-ppce300c3.inc | 23 + .../conf/machine/include/powerpc/tune-ppce500.inc | 20 + .../machine/include/powerpc/tune-ppce500mc.inc | 17 + .../machine/include/powerpc/tune-ppce500v2.inc | 20 + .../conf/machine/include/powerpc/tune-ppce5500.inc | 23 + .../conf/machine/include/powerpc/tune-ppce6500.inc | 24 + poky/meta/conf/machine/include/qemuboot-mips.inc | 8 - poky/meta/conf/machine/include/qemuboot-x86.inc | 14 - poky/meta/conf/machine/include/sh/tune-sh3.inc | 17 + poky/meta/conf/machine/include/sh/tune-sh4.inc | 34 + .../meta/conf/machine/include/tune-arm1136jf-s.inc | 16 - .../meta/conf/machine/include/tune-arm1176jz-s.inc | 17 - poky/meta/conf/machine/include/tune-arm920t.inc | 13 - poky/meta/conf/machine/include/tune-arm926ejs.inc | 13 - poky/meta/conf/machine/include/tune-arm9tdmi.inc | 13 - poky/meta/conf/machine/include/tune-atom.inc | 2 - poky/meta/conf/machine/include/tune-c3.inc | 12 - poky/meta/conf/machine/include/tune-core2.inc | 38 - poky/meta/conf/machine/include/tune-corei7.inc | 38 - poky/meta/conf/machine/include/tune-cortex-m0.inc | 11 - .../conf/machine/include/tune-cortex-m0plus.inc | 11 - poky/meta/conf/machine/include/tune-cortexa15.inc | 51 - poky/meta/conf/machine/include/tune-cortexa17.inc | 51 - poky/meta/conf/machine/include/tune-cortexa32.inc | 17 - poky/meta/conf/machine/include/tune-cortexa35.inc | 17 - poky/meta/conf/machine/include/tune-cortexa5.inc | 51 - poky/meta/conf/machine/include/tune-cortexa53.inc | 17 - poky/meta/conf/machine/include/tune-cortexa55.inc | 13 - .../machine/include/tune-cortexa57-cortexa53.inc | 14 - poky/meta/conf/machine/include/tune-cortexa57.inc | 17 - poky/meta/conf/machine/include/tune-cortexa7.inc | 51 - .../machine/include/tune-cortexa72-cortexa53.inc | 19 - poky/meta/conf/machine/include/tune-cortexa72.inc | 13 - .../machine/include/tune-cortexa73-cortexa53.inc | 19 - poky/meta/conf/machine/include/tune-cortexa8.inc | 39 - poky/meta/conf/machine/include/tune-cortexa9.inc | 55 - poky/meta/conf/machine/include/tune-cortexm1.inc | 14 - poky/meta/conf/machine/include/tune-cortexm3.inc | 14 - poky/meta/conf/machine/include/tune-cortexm4.inc | 14 - poky/meta/conf/machine/include/tune-cortexm7.inc | 14 - poky/meta/conf/machine/include/tune-ep9312.inc | 12 - poky/meta/conf/machine/include/tune-i586-nlp.inc | 19 - poky/meta/conf/machine/include/tune-i586.inc | 14 - poky/meta/conf/machine/include/tune-i686.inc | 27 - poky/meta/conf/machine/include/tune-iwmmxt.inc | 15 - poky/meta/conf/machine/include/tune-mcf5441x.inc | 13 - poky/meta/conf/machine/include/tune-microblaze.inc | 8 - poky/meta/conf/machine/include/tune-mips32.inc | 29 - poky/meta/conf/machine/include/tune-mips32r2.inc | 29 - poky/meta/conf/machine/include/tune-mips32r6.inc | 29 - poky/meta/conf/machine/include/tune-mips64.inc | 3 - poky/meta/conf/machine/include/tune-mips64r2.inc | 84 -- poky/meta/conf/machine/include/tune-mips64r6.inc | 58 - poky/meta/conf/machine/include/tune-octeon.inc | 32 - poky/meta/conf/machine/include/tune-power5.inc | 24 - poky/meta/conf/machine/include/tune-power6.inc | 24 - poky/meta/conf/machine/include/tune-power7.inc | 24 - poky/meta/conf/machine/include/tune-power9.inc | 31 - poky/meta/conf/machine/include/tune-ppc476.inc | 14 - poky/meta/conf/machine/include/tune-ppc603e.inc | 14 - poky/meta/conf/machine/include/tune-ppc7400.inc | 14 - poky/meta/conf/machine/include/tune-ppce300c2.inc | 11 - poky/meta/conf/machine/include/tune-ppce300c3.inc | 23 - poky/meta/conf/machine/include/tune-ppce500.inc | 20 - poky/meta/conf/machine/include/tune-ppce500mc.inc | 17 - poky/meta/conf/machine/include/tune-ppce500v2.inc | 20 - poky/meta/conf/machine/include/tune-ppce5500.inc | 23 - poky/meta/conf/machine/include/tune-ppce6500.inc | 24 - poky/meta/conf/machine/include/tune-sh3.inc | 17 - poky/meta/conf/machine/include/tune-sh4.inc | 34 - .../conf/machine/include/tune-strongarm1100.inc | 12 - poky/meta/conf/machine/include/tune-thunderx.inc | 19 - poky/meta/conf/machine/include/tune-xscale.inc | 19 - poky/meta/conf/machine/include/x86-base.inc | 46 - .../meta/conf/machine/include/x86/qemuboot-x86.inc | 14 + poky/meta/conf/machine/include/x86/tune-atom.inc | 2 + poky/meta/conf/machine/include/x86/tune-c3.inc | 12 + poky/meta/conf/machine/include/x86/tune-core2.inc | 38 + poky/meta/conf/machine/include/x86/tune-corei7.inc | 38 + .../conf/machine/include/x86/tune-i586-nlp.inc | 19 + poky/meta/conf/machine/include/x86/tune-i586.inc | 14 + poky/meta/conf/machine/include/x86/tune-i686.inc | 27 + poky/meta/conf/machine/include/x86/x86-base.inc | 46 + poky/meta/conf/machine/qemuarm.conf | 2 +- poky/meta/conf/machine/qemuarm64.conf | 2 +- poky/meta/conf/machine/qemuarmv5.conf | 4 +- poky/meta/conf/machine/qemumips.conf | 4 +- poky/meta/conf/machine/qemumips64.conf | 4 +- poky/meta/conf/machine/qemuppc.conf | 2 +- poky/meta/conf/machine/qemuppc64.conf | 2 +- poky/meta/conf/machine/qemux86-64.conf | 4 +- poky/meta/conf/machine/qemux86.conf | 4 +- poky/meta/files/rust-ccld-wrapper.c | 29 + poky/meta/lib/crate.py | 149 +++ poky/meta/lib/oe/elf.py | 8 + poky/meta/lib/oe/prservice.py | 25 +- poky/meta/lib/oe/utils.py | 32 +- poky/meta/lib/oeqa/runtime/cases/parselogs.py | 1 + poky/meta/lib/oeqa/sdk/buildtools-cases/build.py | 9 +- poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py | 29 + poky/meta/lib/oeqa/sdk/buildtools-cases/https.py | 20 + poky/meta/lib/oeqa/selftest/cases/buildoptions.py | 24 + poky/meta/lib/oeqa/selftest/cases/distrodata.py | 2 +- poky/meta/lib/oeqa/selftest/cases/glibc.py | 2 +- poky/meta/lib/oeqa/selftest/cases/reproducible.py | 6 +- poky/meta/lib/oeqa/selftest/cases/runtime_test.py | 6 +- poky/meta/lib/oeqa/selftest/cases/wic.py | 58 + poky/meta/lib/oeqa/utils/qemurunner.py | 7 +- poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb | 71 -- poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb | 70 ++ poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb | 2 +- poky/meta/recipes-bsp/grub/grub-efi_2.06.bb | 2 +- poky/meta/recipes-bsp/u-boot/u-boot.inc | 38 +- poky/meta/recipes-bsp/usbutils/usbutils_013.bb | 30 - poky/meta/recipes-bsp/usbutils/usbutils_014.bb | 31 + .../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.16.19/bind9 | 2 - .../bind/bind-9.16.19/conf.patch | 330 ----- .../bind/bind-9.16.19/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.16.19/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.16.20/bind9 | 2 + .../bind/bind-9.16.20/conf.patch | 330 +++++ .../bind/bind-9.16.20/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.16.20/named.service | 22 + .../meta/recipes-connectivity/bind/bind_9.16.19.bb | 129 -- .../meta/recipes-connectivity/bind/bind_9.16.20.bb | 129 ++ .../recipes-connectivity/bluez5/bluez5_5.60.bb | 70 -- .../recipes-connectivity/bluez5/bluez5_5.61.bb | 70 ++ .../inetutils/inetutils_2.0.bb | 212 ---- .../inetutils/inetutils_2.1.bb | 211 ++++ .../0001-add-missing-headers-in-timer_mgr.cc.patch | 29 + poky/meta/recipes-connectivity/kea/kea_1.8.2.bb | 1 + .../mobile-broadband-provider-info_git.bb | 4 +- .../recipes-connectivity/openssh/openssh_8.6p1.bb | 185 --- .../recipes-connectivity/openssh/openssh_8.7p1.bb | 185 +++ .../recipes-connectivity/openssl/openssl_1.1.1k.bb | 248 ---- .../recipes-connectivity/openssl/openssl_1.1.1l.bb | 248 ++++ .../recipes-core/busybox/busybox-inittab_1.33.0.bb | 85 -- .../recipes-core/busybox/busybox-inittab_1.34.0.bb | 85 ++ ...iles-Use-C-locale-when-calling-sed-on-glo.patch | 28 - ...-testsuite-check-uudecode-before-using-it.patch | 6 +- .../busybox/busybox-udhcpc-no_deconfig.patch | 102 +- poky/meta/recipes-core/busybox/busybox/defconfig | 12 +- poky/meta/recipes-core/busybox/busybox_1.33.1.bb | 55 - poky/meta/recipes-core/busybox/busybox_1.34.0.bb | 54 + poky/meta/recipes-core/ell/ell_0.42.bb | 24 - poky/meta/recipes-core/ell/ell_0.43.bb | 24 + ...orrectly-use-3-parameters-for-close_range.patch | 29 - .../glib-2.0/glib-2.0/relocate-modules.patch | 2 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb | 56 - poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb | 55 + poky/meta/recipes-core/glib-2.0/glib.inc | 2 +- .../glib-networking/glib-networking_2.68.1.bb | 38 - .../glib-networking/glib-networking_2.68.2.bb | 38 + poky/meta/recipes-core/glibc/glibc-package.inc | 5 +- .../glibc/glibc/0001-CVE-2021-38604.patch | 43 + ...thread-failed-in-unprivileged-process-BZ-.patch | 79 ++ .../glibc/glibc/0002-CVE-2021-38604.patch | 150 +++ ...-Unify-the-header-between-arm-and-aarch64.patch | 8 - poky/meta/recipes-core/glibc/glibc_2.34.bb | 3 + .../libcgroup/libcgroup/CVE-2018-14348.patch | 37 - .../recipes-core/libcgroup/libcgroup/module.patch | 36 + .../libcgroup/libcgroup/musl-decls-compat.patch | 187 ++- poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb | 46 - poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb | 35 + .../libxcrypt/libxcrypt-compat_4.4.23.bb | 18 - .../libxcrypt/libxcrypt-compat_4.4.25.bb | 18 + poky/meta/recipes-core/libxcrypt/libxcrypt.inc | 2 +- .../recipes-core/libxcrypt/libxcrypt_4.4.23.bb | 2 - .../recipes-core/libxcrypt/libxcrypt_4.4.25.bb | 2 + ...riscv-Rename-__NR_fstatat-__NR_newfstatat.patch | 32 - poky/meta/recipes-core/musl/musl_git.bb | 3 +- .../nativesdk-packagegroup-sdk-host.bb | 3 + .../packagegroup-rust-cross-canadian.bb | 18 + .../recipes-core/systemd/systemd-boot_249.1.bb | 73 -- .../recipes-core/systemd/systemd-boot_249.3.bb | 74 ++ .../recipes-core/systemd/systemd-bootconf_1.00.bb | 2 +- poky/meta/recipes-core/systemd/systemd.inc | 2 +- .../0002-don-t-use-glibc-specific-qsort_r.patch | 104 +- ...e.h-add-__compare_fn_t-and-comparison_fn_.patch | 4 +- ...llback-parse_printf_format-implementation.patch | 16 +- ...asic-missing.h-check-for-missing-strndupa.patch | 247 ++-- .../systemd/0006-Include-netinet-if_ether.h.patch | 246 ++-- ...if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch | 12 +- .../0008-add-missing-FTW_-macros-for-musl.patch | 2 +- ...-of-__register_atfork-for-non-glibc-build.patch | 6 +- .../0010-Use-uintmax_t-for-handling-rlim_t.patch | 12 +- ....c-Disable-tests-for-missing-typedefs-in-.patch | 2 +- ...ass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch | 14 +- ...c-compatible-basename-for-non-glibc-syste.patch | 4 +- ...ble-buffering-when-writing-to-oom_score_a.patch | 6 +- ...-XSI-compliant-strerror_r-from-GNU-specif.patch | 6 +- ...rt_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch | 4 +- ...ing_type.h-add-__compar_d_fn_t-definition.patch | 2 +- ...id-redefinition-of-prctl_mm_map-structure.patch | 2 +- .../systemd/0019-Handle-missing-LOCK_EX.patch | 2 +- ...ompatible-pointer-type-struct-sockaddr_un.patch | 6 +- .../systemd/0021-test-json.c-define-M_PIl.patch | 2 +- ...22-do-not-disable-buffer-in-writing-files.patch | 136 +- .../systemd/0025-Handle-__cpu_mask-usage.patch | 2 +- .../systemd/0026-Handle-missing-gshadow.patch | 20 +- ...yscall.h-Define-MIPS-ABI-defines-for-musl.patch | 4 +- poky/meta/recipes-core/systemd/systemd_249.1.bb | 773 ------------ poky/meta/recipes-core/systemd/systemd_249.3.bb | 777 ++++++++++++ .../util-linux/util-linux-libuuid_2.37.1.bb | 16 - .../util-linux/util-linux-libuuid_2.37.2.bb | 16 + poky/meta/recipes-core/util-linux/util-linux.inc | 3 +- .../util-linux/util-linux/CVE-2021-37600.patch | 33 - .../recipes-core/util-linux/util-linux_2.37.1.bb | 319 ----- .../recipes-core/util-linux/util-linux_2.37.2.bb | 319 +++++ .../recipes-devtools/binutils/binutils-2.37.inc | 1 + ...he-file-descriptor-if-there-is-no-archive.patch | 234 ++++ .../recipes-devtools/binutils/binutils_2.37.bb | 2 +- ...01-fix-error-for-undeclared-macro-on-musl.patch | 28 - .../btrfs-tools/btrfs-tools_5.13.1.bb | 72 ++ .../btrfs-tools/btrfs-tools_5.13.bb | 73 -- .../cargo/cargo-cross-canadian.inc | 74 ++ .../cargo/cargo-cross-canadian_1.54.0.bb | 6 + poky/meta/recipes-devtools/cargo/cargo.inc | 54 + poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb | 4 + poky/meta/recipes-devtools/ccache/ccache_4.3.bb | 25 - poky/meta/recipes-devtools/ccache/ccache_4.4.bb | 26 + poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc | 2 +- ...1-lib-ext2fs-unix_io.c-do-unlock-on-error.patch | 24 - ...unix_io.c-revert-parts-of-libext2fs-fix-p.patch | 48 - ..._direct_io-expect-correct-expected-output.patch | 69 + .../e2fsprogs/big-inodes-for-small-fs.patch | 22 - ...s-fix-missing-check-for-permission-denied.patch | 4 +- .../e2fsprogs/e2fsprogs/quiet-debugfs.patch | 2 +- .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb | 144 --- .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.4.bb | 141 +++ .../recipes-devtools/elfutils/elfutils_0.185.bb | 10 +- .../recipes-devtools/gcc/gcc-multilib-config.inc | 32 +- poky/meta/recipes-devtools/git/git_2.32.0.bb | 9 - poky/meta/recipes-devtools/git/git_2.33.0.bb | 9 + .../recipes-devtools/help2man/help2man_1.48.3.bb | 24 - .../recipes-devtools/help2man/help2man_1.48.4.bb | 24 + .../libedit/libedit_20210522-3.1.bb | 24 - .../libedit/libedit_20210714-3.1.bb | 24 + .../recipes-devtools/log4cplus/log4cplus_2.0.6.bb | 20 - .../recipes-devtools/log4cplus/log4cplus_2.0.7.bb | 19 + .../mtools/mtools/disable-hardcoded-configs.patch | 2 +- poky/meta/recipes-devtools/mtools/mtools_4.0.34.bb | 49 - poky/meta/recipes-devtools/mtools/mtools_4.0.35.bb | 49 + .../6edec83653ce1b5fc201ff6db93b966394766814.patch | 44 - .../patchelf/patchelf/alignmentfix.patch | 44 - .../patchelf/patchelf/handle-read-only-files.patch | 16 +- .../recipes-devtools/patchelf/patchelf_0.12.bb | 20 - .../recipes-devtools/patchelf/patchelf_0.13.bb | 18 + .../meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb | 67 - .../meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb | 67 + poky/meta/recipes-devtools/prelink/prelink_git.bb | 4 +- .../recipes-devtools/pseudo/files/build-oldlibc | 20 + .../pseudo/files/older-glibc-symbols.patch | 57 + poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 7 + .../python-numpy/python3-numpy_1.21.0.bb | 58 - .../python-numpy/python3-numpy_1.21.2.bb | 58 + ...ionally-do-not-fetch-code-by-easy_install.patch | 2 +- .../meta/recipes-devtools/python/python-cython.inc | 2 +- .../python/python3-cython_0.29.23.bb | 36 - .../python/python3-cython_0.29.24.bb | 37 + .../recipes-devtools/python/python3-git_3.1.18.bb | 32 - .../recipes-devtools/python/python3-git_3.1.20.bb | 32 + .../python/python3-hypothesis/run-ptest | 10 + .../python3-hypothesis/test_binary_search.py | 135 ++ .../python/python3-hypothesis/test_rle.py | 101 ++ .../python/python3-hypothesis_6.14.5.bb | 22 - .../python/python3-hypothesis_6.15.0.bb | 38 + .../python/python3-importlib-metadata_4.6.3.bb | 20 - .../python/python3-importlib-metadata_4.6.4.bb | 20 + .../recipes-devtools/python/python3-mako_1.1.4.bb | 18 - .../recipes-devtools/python/python3-mako_1.1.5.bb | 18 + .../recipes-devtools/python/python3-pip_21.2.1.bb | 33 - .../recipes-devtools/python/python3-pip_21.2.4.bb | 33 + .../python/python3-pluggy_0.13.1.bb | 27 - .../python/python3-pluggy_1.0.0.bb | 26 + .../python/python3-pygments_2.10.0.bb | 19 + .../python/python3-pygments_2.9.0.bb | 19 - .../python3-pytest/0001-Allow-pluggy-1.0.patch | 65 + .../python/python3-pytest_6.2.4.bb | 1 + .../python/python3-setuptools_57.1.0.bb | 55 - .../python/python3-setuptools_57.4.0.bb | 55 + poky/meta/recipes-devtools/qemu/qemu.inc | 1 + .../recipes-devtools/qemu/qemu/CVE-2021-3682.patch | 41 + poky/meta/recipes-devtools/rust/README-rust.md | 58 + .../recipes-devtools/rust/files/riscv-march.patch | 73 ++ poky/meta/recipes-devtools/rust/files/rv64gc.patch | 37 + ...-definitions-for-riscv64-musl-libc-0.2.93.patch | 905 +++++++++++++ ...-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch | 31 + ...ect-definitions-to-match-musl-libc-0.2.93.patch | 741 +++++++++++ ...ksums-for-modified-files-for-rust-1.54.0-.patch | 23 + poky/meta/recipes-devtools/rust/libstd-rs.inc | 40 + .../meta/recipes-devtools/rust/libstd-rs_1.54.0.bb | 11 + poky/meta/recipes-devtools/rust/rust-common.inc | 349 ++++++ .../rust/rust-cross-canadian-common.inc | 55 + .../recipes-devtools/rust/rust-cross-canadian.inc | 78 ++ .../rust/rust-cross-canadian_1.54.0.bb | 6 + poky/meta/recipes-devtools/rust/rust-cross.inc | 71 ++ .../recipes-devtools/rust/rust-cross_1.54.0.bb | 2 + poky/meta/recipes-devtools/rust/rust-llvm.inc | 64 + .../0002-llvm-allow-env-override-of-exe-path.patch | 32 + .../meta/recipes-devtools/rust/rust-llvm_1.54.0.bb | 5 + .../recipes-devtools/rust/rust-snapshot-1.54.0.inc | 18 + poky/meta/recipes-devtools/rust/rust-snapshot.inc | 9 + .../recipes-devtools/rust/rust-source-1.54.0.inc | 3 + poky/meta/recipes-devtools/rust/rust-source.inc | 6 + poky/meta/recipes-devtools/rust/rust-target.inc | 10 + .../rust/rust-tools-cross-canadian.inc | 38 + .../rust/rust-tools-cross-canadian_1.54.0.bb | 6 + poky/meta/recipes-devtools/rust/rust.inc | 201 +++ poky/meta/recipes-devtools/rust/rust_1.54.0.bb | 20 + ...fs-tools-fix-build-failure-against-gcc-10.patch | 45 - ...id-use-of-INSTALL_DIR-for-symlink-targets.patch | 34 + .../squashfs-tools/squashfs-tools_git.bb | 10 +- poky/meta/recipes-devtools/swig/swig.inc | 2 +- .../recipes-devtools/tcf-agent/tcf-agent_git.bb | 2 +- poky/meta/recipes-devtools/vala/vala_0.52.4.bb | 5 - poky/meta/recipes-devtools/vala/vala_0.52.5.bb | 5 + .../rust-hello-world/0001-enable-LTO.patch | 23 + .../rust-hello-world/rust-hello-world_git.bb | 19 + poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 171 +++ .../recipes-extended/acpica/acpica_20210331.bb | 51 - .../recipes-extended/acpica/acpica_20210730.bb | 51 + .../cpio/cpio-2.13/CVE-2021-38185.patch | 581 +++++++++ poky/meta/recipes-extended/cpio/cpio_2.13.bb | 1 + .../0001-c-stack-stop-using-SIGSTKSZ.patch | 84 -- .../recipes-extended/diffutils/diffutils_3.7.bb | 41 - .../recipes-extended/diffutils/diffutils_3.8.bb | 42 + poky/meta/recipes-extended/grep/grep_3.6.bb | 46 - poky/meta/recipes-extended/grep/grep_3.7.bb | 46 + poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb | 32 - poky/meta/recipes-extended/libidn/libidn2_2.3.2.bb | 31 + poky/meta/recipes-extended/libnsl/libnsl2_git.bb | 4 +- ...-meson-add-with_zstd-to-meson_options.txt.patch | 27 + .../recipes-extended/lighttpd/lighttpd_1.4.59.bb | 58 +- ...ctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch | 59 + poky/meta/recipes-extended/ltp/ltp_20210524.bb | 1 + poky/meta/recipes-extended/man-db/man-db_2.9.4.bb | 11 + .../meta/recipes-extended/mc/files/nomandate.patch | 24 +- poky/meta/recipes-extended/mc/mc_4.8.26.bb | 55 - poky/meta/recipes-extended/mc/mc_4.8.27.bb | 60 + poky/meta/recipes-extended/pam/libpam_1.3.1.bb | 2 +- ...-fix-default-value-in-SHA_get_salt_rounds.patch | 64 + poky/meta/recipes-extended/shadow/files/useradd | 8 + poky/meta/recipes-extended/shadow/shadow.inc | 6 +- ...nimal-stack-size-via-sysconf-then-PTHREAD.patch | 103 -- .../stress-ng/stress-ng_0.12.12.bb | 26 - .../stress-ng/stress-ng_0.13.00.bb | 25 + poky/meta/recipes-extended/sudo/sudo.inc | 2 +- poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb | 59 - poky/meta/recipes-extended/sudo/sudo_1.9.7p2.bb | 59 + poky/meta/recipes-extended/timezone/timezone.inc | 2 +- poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb | 29 - poky/meta/recipes-gnome/epiphany/epiphany_40.3.bb | 29 + poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb | 4 +- .../recipes-gnome/json-glib/json-glib_1.6.2.bb | 33 - .../recipes-gnome/json-glib/json-glib_1.6.4.bb | 32 + .../0001-gudevenumtypes-make-deterministic.patch | 44 - poky/meta/recipes-gnome/libgudev/libgudev_236.bb | 33 - poky/meta/recipes-gnome/libgudev/libgudev_237.bb | 31 + .../recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb | 48 - .../recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb | 48 + .../recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 62 - .../recipes-graphics/jpeg/libjpeg-turbo_2.1.1.bb | 62 + .../recipes-graphics/libepoxy/libepoxy_1.5.8.bb | 32 - .../recipes-graphics/libepoxy/libepoxy_1.5.9.bb | 32 + .../recipes-graphics/libsdl2/libsdl2_2.0.14.bb | 79 -- .../recipes-graphics/libsdl2/libsdl2_2.0.16.bb | 79 ++ ...Fix-dmabuf-import-for-non-scanout-buffers.patch | 72 -- .../0002-meson.build-make-TLS-ELF-optional.patch | 12 +- .../recipes-graphics/mesa/files/without-neon.patch | 53 + poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb | 16 - poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb | 16 + poky/meta/recipes-graphics/mesa/mesa.inc | 9 +- poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb | 4 - poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb | 5 + poky/meta/recipes-graphics/pango/pango_1.48.7.bb | 54 - poky/meta/recipes-graphics/pango/pango_1.48.9.bb | 54 + ...-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch | 68 - ...ove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch | 32 + .../assimp/use-GNUInstallDirs-where-possible.patch | 257 ++++ poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb | 3 +- .../recipes-graphics/vulkan/vulkan-samples_git.bb | 2 +- .../recipes-graphics/wayland/libinput_1.18.0.bb | 49 - .../recipes-graphics/wayland/libinput_1.18.1.bb | 49 + ...ackend-drm-Re-order-gbm-destruction-at-DR.patch | 50 + poky/meta/recipes-graphics/wayland/weston_9.0.0.bb | 5 +- poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb | 14 - poky/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb | 13 + .../recipes-graphics/xorg-font/font-util_1.3.2.bb | 2 +- .../meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb | 2 +- .../recipes-graphics/xorg-lib/libxfont2_2.0.4.bb | 24 - .../recipes-graphics/xorg-lib/libxfont2_2.0.5.bb | 23 + .../meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb | 33 - .../meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb | 32 + .../xorg-xserver/xserver-xorg_1.20.12.bb | 33 - .../xorg-xserver/xserver-xorg_1.20.13.bb | 33 + .../linux-firmware/linux-firmware_20210511.bb | 1067 ---------------- .../linux-firmware/linux-firmware_20210818.bb | 1067 ++++++++++++++++ poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 10 +- poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.13.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 45 - .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.13.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 32 - poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 24 +- poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb | 26 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 55 - ...change-missing-CONFIG_TRACEPOINTS-to-warn.patch | 25 +- ...-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch | 49 - .../recipes-kernel/lttng/lttng-modules_2.12.6.bb | 42 - .../recipes-kernel/lttng/lttng-modules_2.13.0.bb | 44 + .../wireless-regdb/wireless-regdb_2021.04.21.bb | 43 - .../wireless-regdb/wireless-regdb_2021.07.14.bb | 43 + poky/meta/recipes-multimedia/flac/flac_1.3.3.bb | 2 +- .../recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +- ...dd-an-option-for-enabling-disabling-Valgr.patch | 67 - ...eson-check-if-NEON-code-can-be-compiled-o.patch | 71 -- .../pulseaudio/pulseaudio_14.2.bb | 14 - .../pulseaudio/pulseaudio_15.0.bb | 11 + poky/meta/recipes-multimedia/webp/libwebp_1.2.0.bb | 55 - poky/meta/recipes-multimedia/webp/libwebp_1.2.1.bb | 55 + .../0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch | 8 +- ...e-CompletionHandler-when-USE_OPENGL_OR_ES.patch | 37 - poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb | 151 --- poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb | 150 +++ poky/meta/recipes-support/boost/boost-1.76.0.inc | 20 - poky/meta/recipes-support/boost/boost-1.77.0.inc | 20 + ...01-Fixes-wrong-type-for-mutex-in-regex-v5.patch | 54 - poky/meta/recipes-support/boost/boost_1.76.0.bb | 11 - poky/meta/recipes-support/boost/boost_1.77.0.bb | 9 + .../recipes-support/diffoscope/diffoscope_179.bb | 30 - .../recipes-support/diffoscope/diffoscope_181.bb | 30 + .../meta/recipes-support/enchant/enchant2_2.3.0.bb | 31 - .../meta/recipes-support/enchant/enchant2_2.3.1.bb | 31 + poky/meta/recipes-support/libcap/libcap_2.51.bb | 2 +- ...01-Makefile-restore-build-reproducibility.patch | 27 + .../libjitterentropy/libjitterentropy_3.0.2.bb | 27 - .../libjitterentropy/libjitterentropy_3.1.0.bb | 33 + .../recipes-support/lz4/files/CVE-2021-3520.patch | 27 + poky/meta/recipes-support/lz4/files/run-ptest | 43 - poky/meta/recipes-support/lz4/lz4_1.9.3.bb | 2 +- poky/meta/recipes-support/lzo/lzo_2.10.bb | 2 + poky/meta/recipes-support/re2c/re2c_2.1.1.bb | 16 - poky/meta/recipes-support/re2c/re2c_2.2.bb | 16 + ...ity-to-detect-non-posix-extensions-for-pt.patch | 41 + ...se-of-either-pthread-affinity-set-methods.patch | 47 + .../recipes-support/rng-tools/rng-tools_6.13.bb | 60 - .../recipes-support/rng-tools/rng-tools_6.14.bb | 61 + poky/meta/recipes-support/vim/vim.inc | 4 +- poky/scripts/buildhistory-collect-srcrevs | 4 +- poky/scripts/lib/devtool/search.py | 5 +- poky/scripts/lib/recipetool/append.py | 8 +- poky/scripts/lib/recipetool/create.py | 4 +- .../lib/recipetool/create_buildsys_python.py | 2 +- poky/scripts/lib/wic/help.py | 5 +- poky/scripts/lib/wic/ksparser.py | 1 + poky/scripts/lib/wic/partition.py | 5 +- poky/scripts/lib/wic/plugins/source/rootfs.py | 2 +- poky/scripts/oe-pkgdata-util | 41 +- poky/scripts/runqemu | 2 + 891 files changed, 21791 insertions(+), 16021 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.6.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210801.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210815.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.6.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.7.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2021-3560.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210720.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210824.bb delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch create mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb create mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb delete mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch delete mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.21.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.22.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.32.bb delete mode 100644 meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.11.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.12.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.071.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.072.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.7.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cached-property_1.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_5.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.4.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.30.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.18.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.38.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.54.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.56.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pkcs11_0.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.144.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.148.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.7.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.8.27.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.10.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.13.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.22.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.23.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.36.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.37.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.36.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.1.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.0.0.2.bb create mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nginx/files/CVE-2021-3618.patch delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.38.bb delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.3.bb delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-security/krill/files/panic_workaround.patch delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill.inc delete mode 100644 meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill_0.9.1.bb create mode 100644 meta-security/recipes-ids/suricata/files/fixup.patch create mode 100644 meta-security/recipes-ids/suricata/files/run-ptest create mode 100644 meta-security/recipes-ids/suricata/files/suricata.service create mode 100644 meta-security/recipes-ids/suricata/files/suricata.yaml create mode 100644 meta-security/recipes-ids/suricata/files/tmpfiles.suricata create mode 100644 meta-security/recipes-ids/suricata/files/volatiles.03_suricata create mode 100644 meta-security/recipes-ids/suricata/libhtp_0.5.38.bb create mode 100644 meta-security/recipes-ids/suricata/suricata.inc create mode 100644 meta-security/recipes-ids/suricata/suricata_6.0.3.bb create mode 100644 meta-security/recipes-security/cryfs/cryfs_0.10.3.bb create mode 100644 meta-security/recipes-security/krill/files/panic_workaround.patch create mode 100644 meta-security/recipes-security/krill/krill.inc create mode 100644 meta-security/recipes-security/krill/krill_0.9.1.bb create mode 100644 poky/bitbake/lib/prserv/client.py delete mode 100644 poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend create mode 100644 poky/meta/classes/cargo.bbclass create mode 100644 poky/meta/classes/cargo_common.bbclass create mode 100644 poky/meta/classes/crate-fetch.bbclass create mode 100644 poky/meta/classes/rust-bin.bbclass create mode 100644 poky/meta/classes/rust-common.bbclass create mode 100644 poky/meta/classes/rust.bbclass create mode 100644 poky/meta/conf/distro/include/rust_security_flags.inc create mode 100644 poky/meta/conf/distro/include/rust_versions.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv7r.inc create mode 100644 poky/meta/conf/machine/include/arm/arch-armv8r.inc create mode 100644 poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc create mode 100644 poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc create mode 100644 poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc create mode 100644 poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc create mode 100644 poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc create mode 100644 poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc create mode 100644 poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc create mode 100644 poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc create mode 100644 poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc create mode 100644 poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc create mode 100644 poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc create mode 100644 poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc create mode 100644 poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc create mode 100644 poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc create mode 100644 poky/meta/conf/machine/include/arm/feature-arm-crc.inc create mode 100644 poky/meta/conf/machine/include/arm/feature-arm-crypto.inc create mode 100644 poky/meta/conf/machine/include/arm/feature-arm-dsp.inc create mode 100644 poky/meta/conf/machine/include/arm/feature-arm-idiv.inc create mode 100644 poky/meta/conf/machine/include/arm/feature-arm-simd.inc create mode 100644 poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc create mode 100644 poky/meta/conf/machine/include/microblaze/tune-microblaze.inc create mode 100644 poky/meta/conf/machine/include/mips/qemuboot-mips.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips32.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips32r2.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips32r6.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips64.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips64r2.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-mips64r6.inc create mode 100644 poky/meta/conf/machine/include/mips/tune-octeon.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-power5.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-power6.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-power7.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-power9.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppc476.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce500.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc create mode 100644 poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc delete mode 100644 poky/meta/conf/machine/include/qemuboot-mips.inc delete mode 100644 poky/meta/conf/machine/include/qemuboot-x86.inc create mode 100644 poky/meta/conf/machine/include/sh/tune-sh3.inc create mode 100644 poky/meta/conf/machine/include/sh/tune-sh4.inc delete mode 100644 poky/meta/conf/machine/include/tune-arm1136jf-s.inc delete mode 100644 poky/meta/conf/machine/include/tune-arm1176jz-s.inc delete mode 100644 poky/meta/conf/machine/include/tune-arm920t.inc delete mode 100644 poky/meta/conf/machine/include/tune-arm926ejs.inc delete mode 100644 poky/meta/conf/machine/include/tune-arm9tdmi.inc delete mode 100644 poky/meta/conf/machine/include/tune-atom.inc delete mode 100644 poky/meta/conf/machine/include/tune-c3.inc delete mode 100644 poky/meta/conf/machine/include/tune-core2.inc delete mode 100644 poky/meta/conf/machine/include/tune-corei7.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortex-m0.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortex-m0plus.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa15.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa17.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa32.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa35.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa5.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa53.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa55.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa57.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa7.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa72.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa8.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexa9.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexm1.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexm3.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexm4.inc delete mode 100644 poky/meta/conf/machine/include/tune-cortexm7.inc delete mode 100644 poky/meta/conf/machine/include/tune-ep9312.inc delete mode 100644 poky/meta/conf/machine/include/tune-i586-nlp.inc delete mode 100644 poky/meta/conf/machine/include/tune-i586.inc delete mode 100644 poky/meta/conf/machine/include/tune-i686.inc delete mode 100644 poky/meta/conf/machine/include/tune-iwmmxt.inc delete mode 100644 poky/meta/conf/machine/include/tune-mcf5441x.inc delete mode 100644 poky/meta/conf/machine/include/tune-microblaze.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips32.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips32r2.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips32r6.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips64.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips64r2.inc delete mode 100644 poky/meta/conf/machine/include/tune-mips64r6.inc delete mode 100644 poky/meta/conf/machine/include/tune-octeon.inc delete mode 100644 poky/meta/conf/machine/include/tune-power5.inc delete mode 100644 poky/meta/conf/machine/include/tune-power6.inc delete mode 100644 poky/meta/conf/machine/include/tune-power7.inc delete mode 100644 poky/meta/conf/machine/include/tune-power9.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppc476.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppc603e.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppc7400.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce300c2.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce300c3.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce500.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce500mc.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce500v2.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce5500.inc delete mode 100644 poky/meta/conf/machine/include/tune-ppce6500.inc delete mode 100644 poky/meta/conf/machine/include/tune-sh3.inc delete mode 100644 poky/meta/conf/machine/include/tune-sh4.inc delete mode 100644 poky/meta/conf/machine/include/tune-strongarm1100.inc delete mode 100644 poky/meta/conf/machine/include/tune-thunderx.inc delete mode 100644 poky/meta/conf/machine/include/tune-xscale.inc delete mode 100644 poky/meta/conf/machine/include/x86-base.inc create mode 100644 poky/meta/conf/machine/include/x86/qemuboot-x86.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-atom.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-c3.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-core2.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-corei7.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-i586-nlp.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-i586.inc create mode 100644 poky/meta/conf/machine/include/x86/tune-i686.inc create mode 100644 poky/meta/conf/machine/include/x86/x86-base.inc create mode 100644 poky/meta/files/rust-ccld-wrapper.c create mode 100644 poky/meta/lib/crate.py create mode 100644 poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py create mode 100644 poky/meta/lib/oeqa/sdk/buildtools-cases/https.py delete mode 100644 poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb create mode 100644 poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb delete mode 100644 poky/meta/recipes-bsp/usbutils/usbutils_013.bb create mode 100644 poky/meta/recipes-bsp/usbutils/usbutils_014.bb delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-avoid-start-failure-with-bind-user.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-named-lwresd-V-and-start-log-hide-build-options.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/bind-ensure-searching-for-json-headers-searches-sysr.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/bind9 delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/conf.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/generate-rndc-key.sh delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/init.d-add-support-for-read-only-rootfs.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/make-etc-initd-bind-stop-work.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.19/named.service create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/bind9 create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.20/named.service delete mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.19.bb create mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.20.bb delete mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5_5.61.bb delete mode 100644 poky/meta/recipes-connectivity/inetutils/inetutils_2.0.bb create mode 100644 poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb create mode 100644 poky/meta/recipes-connectivity/kea/files/0001-add-missing-headers-in-timer_mgr.cc.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb create mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb delete mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb delete mode 100644 poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb create mode 100644 poky/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb delete mode 100644 poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch delete mode 100644 poky/meta/recipes-core/busybox/busybox_1.33.1.bb create mode 100644 poky/meta/recipes-core/busybox/busybox_1.34.0.bb delete mode 100644 poky/meta/recipes-core/ell/ell_0.42.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.43.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb delete mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb create mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb create mode 100644 poky/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch delete mode 100644 poky/meta/recipes-core/libcgroup/libcgroup/CVE-2018-14348.patch create mode 100644 poky/meta/recipes-core/libcgroup/libcgroup/module.patch delete mode 100644 poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb create mode 100644 poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.25.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.25.bb delete mode 100644 poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch create mode 100644 poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd-boot_249.1.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-boot_249.3.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd_249.1.bb create mode 100644 poky/meta/recipes-core/systemd/systemd_249.3.bb delete mode 100644 poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.1.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.2.bb delete mode 100644 poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch delete mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb create mode 100644 poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.1.bb delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb create mode 100644 poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc create mode 100644 poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/cargo/cargo.inc create mode 100644 poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.3.bb create mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.4.bb delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-tests-u_direct_io-expect-correct-expected-output.patch delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.4.bb delete mode 100644 poky/meta/recipes-devtools/git/git_2.32.0.bb create mode 100644 poky/meta/recipes-devtools/git/git_2.33.0.bb delete mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb create mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.4.bb delete mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210714-3.1.bb delete mode 100644 poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.6.bb create mode 100644 poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb delete mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.34.bb create mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.35.bb delete mode 100644 poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch delete mode 100644 poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch delete mode 100644 poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb create mode 100644 poky/meta/recipes-devtools/patchelf/patchelf_0.13.bb delete mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb create mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb create mode 100755 poky/meta/recipes-devtools/pseudo/files/build-oldlibc create mode 100644 poky/meta/recipes-devtools/pseudo/files/older-glibc-symbols.patch delete mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb create mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb create mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.24.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-git_3.1.18.bb create mode 100644 poky/meta/recipes-devtools/python/python3-git_3.1.20.bb create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis/test_rle.py delete mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb create mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.1.4.bb create mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.1.5.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_21.2.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pip_21.2.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.10.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_57.4.0.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch create mode 100644 poky/meta/recipes-devtools/rust/README-rust.md create mode 100644 poky/meta/recipes-devtools/rust/files/riscv-march.patch create mode 100644 poky/meta/recipes-devtools/rust/files/rv64gc.patch create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs.inc create mode 100644 poky/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/rust/rust-common.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-cross-canadian.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/rust/rust-cross.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-cross_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/rust/rust-llvm.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch create mode 100644 poky/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-snapshot.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-source-1.54.0.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-source.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-target.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc create mode 100644 poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb create mode 100644 poky/meta/recipes-devtools/rust/rust.inc create mode 100644 poky/meta/recipes-devtools/rust/rust_1.54.0.bb delete mode 100644 poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch create mode 100644 poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch delete mode 100644 poky/meta/recipes-devtools/vala/vala_0.52.4.bb create mode 100644 poky/meta/recipes-devtools/vala/vala_0.52.5.bb create mode 100644 poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch create mode 100644 poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb create mode 100644 poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb delete mode 100644 poky/meta/recipes-extended/acpica/acpica_20210331.bb create mode 100644 poky/meta/recipes-extended/acpica/acpica_20210730.bb create mode 100644 poky/meta/recipes-extended/cpio/cpio-2.13/CVE-2021-38185.patch delete mode 100644 poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch delete mode 100644 poky/meta/recipes-extended/diffutils/diffutils_3.7.bb create mode 100644 poky/meta/recipes-extended/diffutils/diffutils_3.8.bb delete mode 100644 poky/meta/recipes-extended/grep/grep_3.6.bb create mode 100644 poky/meta/recipes-extended/grep/grep_3.7.bb delete mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb create mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.3.2.bb create mode 100644 poky/meta/recipes-extended/lighttpd/lighttpd/0001-meson-add-with_zstd-to-meson_options.txt.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch delete mode 100644 poky/meta/recipes-extended/mc/mc_4.8.26.bb create mode 100644 poky/meta/recipes-extended/mc/mc_4.8.27.bb create mode 100644 poky/meta/recipes-extended/shadow/files/0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch create mode 100644 poky/meta/recipes-extended/shadow/files/useradd delete mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch delete mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.13.00.bb delete mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb create mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.7p2.bb delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_40.3.bb delete mode 100644 poky/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb create mode 100644 poky/meta/recipes-gnome/json-glib/json-glib_1.6.4.bb delete mode 100644 poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch delete mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_236.bb create mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_237.bb delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb delete mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb create mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.1.bb delete mode 100644 poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb create mode 100644 poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb delete mode 100644 poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb create mode 100644 poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.16.bb delete mode 100644 poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch create mode 100644 poky/meta/recipes-graphics/mesa/files/without-neon.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb delete mode 100644 poky/meta/recipes-graphics/pango/pango_1.48.7.bb create mode 100644 poky/meta/recipes-graphics/pango/pango_1.48.9.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch create mode 100644 poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch create mode 100644 poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch delete mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb create mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.18.1.bb create mode 100644 poky/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch delete mode 100644 poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb create mode 100644 poky/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb delete mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.13.bb delete mode 100644 poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb create mode 100644 poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210818.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb delete mode 100644 poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb create mode 100644 poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.07.14.bb delete mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch delete mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch delete mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb create mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb delete mode 100644 poky/meta/recipes-multimedia/webp/libwebp_1.2.0.bb create mode 100644 poky/meta/recipes-multimedia/webp/libwebp_1.2.1.bb delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb delete mode 100644 poky/meta/recipes-support/boost/boost-1.76.0.inc create mode 100644 poky/meta/recipes-support/boost/boost-1.77.0.inc delete mode 100644 poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch delete mode 100644 poky/meta/recipes-support/boost/boost_1.76.0.bb create mode 100644 poky/meta/recipes-support/boost/boost_1.77.0.bb delete mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_179.bb create mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_181.bb delete mode 100644 poky/meta/recipes-support/enchant/enchant2_2.3.0.bb create mode 100644 poky/meta/recipes-support/enchant/enchant2_2.3.1.bb create mode 100644 poky/meta/recipes-support/libjitterentropy/libjitterentropy/0001-Makefile-restore-build-reproducibility.patch delete mode 100644 poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb create mode 100644 poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.1.0.bb create mode 100644 poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch delete mode 100644 poky/meta/recipes-support/lz4/files/run-ptest delete mode 100644 poky/meta/recipes-support/re2c/re2c_2.1.1.bb create mode 100644 poky/meta/recipes-support/re2c/re2c_2.2.bb create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.14.bb (limited to 'poky/meta/recipes-kernel') diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb deleted file mode 100644 index 323493e7e..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "XFS Filesystem Utilities" -HOMEPAGE = "http://oss.sgi.com/projects/xfs" -SECTION = "base" -LICENSE = "GPLv2 & LGPLv2.1" -LICENSE:libhandle = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ - file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" -DEPENDS = "util-linux util-linux-native" -SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ - file://remove_flags_from_build_flags.patch \ - file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ - file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ - file://0001-support-usrmerge.patch \ - " -SRC_URI[sha256sum] = "bec44445cf18f49e63971d4f27dc4e90a17b118b852714a1104b621ea30e3507" -inherit autotools-brokensep - -PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" - -DEPENDS += "util-linux libinih" - -RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" - -FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES:${PN}-repair = "${base_sbindir}/xfs_repair" - -FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}" - -EXTRA_OECONF = "--enable-gettext=no \ - --enable-scrub=no \ - INSTALL_USER=root \ - INSTALL_GROUP=root \ - ac_cv_header_aio_h=yes \ - ac_cv_lib_rt_lio_listio=yes \ - OPTIMIZER='${SELECTED_OPTIMIZATION}' \ -" - -DISABLE_STATIC = "" -EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" - -PACKAGECONFIG ??= "blkid" - -PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" - -export DEBUG="-DNDEBUG" -export BUILD_VERBOSE="1" -export tagname="CC" - -EXTRA_OEMAKE = "DIST_ROOT='${D}'" - -do_configure () { - export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" - # Prevent Makefile from calling configure without arguments, - # when do_configure gets called for a second time. - rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure - # Recreate configure script. - oe_runmake configure - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf -} - -do_install:append() { - oe_runmake 'DESTDIR=${D}' install-dev - rm ${D}${libdir}/*.la - rmdir --ignore-fail-on-non-empty ${D}${libdir} - - if [ ${libdir} != ${base_libdir} ];then - ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a - ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so - fi -} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb new file mode 100644 index 000000000..64873ac03 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb @@ -0,0 +1,73 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +LICENSE = "GPLv2 & LGPLv2.1" +LICENSE:libhandle = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" +DEPENDS = "util-linux util-linux-native" +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ + file://remove_flags_from_build_flags.patch \ + file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ + file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ + file://0001-support-usrmerge.patch \ + " +SRC_URI[sha256sum] = "4e142d4babe086adf9016d8c606c805829da08e46389a4433f40346204f90cdb" +inherit autotools-brokensep + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +DEPENDS += "util-linux libinih" + +RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" + +FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES:${PN}-repair = "${base_sbindir}/xfs_repair" + +FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + --enable-scrub=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ + OPTIMIZER='${SELECTED_OPTIMIZATION}' \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +PACKAGECONFIG ??= "blkid" + +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" + +export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" +export tagname="CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure () { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure + # Recreate configure script. + oe_runmake configure + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +do_install:append() { + oe_runmake 'DESTDIR=${D}' install-dev + rm ${D}${libdir}/*.la + rmdir --ignore-fail-on-non-empty ${D}${libdir} + + if [ ${libdir} != ${base_libdir} ];then + ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a + ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so + fi +} diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb deleted file mode 100644 index cef7c7569..000000000 --- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "GTK+ applet for NetworkManager" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss" - -GNOMEBASEBUILDCLASS = "meson" -inherit features_check gnomebase gsettings gtk-icon-cache gettext - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "c70d80b48d40a9cb99ec967cc4389f67e7f0301528a69d481572041331a646be" - -# We don't not have ubuntu's appindicator (yet?) -EXTRA_OEMESON = "-Dappindicator=no" -# We currently don't build NetworkManager with libteamdctl support -EXTRA_OEMESON += "-Dteam=false" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" -PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager" -PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux" - -RDEPENDS:${PN} =+ "networkmanager" - -FILES:${PN} += " \ - ${datadir}/nm-applet/ \ - ${datadir}/libnma/wifi.ui \ - ${datadir}/metainfo \ -" diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb new file mode 100644 index 000000000..6ebb3ea9f --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "GTK+ applet for NetworkManager" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss" + +GNOMEBASEBUILDCLASS = "meson" +inherit features_check gnomebase gsettings gtk-icon-cache gettext + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "b9f4bca5d0352718e07b7385fb195a9bbc8fd686b7959b74137854d52aab9c58" + +# We don't not have ubuntu's appindicator (yet?) +EXTRA_OEMESON = "-Dappindicator=no" +# We currently don't build NetworkManager with libteamdctl support +EXTRA_OEMESON += "-Dteam=false" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager" +PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux" + +RDEPENDS:${PN} =+ "networkmanager" + +FILES:${PN} += " \ + ${datadir}/nm-applet/ \ + ${datadir}/libnma/wifi.ui \ + ${datadir}/metainfo \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch new file mode 100644 index 000000000..864d0baa2 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch @@ -0,0 +1,65 @@ +From 632670273cc880917e78a152a3ae39e209b57864 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Sat, 28 Aug 2021 05:58:25 +0200 +Subject: [PATCH] fix build with --disable-dependency-tracking +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With split build and source directories AND --disable-dependency-tracking +(like the way Yocto builds are done) there's a reproducible make +failure on my Fedora 33 build host: + +| Making all in src +| make[2]: Entering directory '.../metacity/1_3.40.0-r0/build/src' +| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.c.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \ +| meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c +| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.h.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \ +| meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h +| mv: cannot move 'meta-enum-types.c.tmp' to 'core/meta-enum-types.c'mv: cannot move 'meta-enum-types.h.tmp' to 'core/meta-enum-types.h': No such file or directory +| : No such file or directory +| make[2]: *** [Makefile:2240: core/meta-enum-types.c] Error 1 + +https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/24 + +Upstream-Status: Pending + +Signed-off-by: Zoltán Böszörményi +--- + configure.ac | 1 + + src/Makefile.am | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index ebb00b85..04aafb94 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -139,6 +139,7 @@ dnl ************************************************************************** + AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") + + AC_PROG_CC ++AC_PROG_MKDIR_P + AC_ISC_POSIX + AC_HEADER_STDC + +diff --git a/src/Makefile.am b/src/Makefile.am +index f86af600..4aa3fdae 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -204,10 +204,12 @@ ENUM_TYPES = \ + $(NULL) + + core/meta-enum-types.c: core/meta-enum-types.c.in $(ENUM_TYPES) Makefile.am ++ $(MKDIR_P) core + $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.c.in $(ENUM_TYPES) > \ + meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c + + core/meta-enum-types.h: core/meta-enum-types.h.in $(ENUM_TYPES) Makefile.am ++ $(MKDIR_P) core + $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.h.in $(ENUM_TYPES) > \ + meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h + +-- +2.31.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb index a5c704740..e7570ec59 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb @@ -24,7 +24,10 @@ REQUIRED_DISTRO_FEATURES = "x11" inherit gnomebase gsettings gettext upstream-version-is-even features_check SRC_URI[archive.sha256sum] = "224c1f65487eac21f0c1d9856152343768ee726c48b1a8a2835a46a8ad9015b5" -SRC_URI += "file://0001-drop-zenity-detection.patch" +SRC_URI += " \ + file://0001-drop-zenity-detection.patch \ + file://0001-fix-build-with-disable-dependency-tracking.patch \ +" PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" # enable as neccessary until new warnings are dealt with diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service new file mode 100644 index 000000000..671815e03 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service @@ -0,0 +1,11 @@ +[Unit] +Description=Bluetooth Audio ALSA Backend +After=bluetooth.service +Requires=bluetooth.service + +[Service] +Type=simple +ExecStart=/usr/bin/bluealsa + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb new file mode 100644 index 000000000..674017606 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb @@ -0,0 +1,39 @@ +SUMMARY = "Bluetooth Audio ALSA Backend" +HOMEPAGE = "https://github.com/Arkq/bluez-alsa" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=72d868d66bdd5bf51fe67734431de057" + +DEPENDS += "alsa-lib bluez5 glib-2.0 sbc" + +SRCREV = "aac8742a9e7dd12a1fead9cbce7d2dc8b961999c" + +SRC_URI = " \ + git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master \ + file://bluealsa.service \ +" + +S = "${WORKDIR}/git" + +PACKAGECONFIG[aac] = "--enable-aac, --disable-aac," +PACKAGECONFIG[aptx] = "--enable-aptx,--disable-aptx," +PACKAGECONFIG[hcitop] = "--enable-hcitop, --disable-hcitop, libbsd ncurses" +PACKAGECONFIG[systemd] = "--enable-systemd, --disable-systemd, systemd" + +PACKAGECONFIG += "hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +inherit autotools pkgconfig systemd + +FILES:${PN} += "\ + ${datadir}/alsa/alsa.conf.d/20-bluealsa.conf\ + ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.so\ + ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.so\ +" + +FILES:${PN}-staticdev += "\ + ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.a\ + ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.a\ +" + +SYSTEMD_SERVICE:${PN} = "bluealsa.service bluealsa-aplay.service" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb index 5522731a2..7e581392b 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb @@ -22,6 +22,7 @@ RDEPENDS:packagegroup-meta-multimedia = "\ RDEPENDS:packagegroup-meta-multimedia = "\ alsa-equal \ aom \ + bluealsa \ caps \ cdparanoia \ dcadec \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb deleted file mode 100644 index 369a407de..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb +++ /dev/null @@ -1,285 +0,0 @@ -SUMMARY = "Multimedia processing server for Linux" -DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" -HOMEPAGE = "https://pipewire.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" -LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ - file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ -" -SECTION = "multimedia" - -DEPENDS = "dbus" - -SRCREV = "c43dabcc96e2e072cdf08e5f094bb677d9017c6b" -SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig systemd manpages gettext useradd - -USERADD_PACKAGES = "${PN}" - -GROUPADD_PARAM:${PN} = "--system pipewire" - -USERADD_PARAM:${PN} = "--system --home / --no-create-home \ - --comment 'PipeWire multimedia daemon' \ - --gid pipewire --groups audio,video \ - pipewire" - -# For "EVL", look up https://evlproject.org/ . It involves -# a specially prepared kernel, and is currently unavailable -# in Yocto. -# -# FFmpeg and Vulkan aren't really supported - at the current -# stage (version 0.3.22), these are just experiments, not -# actual features. -# -# libcamera support currently does not build successfully. -# -# systemd user service files are disabled because per-user -# PipeWire instances aren't really something that makes -# much sense in an embedded environment. A system-wide -# instance does. -# -# manpage generation requires xmltoman, which is not available. -EXTRA_OEMESON += " \ - -Daudiotestsrc=enabled \ - -Devl=disabled \ - -Dsystemd-user-service=disabled \ - -Dtests=disabled \ - -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ - -Dvideotestsrc=enabled \ - -Dffmpeg=disabled \ - -Dvulkan=disabled \ - -Dlibcamera=disabled \ - -Dman=disabled \ -" - -PACKAGECONFIG ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \ - gstreamer jack v4l2 \ -" - -# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, -# since "jack" imports libjack, and "pipewire-jack" generates -# libjack.so* files, thus colliding with the libpack package. This -# is why these two are marked in their respective packageconfigs -# as being in conflict. - -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" -PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" -PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled ,-Dsystemd=disabled -Dsystemd-system-service=disabled,systemd" -PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" -PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" -PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack" - -PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " - -SPA_SUBDIR = "spa-0.2" -PW_MODULE_SUBDIR = "pipewire-0.3" - -remove_unused_installed_files() { - # jack.conf is used by pipewire-jack (not the JACK SPA plugin). - # Remove it if pipewire-jack is not built to avoid creating the - # pipewire-jack package. - if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then - rm -f "${D}${datadir}/pipewire/jack.conf" - fi -} - -do_install[postfuncs] += "remove_unused_installed_files" - -python split_dynamic_packages () { - # Create packages for each SPA plugin. These plugins are located - # in individual subdirectories, so a recursive search is needed. - spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') - do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) - - # Create packages for each PipeWire module. - pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') - do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - # Go through all generated SPA plugin and PipeWire module packages - # (excluding the main package and the -meta package itself) and - # add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - spa_pn = base_pn + '-spa-plugins' - spa_metapkg = spa_pn + '-meta' - - pw_module_pn = base_pn + '-modules' - pw_module_metapkg = pw_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") - d.setVar('FILES:' + spa_metapkg, "") - - d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") - d.setVar('FILES:' + pw_module_metapkg, "") - - blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] - spa_metapkg_rdepends = [] - pw_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_spa_pkg = pkg.startswith(spa_pn) - is_pw_module_pkg = pkg.startswith(pw_module_pn) - if not is_spa_pkg and not is_pw_module_pkg: - continue - - if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_spa_pkg: - spa_metapkg_rdepends.append(pkg) - if is_pw_module_pkg: - pw_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') - - d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libpipewire \ - ${PN}-tools \ - ${PN}-pulse \ - ${PN}-alsa \ - ${PN}-jack \ - ${PN}-media-session \ - ${PN}-spa-plugins \ - ${PN}-spa-plugins-meta \ - ${PN}-spa-tools \ - ${PN}-modules \ - ${PN}-modules-meta \ - ${PN}-alsa-card-profile \ - gstreamer1.0-pipewire \ -" - -PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" - -SYSTEMD_SERVICE:${PN} = "pipewire.service" -CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" -FILES:${PN} = " \ - ${datadir}/pipewire/pipewire.conf \ - ${systemd_user_unitdir}/pipewire.* \ - ${bindir}/pipewire \ -" - -FILES:${PN}-dev += " \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ -" - -CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" -FILES:libpipewire = " \ - ${datadir}/pipewire/client.conf \ - ${libdir}/libpipewire-*.so.* \ -" -# Add the bare minimum modules and plugins required to be able -# to use libpipewire. Without these, it is essentially unusable. -RDEPENDS:libpipewire += " \ - ${PN}-modules-client-node \ - ${PN}-modules-protocol-native \ - ${PN}-spa-plugins-support \ -" - -FILES:${PN}-tools = " \ - ${bindir}/pw-* \ -" - -# This is a shim daemon that is intended to be used as a -# drop-in PulseAudio replacement, providing a pulseaudio-compatible -# socket that can be used by applications that use libpulse. -CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" -FILES:${PN}-pulse = " \ - ${datadir}/pipewire/pipewire-pulse.conf \ - ${systemd_user_unitdir}/pipewire-pulse.* \ - ${bindir}/pipewire-pulse \ -" -RDEPENDS:${PN}-pulse += " \ - ${PN}-modules-protocol-pulse \ -" - -# alsa plugin to redirect audio to pipewire -FILES:${PN}-alsa = "\ - ${libdir}/alsa-lib/* \ - ${datadir}/alsa/alsa.conf.d/* \ -" - -# jack drop-in libraries to redirect audio to pipewire -CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" -FILES:${PN}-jack = "\ - ${datadir}/pipewire/jack.conf \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ -" - -# Example session manager. Not intended for use in production. -CONFFILES:${PN}-media-session = "${datadir}/pipewire/media-session.d/*" -SYSTEMD_SERVICE:${PN}-media-session = "pipewire-media-session.service" -FILES:${PN}-media-session = " \ - ${bindir}/pipewire-media-session \ - ${datadir}/pipewire/media-session.d/* \ - ${systemd_system_unitdir}/pipewire-media-session.service \ -" -RPROVIDES:${PN}-media-session = "virtual/pipewire-sessionmanager" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-spa-plugins = "" -RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" - -FILES:${PN}-spa-tools = " \ - ${bindir}/spa-* \ -" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-modules = "" -RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" - -CONFFILES:${PN}-modules-rtkit = "${datadir}/pipewire/client-rt.conf" -FILES:${PN}-modules-rtkit += " \ - ${datadir}/pipewire/client-rt.conf \ - " - -CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" -FILES:${PN}-modules-filter-chain += " \ - ${datadir}/pipewire/filter-chain/* \ -" - -FILES:${PN}-alsa-card-profile = " \ - ${datadir}/alsa-card-profile/* \ - ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ -" - -FILES:gstreamer1.0-pipewire = " \ - ${libdir}/gstreamer-1.0/* \ -" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb new file mode 100644 index 000000000..0fd41331f --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb @@ -0,0 +1,287 @@ +SUMMARY = "Multimedia processing server for Linux" +DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" +HOMEPAGE = "https://pipewire.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" +LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ + file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ +" +SECTION = "multimedia" + +DEPENDS = "dbus" + +SRCREV = "1924c2c29824955b5e763f1def6967f68e403c7c" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig systemd manpages gettext useradd + +USERADD_PACKAGES = "${PN}" + +GROUPADD_PARAM:${PN} = "--system pipewire" + +USERADD_PARAM:${PN} = "--system --home / --no-create-home \ + --comment 'PipeWire multimedia daemon' \ + --gid pipewire --groups audio,video \ + pipewire" + +# For "EVL", look up https://evlproject.org/ . It involves +# a specially prepared kernel, and is currently unavailable +# in Yocto. +# +# FFmpeg and Vulkan aren't really supported - at the current +# stage (version 0.3.22), these are just experiments, not +# actual features. +# +# libcamera support currently does not build successfully. +# +# systemd user service files are disabled because per-user +# PipeWire instances aren't really something that makes +# much sense in an embedded environment. A system-wide +# instance does. +# +# manpage generation requires xmltoman, which is not available. +EXTRA_OEMESON += " \ + -Daudiotestsrc=enabled \ + -Devl=disabled \ + -Dtests=disabled \ + -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ + -Dvideotestsrc=enabled \ + -Dffmpeg=disabled \ + -Dvulkan=disabled \ + -Dlibcamera=disabled \ + -Dman=disabled \ +" + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \ + gstreamer jack sndfile pw-cat v4l2 \ +" + +# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, +# since "jack" imports libjack, and "pipewire-jack" generates +# libjack.so* files, thus colliding with the libpack package. This +# is why these two are marked in their respective packageconfigs +# as being in conflict. + +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" +PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" +PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled -Dsystemd-user-service=enabled,-Dsystemd=disabled -Dsystemd-system-service=disabled -Dsystemd-user-service=disabled,systemd" +# pw-cat needs sndfile packageconfig to be enabled +PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" +PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" +PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" +PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack" + +PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " + +SPA_SUBDIR = "spa-0.2" +PW_MODULE_SUBDIR = "pipewire-0.3" + +remove_unused_installed_files() { + # jack.conf is used by pipewire-jack (not the JACK SPA plugin). + # Remove it if pipewire-jack is not built to avoid creating the + # pipewire-jack package. + if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then + rm -f "${D}${datadir}/pipewire/jack.conf" + fi +} + +do_install[postfuncs] += "remove_unused_installed_files" + +python split_dynamic_packages () { + # Create packages for each SPA plugin. These plugins are located + # in individual subdirectories, so a recursive search is needed. + spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') + do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) + + # Create packages for each PipeWire module. + pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') + do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + # Go through all generated SPA plugin and PipeWire module packages + # (excluding the main package and the -meta package itself) and + # add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + spa_pn = base_pn + '-spa-plugins' + spa_metapkg = spa_pn + '-meta' + + pw_module_pn = base_pn + '-modules' + pw_module_metapkg = pw_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") + d.setVar('FILES:' + spa_metapkg, "") + + d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") + d.setVar('FILES:' + pw_module_metapkg, "") + + blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] + spa_metapkg_rdepends = [] + pw_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_spa_pkg = pkg.startswith(spa_pn) + is_pw_module_pkg = pkg.startswith(pw_module_pn) + if not is_spa_pkg and not is_pw_module_pkg: + continue + + if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_spa_pkg: + spa_metapkg_rdepends.append(pkg) + if is_pw_module_pkg: + pw_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') + + d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libpipewire \ + ${PN}-tools \ + ${PN}-pulse \ + ${PN}-alsa \ + ${PN}-jack \ + ${PN}-media-session \ + ${PN}-spa-plugins \ + ${PN}-spa-plugins-meta \ + ${PN}-spa-tools \ + ${PN}-modules \ + ${PN}-modules-meta \ + ${PN}-alsa-card-profile \ + gstreamer1.0-pipewire \ +" + +PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" + +SYSTEMD_SERVICE:${PN} = "pipewire.service" +CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" +FILES:${PN} = " \ + ${datadir}/pipewire/pipewire.conf \ + ${systemd_user_unitdir}/pipewire.* \ + ${bindir}/pipewire \ +" + +FILES:${PN}-dev += " \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ +" + +CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" +FILES:libpipewire = " \ + ${datadir}/pipewire/client.conf \ + ${libdir}/libpipewire-*.so.* \ +" +# Add the bare minimum modules and plugins required to be able +# to use libpipewire. Without these, it is essentially unusable. +RDEPENDS:libpipewire += " \ + ${PN}-modules-client-node \ + ${PN}-modules-protocol-native \ + ${PN}-spa-plugins-support \ +" + +FILES:${PN}-tools = " \ + ${bindir}/pw-* \ +" + +# This is a shim daemon that is intended to be used as a +# drop-in PulseAudio replacement, providing a pulseaudio-compatible +# socket that can be used by applications that use libpulse. +CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" +FILES:${PN}-pulse = " \ + ${datadir}/pipewire/pipewire-pulse.conf \ + ${systemd_user_unitdir}/pipewire-pulse.* \ + ${bindir}/pipewire-pulse \ +" +RDEPENDS:${PN}-pulse += " \ + ${PN}-modules-protocol-pulse \ +" + +# alsa plugin to redirect audio to pipewire +FILES:${PN}-alsa = "\ + ${libdir}/alsa-lib/* \ + ${datadir}/alsa/alsa.conf.d/* \ +" + +# jack drop-in libraries to redirect audio to pipewire +CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" +FILES:${PN}-jack = "\ + ${datadir}/pipewire/jack.conf \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ +" + +# Example session manager. Not intended for use in production. +CONFFILES:${PN}-media-session = "${datadir}/pipewire/media-session.d/*" +SYSTEMD_SERVICE:${PN}-media-session = "pipewire-media-session.service" +FILES:${PN}-media-session = " \ + ${bindir}/pipewire-media-session \ + ${datadir}/pipewire/media-session.d/* \ + ${systemd_system_unitdir}/pipewire-media-session.service \ + ${systemd_user_unitdir}/pipewire-media-session.service \ +" +RPROVIDES:${PN}-media-session = "virtual-pipewire-sessionmanager" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-spa-plugins = "" +RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" + +FILES:${PN}-spa-tools = " \ + ${bindir}/spa-* \ +" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-modules = "" +RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" + +CONFFILES:${PN}-modules-rtkit = "${datadir}/pipewire/client-rt.conf" +FILES:${PN}-modules-rtkit += " \ + ${datadir}/pipewire/client-rt.conf \ + " + +CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" +FILES:${PN}-modules-filter-chain += " \ + ${datadir}/pipewire/filter-chain/* \ +" + +FILES:${PN}-alsa-card-profile = " \ + ${datadir}/alsa-card-profile/* \ + ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ +" + +FILES:gstreamer1.0-pipewire = " \ + ${libdir}/gstreamer-1.0/* \ +" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch deleted file mode 100644 index dfc6f90c4..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6d284f1ff81494a5fca91a399b92b218ea1a9ea8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 8 Jun 2021 08:53:30 -0700 -Subject: [PATCH] Handle enum element override - -NETPLAN_DEF_TYPE_VIRTUAL and NETPLAN_DEF_TYPE_BRIDGE point -to same value in enum, however here they are assigned individually -which results in overriding the initialization of the objects - -Fixes -src/netplan.h:85:33: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides] - [NETPLAN_DEF_TYPE_BRIDGE] = "bridges", - ^~~~~~~~~ -Upstream-Status: Submitted [https://github.com/canonical/netplan/pull/213] -Signed-off-by: Khem Raj ---- - src/netplan.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/netplan.h b/src/netplan.h -index d2c538b..26574f8 100644 ---- a/src/netplan.h -+++ b/src/netplan.h -@@ -81,7 +81,6 @@ static const char* const netplan_def_type_to_str[NETPLAN_DEF_TYPE_MAX_] = { - [NETPLAN_DEF_TYPE_ETHERNET] = "ethernets", - [NETPLAN_DEF_TYPE_WIFI] = "wifis", - [NETPLAN_DEF_TYPE_MODEM] = "modems", -- [NETPLAN_DEF_TYPE_VIRTUAL] = NULL, - [NETPLAN_DEF_TYPE_BRIDGE] = "bridges", - [NETPLAN_DEF_TYPE_BOND] = "bonds", - [NETPLAN_DEF_TYPE_VLAN] = "vlans", --- -2.32.0 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch new file mode 100644 index 000000000..72f04a15a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch @@ -0,0 +1,25 @@ +From 2f0ff65eaa93f18d9edb5d03329b00d8e5e73869 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= +Date: Wed, 4 Aug 2021 15:55:00 +0200 +Subject: [PATCH] parse-nm: fix 32bit format string + +--- + src/parse-nm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/parse-nm.c b/src/parse-nm.c +index 9b09e34..bf998b7 100644 +--- a/src/parse-nm.c ++++ b/src/parse-nm.c +@@ -136,7 +136,7 @@ static void + handle_bridge_uint(GKeyFile* kf, const gchar* key, NetplanNetDefinition* nd, char** dataptr) { + if (g_key_file_get_uint64(kf, "bridge", key, NULL)) { + nd->custom_bridging = TRUE; +- *dataptr = g_strdup_printf("%lu", g_key_file_get_uint64(kf, "bridge", key, NULL)); ++ *dataptr = g_strdup_printf("%"G_GUINT64_FORMAT, g_key_file_get_uint64(kf, "bridge", key, NULL)); + _kf_clear_key(kf, "bridge", key); + } + } +-- +2.25.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb deleted file mode 100644 index 6c624ce4e..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "The network configuration abstraction renderer" -DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ -linux system. You simply create a YAML description of the required network \ -interfaces and what each should be configured to do. From this description \ -Netplan will generate all the necessary configuration for your chosen renderer \ -tool." -HOMEPAGE = "https://netplan.io" -SECTION = "net/misc" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -S = "${WORKDIR}/git" -SRCREV = "62701436991e42606c4e9e8dbdcdc5067d64f69b" -PV = "0.102+git${SRCPV}" - -SRC_URI = " \ - git://github.com/CanonicalLtd/netplan.git \ - file://0001-Handle-enum-element-override.patch \ -" -SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" - -DEPENDS = "glib-2.0 libyaml ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -RDEPENDS:${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python3-pyflakes util-linux-libuuid libnetplan" - -inherit pkgconfig systemd - -TARGET_CC_ARCH += "${LDFLAGS}" - -EXTRA_OEMAKE = "generate netplan/_features.py" -EXTRA_OEMAKE =+ "${@bb.utils.contains('DISTRO_FEATURES','systemd','netplan-dbus dbus/io.netplan.Netplan.service','',d)}" - -do_install() { - install -d ${D}${sbindir} ${D}${libdir} ${D}${base_libdir}/netplan ${D}${datadir}/netplan/netplan/cli/commands ${D}${sysconfdir}/netplan - install -m 755 ${S}/generate ${D}${base_libdir}/netplan/ - install -m 644 ${S}/netplan/*.py ${D}${datadir}/netplan/netplan - install -m 644 ${S}/netplan/cli/*.py ${D}${datadir}/netplan/netplan/cli - install -m 644 ${S}/netplan/cli/commands/*.py ${D}${datadir}/netplan/netplan/cli/commands - install -m 755 ${S}/src/netplan.script ${D}${datadir}/netplan/ - ln -srf ${D}${datadir}/netplan/netplan.script ${D}${sbindir}/netplan - - install -d ${D}/${systemd_unitdir}/system ${D}${systemd_unitdir}/system-generators - ln -srf ${D}/${base_libdir}/netplan/generate ${D}${systemd_unitdir}/system-generators - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${datadir}/dbus-1/system.d ${D}${datadir}/dbus-1/system-services - install -m 755 ${S}/netplan-dbus ${D}${base_libdir}/netplan - install -m 644 ${S}/dbus/io.netplan.Netplan.conf ${D}${datadir}/dbus-1/system.d - install -m 644 ${S}/dbus/io.netplan.Netplan.service ${D}${datadir}/dbus-1/system-services - fi - - install -m 755 ${S}/libnetplan.so.0.0 ${D}${libdir} - ln -rfs ${D}${libdir}/libnetplan.so.0.0 ${D}${libdir}/libnetplan.so -} - -PACKAGES += "${PN}-dbus libnetplan" - -FILES:libnetplan = "${libdir}/libnetplan.so.0.0" -FILES:${PN} = "${sbindir} ${base_libdir}/netplan/generate ${datadir}/netplan ${sysconfdir}/netplan ${systemd_unitdir}" -FILES:${PN}-dbus = "${base_libdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb new file mode 100644 index 000000000..682a6b611 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb @@ -0,0 +1,60 @@ +SUMMARY = "The network configuration abstraction renderer" +DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ +linux system. You simply create a YAML description of the required network \ +interfaces and what each should be configured to do. From this description \ +Netplan will generate all the necessary configuration for your chosen renderer \ +tool." +HOMEPAGE = "https://netplan.io" +SECTION = "net/misc" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +S = "${WORKDIR}/git" +SRCREV = "51c872d856db80281ea810ebc02e05c09d5310fa" +PV = "0.103" + +SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main \ + file://0001-parse-nm-fix-32bit-format-string.patch" + +SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" + +DEPENDS = "glib-2.0 libyaml ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +RDEPENDS:${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python3-pyflakes util-linux-libuuid libnetplan" + +inherit pkgconfig systemd + +TARGET_CC_ARCH += "${LDFLAGS}" + +EXTRA_OEMAKE = "generate netplan/_features.py" +EXTRA_OEMAKE =+ "${@bb.utils.contains('DISTRO_FEATURES','systemd','netplan-dbus dbus/io.netplan.Netplan.service','',d)}" + +do_install() { + install -d ${D}${sbindir} ${D}${libdir} ${D}${base_libdir}/netplan ${D}${datadir}/netplan/netplan/cli/commands ${D}${sysconfdir}/netplan + install -m 755 ${S}/generate ${D}${base_libdir}/netplan/ + install -m 644 ${S}/netplan/*.py ${D}${datadir}/netplan/netplan + install -m 644 ${S}/netplan/cli/*.py ${D}${datadir}/netplan/netplan/cli + install -m 644 ${S}/netplan/cli/commands/*.py ${D}${datadir}/netplan/netplan/cli/commands + install -m 755 ${S}/src/netplan.script ${D}${datadir}/netplan/ + ln -srf ${D}${datadir}/netplan/netplan.script ${D}${sbindir}/netplan + + install -d ${D}/${systemd_unitdir}/system ${D}${systemd_unitdir}/system-generators + ln -srf ${D}/${base_libdir}/netplan/generate ${D}${systemd_unitdir}/system-generators + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${datadir}/dbus-1/system.d ${D}${datadir}/dbus-1/system-services + install -m 755 ${S}/netplan-dbus ${D}${base_libdir}/netplan + install -m 644 ${S}/dbus/io.netplan.Netplan.conf ${D}${datadir}/dbus-1/system.d + install -m 644 ${S}/dbus/io.netplan.Netplan.service ${D}${datadir}/dbus-1/system-services + fi + + install -m 755 ${S}/libnetplan.so.0.0 ${D}${libdir} + ln -rfs ${D}${libdir}/libnetplan.so.0.0 ${D}${libdir}/libnetplan.so +} + +PACKAGES += "${PN}-dbus libnetplan" + +FILES:libnetplan = "${libdir}/libnetplan.so.0.0" +FILES:${PN} = "${sbindir} ${base_libdir}/netplan/generate ${datadir}/netplan ${sysconfdir}/netplan ${systemd_unitdir}" +FILES:${PN}-dbus = "${base_libdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb new file mode 100644 index 000000000..89f95548c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb @@ -0,0 +1,180 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + intltool-native \ + libxslt-native \ + libnl \ + udev \ + util-linux \ + libndp \ + libnewt \ + curl \ +" + +inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://${BPN}.initd \ + file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0002-Do-not-create-settings-settings-property-documentati.patch \ + file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \ +" +SRC_URI[sha256sum] = "3e5ccc66805659e3f11a718e3a599f9726b79a01d6ff14814be6ad8bc5da8bb8" + +S = "${WORKDIR}/NetworkManager-${PV}" + +EXTRA_OECONF = " \ + --disable-ifcfg-rh \ + --disable-more-warnings \ + --with-iptables=${sbindir}/iptables \ + --with-tests \ + --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ + --with-dhclient=no \ + --with-dhcpcd=no \ + --with-dhcpcanon=no \ + --with-netconfig=no \ +" + +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +CFLAGS:append:libc-musl = " \ + -DRTLD_DEEPBIND=0 \ +" + +do_compile:prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/src/libnm-client-impl/.libs" +} + +PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} + +PACKAGECONFIG[systemd] = " \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ + --without-systemdsystemunitdir, \ +" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" +PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" +PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" +PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant" +PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" +PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" +PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" +PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline" +PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson" +PACKAGECONFIG[audit] = "--with-libaudit,--without-libaudit,audit" +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" + +PACKAGES =+ " \ + ${PN}-nmcli ${PN}-nmcli-doc \ + ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-adsl ${PN}-cloud-setup \ +" + +SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" + +FILES:${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" + +FILES:${PN}-cloud-setup = " \ + ${libexecdir}/nm-cloud-setup \ + ${systemd_system_unitdir}/nm-cloud-setup.service \ + ${systemd_system_unitdir}/nm-cloud-setup.timer \ + ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ + ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ +" +ALLOW_EMPTY:${PN}-cloud-setup = "1" +SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" + +FILES:${PN} += " \ + ${libexecdir} \ + ${libdir}/NetworkManager/${PV}/*.so \ + ${libdir}/NetworkManager \ + ${libdir}/firewalld/zones \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${nonarch_libdir}/NetworkManager/system-connections \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${nonarch_base_libdir}/udev/* \ + ${systemd_system_unitdir} \ + ${libdir}/pppd \ +" + +RRECOMMENDS:${PN} += "iptables \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +RCONFLICTS:${PN} = "connman" + +FILES:${PN}-dev += " \ + ${datadir}/NetworkManager/gdb-cmd \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ +" + +FILES:${PN}-nmcli = " \ + ${bindir}/nmcli \ +" + +FILES:${PN}-nmcli-doc = " \ + ${mandir}/man1/nmcli* \ +" + +FILES:${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES:${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +INITSCRIPT_NAME = "network-manager" +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + +do_install:append() { + install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + + rm -rf ${D}/run ${D}${localstatedir}/run + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + # For read-only filesystem, do not create links during bootup + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + + # systemd v210 and newer do not need this rule file + rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules + fi +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb deleted file mode 100644 index 167d81022..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb +++ /dev/null @@ -1,180 +0,0 @@ -SUMMARY = "NetworkManager" -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = " \ - intltool-native \ - libxslt-native \ - libnl \ - udev \ - util-linux \ - libndp \ - libnewt \ - curl \ -" - -inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even - -SRC_URI = " \ - ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://${BPN}.initd \ - file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ - file://0002-Do-not-create-settings-settings-property-documentati.patch \ - file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \ -" -SRC_URI[sha256sum] = "29acbd41c78b7ef87ff88fec5360d1eaf8b5b6fcb90555d7391abc5e36923158" - -S = "${WORKDIR}/NetworkManager-${PV}" - -EXTRA_OECONF = " \ - --disable-ifcfg-rh \ - --disable-more-warnings \ - --with-iptables=${sbindir}/iptables \ - --with-tests \ - --with-nmtui=yes \ - --with-udev-dir=${nonarch_base_libdir}/udev \ - --with-dhclient=no \ - --with-dhcpcd=no \ - --with-dhcpcanon=no \ - --with-netconfig=no \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -CFLAGS:append:libc-musl = " \ - -DRTLD_DEEPBIND=0 \ -" - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/libnm-client-impl/.libs" -} - -PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} - -PACKAGECONFIG[systemd] = " \ - --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ - --without-systemdsystemunitdir, \ -" -PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" -PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" -PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" -PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" -PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" -PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" -PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant" -PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" -PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" -PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline" -PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson" -PACKAGECONFIG[audit] = "--with-libaudit,--without-libaudit,audit" -PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" - -PACKAGES =+ " \ - ${PN}-nmcli ${PN}-nmcli-doc \ - ${PN}-nmtui ${PN}-nmtui-doc \ - ${PN}-adsl ${PN}-cloud-setup \ -" - -SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" - -FILES:${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" - -FILES:${PN}-cloud-setup = " \ - ${libexecdir}/nm-cloud-setup \ - ${systemd_system_unitdir}/nm-cloud-setup.service \ - ${systemd_system_unitdir}/nm-cloud-setup.timer \ - ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ - ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ -" -ALLOW_EMPTY:${PN}-cloud-setup = "1" -SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" - -FILES:${PN} += " \ - ${libexecdir} \ - ${libdir}/NetworkManager/${PV}/*.so \ - ${libdir}/NetworkManager \ - ${libdir}/firewalld/zones \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${nonarch_libdir}/NetworkManager/system-connections \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${nonarch_base_libdir}/udev/* \ - ${systemd_system_unitdir} \ - ${libdir}/pppd \ -" - -RRECOMMENDS:${PN} += "iptables \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -RCONFLICTS:${PN} = "connman" - -FILES:${PN}-dev += " \ - ${datadir}/NetworkManager/gdb-cmd \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${libdir}/NetworkManager/${PV}/*.la \ -" - -FILES:${PN}-nmcli = " \ - ${bindir}/nmcli \ -" - -FILES:${PN}-nmcli-doc = " \ - ${mandir}/man1/nmcli* \ -" - -FILES:${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" - -FILES:${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ -" - -INITSCRIPT_NAME = "network-manager" -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" -ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" - -do_install:append() { - install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager - - rm -rf ${D}/run ${D}${localstatedir}/run - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - # For read-only filesystem, do not create links during bootup - ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager - - # systemd v210 and newer do not need this rule file - rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules - fi -} diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index 59eb14a55..dd5d68807 100644 --- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb +++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -177,6 +177,7 @@ RDEPENDS:packagegroup-meta-networking-protocols:remove:libc-musl = "mdns" RDEPENDS:packagegroup-meta-networking-support = "\ aoetools \ arptables \ + bmon \ bridge-utils \ celt051 \ cim-schema-docs \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch deleted file mode 100644 index 29ce85cc1..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 7bc261076ec94efa3197beaca39eba095d162b5e Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Fri, 26 Feb 2021 16:32:27 +0800 -Subject: [PATCH] seccompsandbox.c: allow newfstatat and pselect6 syscalls in - the seccomp sandbox - -Allow newfstatat and pselect6 in the seccomp sanbox for glibc 2.33. - -Fixes the following OOPS error: -root@qemux86-64:~# tnftp 192.168.1.1 -Connected to 192.168.1.1. -220 (vsFTPd 3.0.3) -Name (192.168.1.1:root): anonymous -331 Please specify the password. -Password: -230 Login successful. -Remote system type is UNIX. -Using binary mode to transfer files. -ftp> ls -OOPS: priv_sock_get_cmd - -Upstream-Status: Pending - -Signed-off-by: Yi Zhao ---- - seccompsandbox.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/seccompsandbox.c b/seccompsandbox.c -index 377c50e..f601241 100644 ---- a/seccompsandbox.c -+++ b/seccompsandbox.c -@@ -267,6 +267,7 @@ seccomp_sandbox_setup_data_connections() - 3, IPPROTO_TCP); - allow_nr(__NR_bind); - allow_nr(__NR_select); -+ allow_nr(__NR_pselect6); - if (tunable_port_enable) - { - allow_nr(__NR_connect); -@@ -411,6 +412,7 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess) - allow_nr(__NR_getdents); - allow_nr(__NR_getdents64); - allow_nr(__NR_sysinfo); -+ allow_nr(__NR_newfstatat); - /* Misc */ - allow_nr(__NR_umask); - --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch deleted file mode 100644 index d81c94a4a..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c5caf52b9ed79da8916ef5722efe6df61a856e2f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 20:09:12 -0700 -Subject: [PATCH] sysdeputil.c: Fix with musl which does not have utmpx - -Signed-off-by: Khem Raj - ---- - sysdeputil.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/sysdeputil.c b/sysdeputil.c -index 06f01f4..a8cff3b 100644 ---- a/sysdeputil.c -+++ b/sysdeputil.c -@@ -58,7 +58,9 @@ - #define VSF_SYSDEP_HAVE_SHADOW - #define VSF_SYSDEP_HAVE_USERSHELL - #define VSF_SYSDEP_HAVE_LIBCAP --#define VSF_SYSDEP_HAVE_UTMPX -+#if defined(__GLIBC__) -+ #define VSF_SYSDEP_HAVE_UTMPX -+#endif - - #define __USE_GNU - #include diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch deleted file mode 100644 index 7573c967f..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch +++ /dev/null @@ -1,46 +0,0 @@ -From dd353303f62d1dfe32cb000e482616b021708fbe Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Thu, 29 Nov 2018 00:47:34 -0800 -Subject: [PATCH] vsftpd: allow syscalls in the seccomp sandbox - -* Allow sysinfo() and getdents64 in the seccomp - sandbox otherwise comes below OOPS: priv_sock_get_cmd - as the syscall sysinfo() and getdents64 not allowed - -root@qemux86-64:~# tnftp 192.168.1.1 -Connected to 192.168.1.1. -220 (vsFTPd 3.0.3) -Name (192.168.1.1:root): anonymous -331 Please specify the password. -Password: -230 Login successful. -Remote system type is UNIX. -Using binary mode to transfer files. -ftp> prompt -Interactive mode off. -ftp> mget small* -OOPS: priv_sock_get_cmd - -Upstream-Status: Pending - -Signed-off-by: Mingli Yu ---- - seccompsandbox.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/seccompsandbox.c b/seccompsandbox.c -index 2c350a9..377c50e 100644 ---- a/seccompsandbox.c -+++ b/seccompsandbox.c -@@ -409,6 +409,8 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess) - allow_nr(__NR_getcwd); - allow_nr(__NR_chdir); - allow_nr(__NR_getdents); -+ allow_nr(__NR_getdents64); -+ allow_nr(__NR_sysinfo); - /* Misc */ - allow_nr(__NR_umask); - --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch deleted file mode 100644 index 5ad5c14e7..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch +++ /dev/null @@ -1,52 +0,0 @@ -From bab3f62f1fd5b7c2ab197f4311ad191bf18816b9 Mon Sep 17 00:00:00 2001 -From: Paul Eggleton -Date: Mon, 20 Feb 2012 13:51:49 +0000 -Subject: [PATCH] Use DESTDIR within install to allow installing under a prefix - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton - ---- - Makefile | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/Makefile b/Makefile -index c63ed1b..9e4f35f 100644 ---- a/Makefile -+++ b/Makefile -@@ -29,21 +29,21 @@ vsftpd: $(OBJS) - $(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS) - - install: -- if [ -x /usr/local/sbin ]; then \ -- $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \ -+ if [ -x ${DESTDIR}/usr/local/sbin ]; then \ -+ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/local/sbin/vsftpd; \ - else \ -- $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi -- if [ -x /usr/local/man ]; then \ -- $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ -- elif [ -x /usr/share/man ]; then \ -- $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ -+ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/sbin/vsftpd; fi -+ if [ -x ${DESTDIR}/usr/local/man ]; then \ -+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/local/man/man8/vsftpd.8; \ -+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/local/man/man5/vsftpd.conf.5; \ -+ elif [ -x ${DESTDIR}/usr/share/man ]; then \ -+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/share/man/man8/vsftpd.8; \ -+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/share/man/man5/vsftpd.conf.5; \ - else \ -- $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi -- if [ -x /etc/xinetd.d ]; then \ -- $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi -+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/man/man8/vsftpd.8; \ -+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/man/man5/vsftpd.conf.5; fi -+ if [ -x ${DESTDIR}/etc/xinetd.d ]; then \ -+ $(INSTALL) -m 644 xinetd.d/vsftpd ${DESTDIR}/etc/xinetd.d/vsftpd; fi - - clean: - rm -f *.o *.swp vsftpd diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch deleted file mode 100644 index d2e58a325..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 328799d0cd5c523ad7a814fefec16d8a84aa8010 Mon Sep 17 00:00:00 2001 -From: Paul Eggleton -Date: Tue, 16 Apr 2013 10:53:55 +0000 -Subject: [PATCH] Hardcode LIBS instead of using a script to determine - available libs - -We want to avoid this dynamic detection so we have a deterministic -build. - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Paul Eggleton - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 9e4f35f..3a5535d 100644 ---- a/Makefile -+++ b/Makefile -@@ -8,7 +8,7 @@ CFLAGS = -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \ - -D_FORTIFY_SOURCE=2 \ - #-pedantic -Wconversion - --LIBS = `./vsf_findlibs.sh` -+LIBS = -lssl -lcrypto -lnsl -lresolv - LINK = -Wl,-s - LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now - diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch deleted file mode 100644 index e59607388..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 261874ea47973ea156141185082252fc92081906 Mon Sep 17 00:00:00 2001 -From: Paul Eggleton -Date: Tue, 16 Apr 2013 10:53:55 +0000 -Subject: [PATCH] Disable stripping at link time - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Paul Eggleton - ---- - Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 3a5535d..e78019a 100644 ---- a/Makefile -+++ b/Makefile -@@ -9,7 +9,6 @@ CFLAGS = -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \ - #-pedantic -Wconversion - - LIBS = -lssl -lcrypto -lnsl -lresolv --LINK = -Wl,-s - LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now - - OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch deleted file mode 100644 index a4387c132..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 71628ddc91b6efb9b922a3fcf8cc18522f5387be Mon Sep 17 00:00:00 2001 -From: "Roy.Li" -Date: Mon, 20 Feb 2012 13:51:49 +0000 -Subject: [PATCH] Disable PAM - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Roy.Li - ---- - builddefs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/builddefs.h b/builddefs.h -index 0106d1a..f48a568 100644 ---- a/builddefs.h -+++ b/builddefs.h -@@ -2,7 +2,7 @@ - #define VSF_BUILDDEFS_H - - #define VSF_BUILD_TCPWRAPPERS --#define VSF_BUILD_PAM -+#undef VSF_BUILD_PAM - #undef VSF_BUILD_SSL - - #endif /* VSF_BUILDDEFS_H */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch deleted file mode 100644 index cf0d68e27..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch +++ /dev/null @@ -1,16 +0,0 @@ -Disable PAM - -Upstream-Status: Inappropriate [config] - -diff -ur vsftpd-2.0.1_org/builddefs.h vsftpd-2.0.1_patch/builddefs.h ---- vsftpd-2.0.1_org/builddefs.h 2004-07-02 16:36:59.000000000 +0200 -+++ vsftpd-2.0.1_patch/builddefs.h 2004-07-21 09:34:49.044900488 +0200 -@@ -2,7 +2,7 @@ - #define VSF_BUILDDEFS_H - - #undef VSF_BUILD_TCPWRAPPERS --#define VSF_BUILD_PAM -+#undef VSF_BUILD_PAM - #undef VSF_BUILD_SSL - - #endif /* VSF_BUILDDEFS_H */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch deleted file mode 100644 index 590eb5857..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch +++ /dev/null @@ -1,89 +0,0 @@ -From b756444854c5ab3b1284fd7113043fe8860e99ec Mon Sep 17 00:00:00 2001 -From: Roy Li -Date: Fri, 24 Apr 2015 09:36:48 +0800 -Subject: [PATCH] Fix the CVE-2015-1419 - -Upstream-Status: Pending - -Try to fix deny_file parsing to do more what is expected. Taken -from fedora. CVE-2015-1419 - -ftp://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/v/vsftpd-3.0.2-13.fc22.src.rpm - -Signed-off-by: Roy Li - ---- - ls.c | 26 ++++++++++++++++++++++++-- - str.c | 11 +++++++++++ - str.h | 1 + - 3 files changed, 36 insertions(+), 2 deletions(-) - -diff --git a/ls.c b/ls.c -index 7e1376d..e9302dd 100644 ---- a/ls.c -+++ b/ls.c -@@ -246,9 +246,31 @@ vsf_filename_passes_filter(const struct mystr* p_filename_str, - int ret = 0; - char last_token = 0; - int must_match_at_current_pos = 1; -+ -+ - str_copy(&filter_remain_str, p_filter_str); -- str_copy(&name_remain_str, p_filename_str); -- -+ -+ if (!str_isempty (&filter_remain_str) && !str_isempty(p_filename_str)) { -+ if (str_get_char_at(p_filter_str, 0) == '/') { -+ if (str_get_char_at(p_filename_str, 0) != '/') { -+ str_getcwd (&name_remain_str); -+ -+ if (str_getlen(&name_remain_str) > 1) /* cwd != root dir */ -+ str_append_char (&name_remain_str, '/'); -+ -+ str_append_str (&name_remain_str, p_filename_str); -+ } -+ else -+ str_copy (&name_remain_str, p_filename_str); -+ } else { -+ if (str_get_char_at(p_filter_str, 0) != '{') -+ str_basename (&name_remain_str, p_filename_str); -+ else -+ str_copy (&name_remain_str, p_filename_str); -+ } -+ } else -+ str_copy(&name_remain_str, p_filename_str); -+ - while (!str_isempty(&filter_remain_str) && *iters < VSFTP_MATCHITERS_MAX) - { - static struct mystr s_match_needed_str; -diff --git a/str.c b/str.c -index 6596204..ba4b92a 100644 ---- a/str.c -+++ b/str.c -@@ -711,3 +711,14 @@ str_replace_unprintable(struct mystr* p_str, char new_char) - } - } - -+void -+str_basename (struct mystr* d_str, const struct mystr* path) -+{ -+ static struct mystr tmp; -+ -+ str_copy (&tmp, path); -+ str_split_char_reverse(&tmp, d_str, '/'); -+ -+ if (str_isempty(d_str)) -+ str_copy (d_str, path); -+} -diff --git a/str.h b/str.h -index ab0a9a4..3a21b50 100644 ---- a/str.h -+++ b/str.h -@@ -100,6 +100,7 @@ void str_replace_unprintable(struct mystr* p_str, char new_char); - int str_atoi(const struct mystr* p_str); - filesize_t str_a_to_filesize_t(const struct mystr* p_str); - unsigned int str_octal_to_uint(const struct mystr* p_str); -+void str_basename (struct mystr* d_str, const struct mystr* path); - - /* PURPOSE: Extract a line of text (delimited by \n or EOF) from a string - * buffer, starting at character position 'p_pos'. The extracted line will diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch deleted file mode 100644 index c558aee0a..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c026b0c0de4eebb189bc77b2d4c3b9528454ac04 Mon Sep 17 00:00:00 2001 -From: "Roy.Li" -Date: Fri, 19 Jul 2013 10:19:25 +0800 -Subject: [PATCH] Enable tcp_wrapper. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Roy.Li - ---- - builddefs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/builddefs.h b/builddefs.h -index e908352..0106d1a 100644 ---- a/builddefs.h -+++ b/builddefs.h -@@ -1,7 +1,7 @@ - #ifndef VSF_BUILDDEFS_H - #define VSF_BUILDDEFS_H - --#undef VSF_BUILD_TCPWRAPPERS -+#define VSF_BUILD_TCPWRAPPERS - #define VSF_BUILD_PAM - #undef VSF_BUILD_SSL - diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch new file mode 100644 index 000000000..d81c94a4a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch @@ -0,0 +1,26 @@ +From c5caf52b9ed79da8916ef5722efe6df61a856e2f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 28 Mar 2017 20:09:12 -0700 +Subject: [PATCH] sysdeputil.c: Fix with musl which does not have utmpx + +Signed-off-by: Khem Raj + +--- + sysdeputil.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/sysdeputil.c b/sysdeputil.c +index 06f01f4..a8cff3b 100644 +--- a/sysdeputil.c ++++ b/sysdeputil.c +@@ -58,7 +58,9 @@ + #define VSF_SYSDEP_HAVE_SHADOW + #define VSF_SYSDEP_HAVE_USERSHELL + #define VSF_SYSDEP_HAVE_LIBCAP +-#define VSF_SYSDEP_HAVE_UTMPX ++#if defined(__GLIBC__) ++ #define VSF_SYSDEP_HAVE_UTMPX ++#endif + + #define __USE_GNU + #include diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch new file mode 100644 index 000000000..5ad5c14e7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch @@ -0,0 +1,52 @@ +From bab3f62f1fd5b7c2ab197f4311ad191bf18816b9 Mon Sep 17 00:00:00 2001 +From: Paul Eggleton +Date: Mon, 20 Feb 2012 13:51:49 +0000 +Subject: [PATCH] Use DESTDIR within install to allow installing under a prefix + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton + +--- + Makefile | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index c63ed1b..9e4f35f 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,21 +29,21 @@ vsftpd: $(OBJS) + $(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS) + + install: +- if [ -x /usr/local/sbin ]; then \ +- $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \ ++ if [ -x ${DESTDIR}/usr/local/sbin ]; then \ ++ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/local/sbin/vsftpd; \ + else \ +- $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi +- if [ -x /usr/local/man ]; then \ +- $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ +- $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ +- elif [ -x /usr/share/man ]; then \ +- $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ +- $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ ++ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/sbin/vsftpd; fi ++ if [ -x ${DESTDIR}/usr/local/man ]; then \ ++ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/local/man/man8/vsftpd.8; \ ++ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/local/man/man5/vsftpd.conf.5; \ ++ elif [ -x ${DESTDIR}/usr/share/man ]; then \ ++ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/share/man/man8/vsftpd.8; \ ++ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/share/man/man5/vsftpd.conf.5; \ + else \ +- $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ +- $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi +- if [ -x /etc/xinetd.d ]; then \ +- $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi ++ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/man/man8/vsftpd.8; \ ++ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/man/man5/vsftpd.conf.5; fi ++ if [ -x ${DESTDIR}/etc/xinetd.d ]; then \ ++ $(INSTALL) -m 644 xinetd.d/vsftpd ${DESTDIR}/etc/xinetd.d/vsftpd; fi + + clean: + rm -f *.o *.swp vsftpd diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch new file mode 100644 index 000000000..d2e58a325 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch @@ -0,0 +1,30 @@ +From 328799d0cd5c523ad7a814fefec16d8a84aa8010 Mon Sep 17 00:00:00 2001 +From: Paul Eggleton +Date: Tue, 16 Apr 2013 10:53:55 +0000 +Subject: [PATCH] Hardcode LIBS instead of using a script to determine + available libs + +We want to avoid this dynamic detection so we have a deterministic +build. + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Paul Eggleton + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 9e4f35f..3a5535d 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,7 +8,7 @@ CFLAGS = -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \ + -D_FORTIFY_SOURCE=2 \ + #-pedantic -Wconversion + +-LIBS = `./vsf_findlibs.sh` ++LIBS = -lssl -lcrypto -lnsl -lresolv + LINK = -Wl,-s + LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now + diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch new file mode 100644 index 000000000..e59607388 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch @@ -0,0 +1,25 @@ +From 261874ea47973ea156141185082252fc92081906 Mon Sep 17 00:00:00 2001 +From: Paul Eggleton +Date: Tue, 16 Apr 2013 10:53:55 +0000 +Subject: [PATCH] Disable stripping at link time + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Paul Eggleton + +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 3a5535d..e78019a 100644 +--- a/Makefile ++++ b/Makefile +@@ -9,7 +9,6 @@ CFLAGS = -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \ + #-pedantic -Wconversion + + LIBS = -lssl -lcrypto -lnsl -lresolv +-LINK = -Wl,-s + LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now + + OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch new file mode 100644 index 000000000..a4387c132 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch @@ -0,0 +1,26 @@ +From 71628ddc91b6efb9b922a3fcf8cc18522f5387be Mon Sep 17 00:00:00 2001 +From: "Roy.Li" +Date: Mon, 20 Feb 2012 13:51:49 +0000 +Subject: [PATCH] Disable PAM + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Roy.Li + +--- + builddefs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/builddefs.h b/builddefs.h +index 0106d1a..f48a568 100644 +--- a/builddefs.h ++++ b/builddefs.h +@@ -2,7 +2,7 @@ + #define VSF_BUILDDEFS_H + + #define VSF_BUILD_TCPWRAPPERS +-#define VSF_BUILD_PAM ++#undef VSF_BUILD_PAM + #undef VSF_BUILD_SSL + + #endif /* VSF_BUILDDEFS_H */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch new file mode 100644 index 000000000..cf0d68e27 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch @@ -0,0 +1,16 @@ +Disable PAM + +Upstream-Status: Inappropriate [config] + +diff -ur vsftpd-2.0.1_org/builddefs.h vsftpd-2.0.1_patch/builddefs.h +--- vsftpd-2.0.1_org/builddefs.h 2004-07-02 16:36:59.000000000 +0200 ++++ vsftpd-2.0.1_patch/builddefs.h 2004-07-21 09:34:49.044900488 +0200 +@@ -2,7 +2,7 @@ + #define VSF_BUILDDEFS_H + + #undef VSF_BUILD_TCPWRAPPERS +-#define VSF_BUILD_PAM ++#undef VSF_BUILD_PAM + #undef VSF_BUILD_SSL + + #endif /* VSF_BUILDDEFS_H */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch new file mode 100644 index 000000000..590eb5857 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch @@ -0,0 +1,89 @@ +From b756444854c5ab3b1284fd7113043fe8860e99ec Mon Sep 17 00:00:00 2001 +From: Roy Li +Date: Fri, 24 Apr 2015 09:36:48 +0800 +Subject: [PATCH] Fix the CVE-2015-1419 + +Upstream-Status: Pending + +Try to fix deny_file parsing to do more what is expected. Taken +from fedora. CVE-2015-1419 + +ftp://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/v/vsftpd-3.0.2-13.fc22.src.rpm + +Signed-off-by: Roy Li + +--- + ls.c | 26 ++++++++++++++++++++++++-- + str.c | 11 +++++++++++ + str.h | 1 + + 3 files changed, 36 insertions(+), 2 deletions(-) + +diff --git a/ls.c b/ls.c +index 7e1376d..e9302dd 100644 +--- a/ls.c ++++ b/ls.c +@@ -246,9 +246,31 @@ vsf_filename_passes_filter(const struct mystr* p_filename_str, + int ret = 0; + char last_token = 0; + int must_match_at_current_pos = 1; ++ ++ + str_copy(&filter_remain_str, p_filter_str); +- str_copy(&name_remain_str, p_filename_str); +- ++ ++ if (!str_isempty (&filter_remain_str) && !str_isempty(p_filename_str)) { ++ if (str_get_char_at(p_filter_str, 0) == '/') { ++ if (str_get_char_at(p_filename_str, 0) != '/') { ++ str_getcwd (&name_remain_str); ++ ++ if (str_getlen(&name_remain_str) > 1) /* cwd != root dir */ ++ str_append_char (&name_remain_str, '/'); ++ ++ str_append_str (&name_remain_str, p_filename_str); ++ } ++ else ++ str_copy (&name_remain_str, p_filename_str); ++ } else { ++ if (str_get_char_at(p_filter_str, 0) != '{') ++ str_basename (&name_remain_str, p_filename_str); ++ else ++ str_copy (&name_remain_str, p_filename_str); ++ } ++ } else ++ str_copy(&name_remain_str, p_filename_str); ++ + while (!str_isempty(&filter_remain_str) && *iters < VSFTP_MATCHITERS_MAX) + { + static struct mystr s_match_needed_str; +diff --git a/str.c b/str.c +index 6596204..ba4b92a 100644 +--- a/str.c ++++ b/str.c +@@ -711,3 +711,14 @@ str_replace_unprintable(struct mystr* p_str, char new_char) + } + } + ++void ++str_basename (struct mystr* d_str, const struct mystr* path) ++{ ++ static struct mystr tmp; ++ ++ str_copy (&tmp, path); ++ str_split_char_reverse(&tmp, d_str, '/'); ++ ++ if (str_isempty(d_str)) ++ str_copy (d_str, path); ++} +diff --git a/str.h b/str.h +index ab0a9a4..3a21b50 100644 +--- a/str.h ++++ b/str.h +@@ -100,6 +100,7 @@ void str_replace_unprintable(struct mystr* p_str, char new_char); + int str_atoi(const struct mystr* p_str); + filesize_t str_a_to_filesize_t(const struct mystr* p_str); + unsigned int str_octal_to_uint(const struct mystr* p_str); ++void str_basename (struct mystr* d_str, const struct mystr* path); + + /* PURPOSE: Extract a line of text (delimited by \n or EOF) from a string + * buffer, starting at character position 'p_pos'. The extracted line will diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch new file mode 100644 index 000000000..c558aee0a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch @@ -0,0 +1,26 @@ +From c026b0c0de4eebb189bc77b2d4c3b9528454ac04 Mon Sep 17 00:00:00 2001 +From: "Roy.Li" +Date: Fri, 19 Jul 2013 10:19:25 +0800 +Subject: [PATCH] Enable tcp_wrapper. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Roy.Li + +--- + builddefs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/builddefs.h b/builddefs.h +index e908352..0106d1a 100644 +--- a/builddefs.h ++++ b/builddefs.h +@@ -1,7 +1,7 @@ + #ifndef VSF_BUILDDEFS_H + #define VSF_BUILDDEFS_H + +-#undef VSF_BUILD_TCPWRAPPERS ++#define VSF_BUILD_TCPWRAPPERS + #define VSF_BUILD_PAM + #undef VSF_BUILD_SSL + diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb deleted file mode 100644 index cf3d7fc96..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb +++ /dev/null @@ -1,116 +0,0 @@ -SUMMARY = "Very Secure FTP server" -HOMEPAGE = "https://security.appspot.com/vsftpd.html" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271" - -DEPENDS = "libcap openssl" - -SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \ - file://makefile-destdir.patch \ - file://makefile-libs.patch \ - file://makefile-strip.patch \ - file://init \ - file://vsftpd.conf \ - file://vsftpd.user_list \ - file://vsftpd.ftpusers \ - file://change-secure_chroot_dir.patch \ - file://volatiles.99_vsftpd \ - file://vsftpd.service \ - file://vsftpd-2.1.0-filter.patch \ - file://0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)} \ - file://0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch \ - file://0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch \ - " - -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/v/vsftpd/" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.orig\.tar" - -LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \ - file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \ - file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb" -SRC_URI[md5sum] = "da119d084bd3f98664636ea05b5bb398" -SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7" - - -PACKAGECONFIG ??= "tcp-wrappers" -PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers" - -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}" -PAMLIB = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}" -WRAPLIB = "${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', '-lwrap', '', d)}" -NOPAM_SRC ="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}" - -inherit update-rc.d useradd systemd - -CONFFILES:${PN} = "${sysconfdir}/vsftpd.conf" -LDFLAGS:append =" -lcrypt -lcap" -CFLAGS:append:libc-musl = " -D_GNU_SOURCE -include fcntl.h" -EXTRA_OEMAKE = "-e MAKEFLAGS=" - -do_configure() { - # Fix hardcoded /usr, /etc, /var mess. - cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \ - |sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new - mv tunables.c.new tunables.c -} - -do_compile() { - oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} ${WRAPLIB}" -} - -do_install() { - install -d ${D}${sbindir} - install -d ${D}${mandir}/man8 - install -d ${D}${mandir}/man5 - oe_runmake 'DESTDIR=${D}' install - install -d ${D}${sysconfdir} - install -m 600 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf - install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd - install -d ${D}/${sysconfdir}/default/volatiles - install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/default/volatiles/99_vsftpd - - install -m 600 ${WORKDIR}/vsftpd.ftpusers ${D}${sysconfdir}/ - install -m 600 ${WORKDIR}/vsftpd.user_list ${D}${sysconfdir}/ - if ! test -z "${PAMLIB}" ; then - install -d ${D}${sysconfdir}/pam.d/ - cp ${S}/RedHat/vsftpd.pam ${D}${sysconfdir}/pam.d/vsftpd - sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd - sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd - fi - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /var/run/vsftpd/empty 0755 root root -" \ - > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi - - # Install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/vsftpd.service ${D}${systemd_unitdir}/system - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/vsftpd.service -} - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME:${PN} = "vsftpd" -INITSCRIPT_PARAMS:${PN} = "defaults 80" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \ - --shell /bin/false ftp " -GROUPADD_PARAM:${PN} = "-r ftp" - -SYSTEMD_SERVICE:${PN} = "vsftpd.service" - -pkg_postinst:${PN}() { - if [ -z "$D" ]; then - if type systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb new file mode 100644 index 000000000..08238c1a3 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb @@ -0,0 +1,113 @@ +SUMMARY = "Very Secure FTP server" +HOMEPAGE = "https://security.appspot.com/vsftpd.html" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271" + +DEPENDS = "libcap openssl" + +SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \ + file://makefile-destdir.patch \ + file://makefile-libs.patch \ + file://makefile-strip.patch \ + file://init \ + file://vsftpd.conf \ + file://vsftpd.user_list \ + file://vsftpd.ftpusers \ + file://change-secure_chroot_dir.patch \ + file://volatiles.99_vsftpd \ + file://vsftpd.service \ + file://vsftpd-2.1.0-filter.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)} \ + file://0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch \ + " + +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/v/vsftpd/" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.orig\.tar" + +LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \ + file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \ + file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb" +SRC_URI[sha256sum] = "26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3" + + +PACKAGECONFIG ??= "tcp-wrappers" +PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}" +PAMLIB = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}" +WRAPLIB = "${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', '-lwrap', '', d)}" +NOPAM_SRC ="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}" + +inherit update-rc.d useradd systemd + +CONFFILES:${PN} = "${sysconfdir}/vsftpd.conf" +LDFLAGS:append =" -lcrypt -lcap" +CFLAGS:append:libc-musl = " -D_GNU_SOURCE -include fcntl.h" +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +do_configure() { + # Fix hardcoded /usr, /etc, /var mess. + cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \ + |sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new + mv tunables.c.new tunables.c +} + +do_compile() { + oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} ${WRAPLIB}" +} + +do_install() { + install -d ${D}${sbindir} + install -d ${D}${mandir}/man8 + install -d ${D}${mandir}/man5 + oe_runmake 'DESTDIR=${D}' install + install -d ${D}${sysconfdir} + install -m 600 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf + install -d ${D}${sysconfdir}/init.d/ + install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd + install -d ${D}/${sysconfdir}/default/volatiles + install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/default/volatiles/99_vsftpd + + install -m 600 ${WORKDIR}/vsftpd.ftpusers ${D}${sysconfdir}/ + install -m 600 ${WORKDIR}/vsftpd.user_list ${D}${sysconfdir}/ + if ! test -z "${PAMLIB}" ; then + install -d ${D}${sysconfdir}/pam.d/ + cp ${S}/RedHat/vsftpd.pam ${D}${sysconfdir}/pam.d/vsftpd + sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd + sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /var/run/vsftpd/empty 0755 root root -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/vsftpd.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/vsftpd.service +} + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME:${PN} = "vsftpd" +INITSCRIPT_PARAMS:${PN} = "defaults 80" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \ + --shell /bin/false ftp " +GROUPADD_PARAM:${PN} = "-r ftp" + +SYSTEMD_SERVICE:${PN} = "vsftpd.service" + +pkg_postinst:${PN}() { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb deleted file mode 100644 index cf7c01bbc..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Netfilter Tables userspace utillites" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" - -DEPENDS = "libmnl libnftnl bison-native \ - ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" - -# Ensure we reject the 0.099 version by matching at least two dots -UPSTREAM_CHECK_REGEX = "nftables-(?P\d+(\.\d+){2,}).tar.bz2" - -SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2" -SRC_URI[sha256sum] = "76ef2dc7fd0d79031a8369487739a217ca83996b3a746cec5bda79da11e3f1b4" - -inherit autotools manpages pkgconfig - -PACKAGECONFIG ??= "python readline json" -PACKAGECONFIG[json] = "--with-json, --without-json, jansson" -PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" -PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" -PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3" -PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline" -PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} - -RRECOMMENDS:${PN} += "kernel-module-nf-tables" - -PACKAGES =+ "${PN}-python" -FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" -RDEPENDS:${PN}-python = "python3-core python3-json ${PN}" diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb new file mode 100644 index 000000000..68409c910 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Netfilter Tables userspace utillites" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" + +DEPENDS = "libmnl libnftnl bison-native \ + ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" + +# Ensure we reject the 0.099 version by matching at least two dots +UPSTREAM_CHECK_REGEX = "nftables-(?P\d+(\.\d+){2,}).tar.bz2" + +SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2" +SRC_URI[sha256sum] = "58bf547daf967a2b88ecb4f425f126006ebde22711db806b25c1d6cf84fe45f4" + +inherit autotools manpages pkgconfig + +PACKAGECONFIG ??= "python readline json" +PACKAGECONFIG[json] = "--with-json, --without-json, jansson" +PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" +PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" +PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3" +PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline" +PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +RRECOMMENDS:${PN} += "kernel-module-nf-tables" + +PACKAGES =+ "${PN}-python" +FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" +RDEPENDS:${PN}-python = "python3-core python3-json ${PN}" diff --git a/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb b/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb new file mode 100644 index 000000000..8c7b3844b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Portable Bandwidth Monitor and rate estimator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +# only works with libnl-0.5.0 +DEPENDS = "libnl libconfuse ncurses" + +SRCREV = "1b3f11bde315e221474f7d066ce4efb4ff4d39e3" +SRC_URI = "git://github.com/tgraf/bmon.git;branch=master" + +inherit autotools pkgconfig + +S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb index 6a450c3e8..117451db2 100644 --- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb @@ -47,6 +47,11 @@ DEPENDS = "pps-tools" # chrony does not use GNU Autotools. inherit update-rc.d systemd +# Add chronyd user if privdrop packageconfig is selected +inherit ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'useradd', '', d)} +USERADD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '${PN}', '', d)}" +USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '--system -d / -M --shell /bin/nologin chronyd;', '', d)}" + # Configuration options: # - For command line editing support in chronyc, you may specify either # 'editline' or 'readline' but not both. editline is smaller, but @@ -68,7 +73,7 @@ PACKAGECONFIG ??= "editline \ PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline" PACKAGECONFIG[editline] = ",--without-editline,libedit" PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss" -PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap" +PACKAGECONFIG[privdrop] = "--with-libcap,--disable-privdrop --without-libcap,libcap" PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp" PACKAGECONFIG[ipv6] = ",--disable-ipv6," PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" @@ -97,6 +102,10 @@ do_install() { # Config file install -d ${D}${sysconfdir} install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir} + if ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'true', 'false', d)}; then + echo "# Define user to drop to after dropping root privileges" >> ${D}${sysconfdir}/chrony.conf + echo "user chronyd" >> ${D}${sysconfdir}/chrony.conf + fi # System V init script install -d ${D}${sysconfdir}/init.d diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb deleted file mode 100644 index 13d91b4d5..000000000 --- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" -HOMEPAGE = "http://www.fetchmail.info/" -DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ -and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ -connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ -RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." -SECTION = "mail" -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ad73c6bd421c137fbf18cf8b92474186" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ - " -SRC_URI[sha256sum] = "c82141ae2e8f0039ceb0c5c2eda43c5e93ad0bf7f9c6bb628092b3be74386176" - -inherit autotools gettext python3-dir python3native - -EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" - -PACKAGES =+ "fetchmail-python" -FILES:fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb new file mode 100644 index 000000000..33a05ed61 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb @@ -0,0 +1,22 @@ +SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" +HOMEPAGE = "http://www.fetchmail.info/" +DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ +and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ +connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ +RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." +SECTION = "mail" +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ad73c6bd421c137fbf18cf8b92474186" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "6a459c1cafd7a1daa5cd137140da60c18c84b5699cd8e7249a79c33342c99d1d" + +inherit autotools gettext python3-dir python3native + +EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" + +PACKAGES =+ "fetchmail-python" +FILES:fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb b/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb new file mode 100644 index 000000000..c081e6979 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "libConfuse is a configuration file parser library" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42fa47330d4051cd219f7d99d023de3a" + +SRCREV = "a42aebf13db33afd575da6e63f55163d371f776d" +SRC_URI = "git://github.com/libconfuse/libconfuse.git;branch=master" + +inherit autotools-brokensep pkgconfig gettext + +S = "${WORKDIR}/git" + +do_configure:prepend(){ + (cd ${S} && ${S}/autogen.sh) +} diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb deleted file mode 100644 index dcdfb5bd4..000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS:${PN} = "bash perl" - -SRC_URI = "git://github.com/linux-rdma/rdma-core.git" -SRCREV = "e29a698e99028e9a092bb00c03ee4bfa31ae0cf3" -S = "${WORKDIR}/git" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPLv2" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -EXTRA_OECMAKE = " \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ - -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ - -DNO_MAN_PAGES=1 \ -" - -LTO = "" - -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*" -INSANE_SKIP:${PN} += "dev-so" - -inherit cmake cpan-base python3native systemd - -SYSTEMD_SERVICE:${PN} = " \ - srp_daemon.service \ - iwpmd.service \ - ibacm.socket \ - rdma-load-modules@.service \ - srp_daemon_port@.service \ - rdma-hw.target \ - ibacm.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb new file mode 100644 index 000000000..097144d35 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS:${PN} = "bash perl" + +SRC_URI = "git://github.com/linux-rdma/rdma-core.git" +SRCREV = "d7a9dde2b164a1563c7a51e4ade8ea3b6cdea9ef" +S = "${WORKDIR}/git" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ + -DNO_MAN_PAGES=1 \ +" + +LTO = "" + +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/*" +INSANE_SKIP:${PN} += "dev-so" + +inherit cmake cpan-base python3native systemd + +SYSTEMD_SERVICE:${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass index 65d980fd9..4263593a8 100644 --- a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass +++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass @@ -2,15 +2,7 @@ inherit image_types CONVERSIONTYPES += "sparse" CONVERSION_CMD:sparse = " \ - case "${type}" in \ - ext*) \ - ext2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \ - "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \ - ;; \ - *) \ - img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \ - "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \ - ;; \ - esac \ + img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \ + "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \ " CONVERSION_DEPENDS_sparse = "android-tools-native" diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf index bfb3e5905..d25db911c 100644 --- a/meta-openembedded/meta-oe/conf/layer.conf +++ b/meta-openembedded/meta-oe/conf/layer.conf @@ -5,7 +5,7 @@ # Therefore if you want a given layer to be considered high priority # for the .inc and .conf etc. then consider it adding at the beginning # of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve -# the recipe contention so the order of directories in BBFILES does +# the recipe contention so the order of directories in BBFILES does # not matter. # We have a conf and classes directory, append to BBPATH @@ -81,6 +81,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ ttf-gentium->fontconfig \ ttf-hunkyfonts->fontconfig \ ttf-inconsolata->fontconfig \ + ttf-ipa->fontconfig \ ttf-liberation->fontconfig \ ttf-liberation-sans-narrow->fontconfig \ ttf-lklug->fontconfig \ @@ -90,6 +91,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ ttf-roboto->fontconfig \ ttf-mplus->fontconfig \ ttf-sazanami->fontconfig \ + ttf-takao->fontconfig \ ttf-tlwg->fontconfig \ ttf-ubuntu-font-family->fontconfig \ ttf-vlgothic->fontconfig \ diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb index 93ef228ef..c85293aa5 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb @@ -33,4 +33,4 @@ do_install() { install -m 0755 openbox-xdgmenu ${D}${bindir} } -RDEPENDS:${PN} += "virtual/x-terminal-emulator" +RDEPENDS:${PN} += "virtual-x-terminal-emulator" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb deleted file mode 100644 index a2478dd54..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" -HOMEPAGE = "https://github.com/cminyard/gensio" -LICENSE = "GPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ - file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ - " - -SRCREV = "78b30dc952512c98db8c2e7e0eded2982b802b93" - -SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x" - -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ??= "openssl tcp-wrappers" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" -PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" -PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" - -EXTRA_OECONF = "--without-python" - -RDEPENDS:${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb new file mode 100644 index 000000000..fb8336185 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" +HOMEPAGE = "https://github.com/cminyard/gensio" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ + file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ + " + +SRCREV = "343ccf17ce656203b6b5513f4b7962f45d37b589" + +SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x" + +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ??= "openssl tcp-wrappers" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" +PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" +PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" + +EXTRA_OECONF = "--without-python" + +RDEPENDS:${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb deleted file mode 100644 index 6bace616a..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ - file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ - " -SRC_URI[sha256sum] = "af548398aea2089a3a5103e5586561f24791090a17d4b2e50785e2faab5ed03a" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE:${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure:prepend() { - install -d ${S}/build-aux -} - -do_install:append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS:${PN} = "dbus" - -RRECOMMENDS:${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb new file mode 100644 index 000000000..00d94f36e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb @@ -0,0 +1,55 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + " +SRC_URI[sha256sum] = "6f946f823b0dc3205e4e72becf8ad1915448d194f5b10d8003e4c8c5a18e4ef7" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE:${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure:prepend() { + install -d ${S}/build-aux +} + +do_install:append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS:${PN} = "dbus" + +RRECOMMENDS:${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb index 8b83705f6..6c4b4575e 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb @@ -95,6 +95,11 @@ do_install:append() { install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir} fi + + sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -i ${D}${bindir}/krb5-config } PACKAGES =+ "${PN}-admin-server \ diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb deleted file mode 100644 index ebc8b8b8a..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" -DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ - devices which speak the Qualcomm MSM Interface (QMI) protocol" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = "glib-2.0 glib-2.0-native" - -inherit autotools pkgconfig bash-completion gobject-introspection - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "6e3bbbd200bc1b64b23f6254fef9212f2699ec77cfb32075d2ba5079c73a9f78" - -PACKAGECONFIG ??= "udev mbim" -PACKAGECONFIG[udev] = ",--without-udev,libgudev" -PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb new file mode 100644 index 000000000..61fe0eef8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" +DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ + devices which speak the Qualcomm MSM Interface (QMI) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 glib-2.0-native" + +inherit autotools pkgconfig bash-completion gobject-introspection + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "c039cdb5d3522b45a50d2287ab6311cdc9f99d46a719a1ea4beb7591787b8a1b" + +PACKAGECONFIG ??= "udev mbim" +PACKAGECONFIG[udev] = ",--without-udev,libgudev" +PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb new file mode 100644 index 000000000..f3dc5d15d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux" +HOMEPAGE = "http://linuxptp.sourceforge.net/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v3.1/linuxptp-${PV}.tgz \ + file://build-Allow-CC-and-prefix-to-be-overriden.patch \ + file://Use-cross-cpp-in-incdefs.patch \ + " + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/linuxptp/files/" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" + +SRC_URI[sha256sum] = "94d6855f9b7f2d8e9b0ca6d384e3fae6226ce6fc012dbad02608bdef3be1c0d9" + +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}' mandir=${mandir}" + +export KBUILD_OUTPUT="${RECIPE_SYSROOT}" + +do_install() { + oe_runmake install DESTDIR=${D} prefix=${prefix} + + # Install example configs from source tree + install -d ${D}${docdir}/${PN} + cp -R --no-dereference --preserve=mode,links ${S}/configs ${D}${docdir}/${PN} +} + +PACKAGES =+ "${PN}-configs" + +FILES:${PN}-configs = "${docdir}" +FILES:${PN}-doc = "${mandir}" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb deleted file mode 100644 index 4c6a0797b..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux" -HOMEPAGE = "http://linuxptp.sourceforge.net/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ - file://build-Allow-CC-and-prefix-to-be-overriden.patch \ - file://Use-cross-cpp-in-incdefs.patch \ - " - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/linuxptp/files/" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" - -SRC_URI[md5sum] = "2264cb69c9af947028835c12c89a7572" -SRC_URI[sha256sum] = "f58f5b11cf14dc7c4f7c9efdfb27190e43d02cf20c3525f6639edac10528ce7d" - -EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}' mandir=${mandir}" - -export KBUILD_OUTPUT="${RECIPE_SYSROOT}" - -do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} - - # Install example configs from source tree - install -d ${D}${docdir}/${PN} - cp -R --no-dereference --preserve=mode,links ${S}/configs ${D}${docdir}/${PN} -} - -PACKAGES =+ "${PN}-configs" - -FILES:${PN}-configs = "${docdir}" -FILES:${PN}-doc = "${mandir}" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index d46447d33..c36feb334 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -226,8 +226,8 @@ RDEPENDS:packagegroup-meta-oe-dbs-python2 ="\ RDEPENDS:packagegroup-meta-oe-devtools ="\ abseil-cpp \ + apitrace \ breakpad \ - bootchart \ android-tools-conf \ android-tools \ concurrencykit \ @@ -396,7 +396,6 @@ RDEPENDS:packagegroup-meta-oe-extended ="\ libusbmuxd \ liblockfile \ liblogging \ - libnss-nisplus \ libpwquality \ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \ libserialport \ @@ -435,7 +434,7 @@ RDEPENDS:packagegroup-meta-oe-extended:append:libc-musl = " libexecinfo" RDEPENDS:packagegroup-meta-oe-extended:append:x86-64 = " pmdk libx86-1" RDEPENDS:packagegroup-meta-oe-extended:append:x86 = " libx86-1" -RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "libnss-nisplus sysdig" +RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "sysdig" RDEPENDS:packagegroup-meta-oe-extended:remove:mipsarch = "upm mraa minifi-cpp tiptop" RDEPENDS:packagegroup-meta-oe-extended:remove:mips = "sysdig" RDEPENDS:packagegroup-meta-oe-extended:remove:powerpc = "upm mraa minifi-cpp" @@ -493,7 +492,6 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\ packagegroup-fonts-truetype \ qrencode \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "st", "", d)} \ - takao-fonts \ leptonica \ libvncserver \ libmng \ @@ -525,7 +523,7 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\ ttf-gentium \ ttf-hunky-sans \ ttf-hunky-serif \ - ttf-ipa \ + ttf-ipag ttf-ipagp ttf-ipamp ttf-ipam \ ttf-lohit \ ttf-inconsolata \ ttf-liberation-sans-narrow \ @@ -537,6 +535,7 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\ ttf-noto-emoji-regular \ ttf-sazanami-gothic \ ttf-sazanami-mincho \ + ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho \ ttf-tlwg \ ttf-roboto \ ttf-wqy-zenhei \ diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb index e86b9dcf9..49c0fd11e 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb +++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb @@ -16,6 +16,7 @@ inherit autotools PACKAGECONFIG ??= "" PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,," +PACKAGECONFIG[hasher_only] = "--enable-kcapi-hasher --disable-lib-kdf --disable-lib-sym --disable-lib-aead --disable-lib-rng,,," do_install:append() { # bindir contains testapp and apps. However it is always created, even @@ -28,3 +29,5 @@ do_install:append() { } CPPFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch new file mode 100644 index 000000000..2cc98e6d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch @@ -0,0 +1,33 @@ +From 4a11d4d03ef66729d302cc122fa0c693299a7776 Mon Sep 17 00:00:00 2001 +From: Sakib Sajal +Date: Wed, 18 Aug 2021 10:49:38 -0400 +Subject: [PATCH] Makefile: use libprefix instead of libdir + +libdir expands to "$(exec_prefix)/lib" where "lib" is hardcoded. +This is a problem for builds that enable MULTILIB since libraries +are to be installed in "lib64" directory. Hence allow the directory +to be configurable. + +Signed-off-by: Sakib Sajal +--- + libraries/liblmdb/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index f254511..1ec74e6 100644 +--- a/Makefile ++++ b/Makefile +@@ -46,11 +46,11 @@ all: $(ILIBS) $(PROGS) + + install: $(ILIBS) $(IPROGS) $(IHDRS) + mkdir -p $(DESTDIR)$(bindir) +- mkdir -p $(DESTDIR)$(libdir) ++ mkdir -p $(DESTDIR)$(libprefix) + mkdir -p $(DESTDIR)$(includedir) + mkdir -p $(DESTDIR)$(mandir)/man1 + for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done +- for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done ++ for f in $(ILIBS); do cp $$f $(DESTDIR)$(libprefix); done + for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done + for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done + diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb index 0746da141..3c6ffe04e 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb @@ -10,7 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972" SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1 \ file://run-ptest \ -" + file://0001-Makefile-use-libprefix-instead-of-libdir.patch \ + " SRCREV = "LMDB_${PV}" @@ -26,7 +27,7 @@ do_compile() { do_install() { oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" install - cd ${D}/${libdir} + cd ${D}${libdir} ln -s liblmdb.so.${PV} liblmdb.so rm liblmdb.a } diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb deleted file mode 100644 index e38726d3f..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" - -RDEPENDS:${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ -} - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb new file mode 100644 index 000000000..e38726d3f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" + +RDEPENDS:${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ +} + diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index 2496ac8fd..81a785932 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -12,20 +12,18 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://mysql-systemd-start \ file://configure.cmake-fix-valgrind.patch \ file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \ - file://0001-disable-ucontext-on-musl.patch \ file://c11_atomics.patch \ - file://clang_version_header_conflict.patch \ file://fix-arm-atomic.patch \ file://0001-Fix-library-LZ4-lookup.patch \ file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \ file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \ - file://sys_futex.patch \ file://ssize_t.patch \ file://mm_malloc.patch \ + file://sys_futex.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "761053605fe30ce393f324852117990350840a93b3e6305ef4d2f8c8305cc47a" +SRC_URI[sha256sum] = "75bf9b147a95d38160d01a73b098d50a1960563b46d16a235971fff64d99643c" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch index a2f7812c5..6ed174113 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch @@ -1,6 +1,6 @@ -From 5d9a869a72420cf0bb08b6aa93e980df90bdcf2e Mon Sep 17 00:00:00 2001 +From 0a3222338efc108c831fbdd719a47d35f4b0adcd Mon Sep 17 00:00:00 2001 From: Khem Raj -Date: Sat, 3 Apr 2021 12:02:36 -0700 +Date: Wed, 18 Aug 2021 06:49:25 +0000 Subject: [PATCH] aio_linux: Check if syscall exists before using it Return -ENOSYS if not implememented, fixes build on arches like RISCV32 @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj 1 file changed, 4 insertions(+) diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc -index d9aa8be2..d8a87a8f 100644 +index 4abc213..da75411 100644 --- a/tpool/aio_linux.cc +++ b/tpool/aio_linux.cc -@@ -59,6 +59,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/ +@@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/ */ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev) { @@ -28,7 +28,7 @@ index d9aa8be2..d8a87a8f 100644 int saved_errno= errno; int ret= syscall(__NR_io_getevents, reinterpret_cast(ctx), min_nr, nr, ev, 0); -@@ -68,6 +69,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev) +@@ -67,6 +68,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev) errno= saved_errno; } return ret; @@ -36,8 +36,8 @@ index d9aa8be2..d8a87a8f 100644 + return -ENOSYS; +#endif } - #endif + -- -2.31.1 +2.29.2 diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch deleted file mode 100644 index daf2432a5..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b658bdb38b7ff6a78915fd0ac390fc224e4006cb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 26 Mar 2017 14:30:33 -0700 -Subject: [PATCH] disable ucontext on musl - -musl does not have *contex() APIs even though it has ucontext.h header - -Signed-off-by: Khem Raj - ---- - include/my_context.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/my_context.h b/include/my_context.h -index ea0e3496..4c9b37dc 100644 ---- a/include/my_context.h -+++ b/include/my_context.h -@@ -31,7 +31,7 @@ - #define MY_CONTEXT_USE_X86_64_GCC_ASM - #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__) - #define MY_CONTEXT_USE_I386_GCC_ASM --#elif defined(HAVE_UCONTEXT_H) -+#elif defined(__GLIBC__) && defined(HAVE_UCONTEXT_H) - #define MY_CONTEXT_USE_UCONTEXT - #else - #define MY_CONTEXT_DISABLE diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch deleted file mode 100644 index c77a86944..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch +++ /dev/null @@ -1,32 +0,0 @@ -libc++ also has a file called version and this file and how cflags are specified -it ends up including this file and resulting in compile errors - -fixes errors like -storage/mroonga/version:1:1: error: expected unqualified-id -7.07 -^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- a/storage/mroonga/CMakeLists.txt -+++ b/storage/mroonga/CMakeLists.txt -@@ -80,7 +80,7 @@ else() - set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR}) - endif() - --file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION) -+file(READ ${MRN_SOURCE_DIR}/ver MRN_VERSION) - file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR) - file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR) - file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO) ---- /dev/null -+++ b/storage/mroonga/ver -@@ -0,0 +1 @@ -+7.07 -\ No newline at end of file ---- a/storage/mroonga/version -+++ /dev/null -@@ -1 +0,0 @@ --7.07 -\ No newline at end of file diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch index d6e53c29e..a4deee607 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch @@ -3,11 +3,13 @@ Remove glibc specific function dependencies Sourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch Signed-off-by: Khem Raj +diff --git a/include/my_cpu.h b/include/my_cpu.h +index f2e26fca..94599b74 100644 --- a/include/my_cpu.h +++ b/include/my_cpu.h @@ -24,17 +24,16 @@ */ - + #ifdef _ARCH_PWR8 -#include /* Very low priority */ @@ -28,7 +30,7 @@ Signed-off-by: Khem Raj /* High priority */ #define HMT_high() asm volatile("or 3,3,3") #else -@@ -81,7 +80,7 @@ static inline void MY_RELAX_CPU(void) +@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void) __asm__ __volatile__ ("pause"); #endif #elif defined(_ARCH_PWR8) @@ -36,15 +38,4 @@ Signed-off-by: Khem Raj + __builtin_ppc_get_timebase(); #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) /* Mainly, prevent the compiler from optimizing away delay loops */ - #ifdef _aarch64_ ---- a/storage/tokudb/PerconaFT/portability/toku_time.h -+++ b/storage/tokudb/PerconaFT/portability/toku_time.h -@@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v - __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result)); - return result; - #elif defined(__powerpc__) -- return __ppc_get_timebase(); -+ return __builtin_ppc_get_timebase(); - #else - #error No timer implementation for this platform - #endif + __asm__ __volatile__ ("":::"memory"); diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch index 3277a3eee..3244ab8da 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch @@ -1,22 +1,23 @@ - Use SYS_futex for syscall +Use SYS_futex for syscall glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64 Upstream-Status: Pending Signed-off-by: Khem Raj ---- a/storage/innobase/include/ib0mutex.h -+++ b/storage/innobase/include/ib0mutex.h -@@ -150,6 +150,12 @@ private: - #include - #include - + +--- a/storage/innobase/sync/srw_lock.cc ++++ b/storage/innobase/sync/srw_lock.cc +@@ -210,6 +210,12 @@ void ssux_lock_low::wake() { WakeByAddre + # ifdef __linux__ + # include + # include +/** Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and + therefore do not define __NR_futex */ -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+# define SYS_futex SYS_futex_time64 -+#endif ++# if !defined(SYS_futex) && defined(SYS_futex_time64) ++# define SYS_futex SYS_futex_time64 ++# endif + - /** Mutex implementation that used the Linux futex. */ - template