subtree updates
meta-arm: 1dff3300fb..0b61cc659a:
Ross Burton (1):
meta-arm/selftest: add test that PAC/BTI instructions are used
meta-openembedded: 991e6852a5..5ad7203f68:
Alexander Kanavin (1):
fio: revert "fio: upgrade 3.32 -> 2022"
BELOUARGA Mohamed (1):
monocypher: add crypto library recipe
Dylan Turner (1):
apache2: v2.4.57 to v2.4.58 to fix CVE-2023-43622
Hongxu Jia (1):
freeradius: make sub packages to runtime depends on freeradius
Kai Kang (1):
libnma: remove conflict xml file
Khem Raj (12):
nlohmann-json: Fix SRCREV_FORMAT and do not package git metadata into ptests
ptest-packagelists-meta-oe.inc: Move poco to slow tests
sdbus-c++-libsystemd: Upgrade to 254
sdbus-c++-tools: Upgrade to 1.4.0
gstd: Fix systemd user unit packaging
basu: Update to latest master
sdbus-c++: Install ptests into PTEST_PATH
liblognorm:Add asprintf to autoconf function check macro
gnome-console,gnome-terminal: Depend on vte from core layer
Revert "gnome-terminal: Remove recommendation on vte-prompt"
vte9: Drop recipe
basu: Update the SRCREV to get lld fix
Luca Fancellu (1):
linuxptp: Update downstream patches
Markus Volk (9):
libcacard: fix version string in libcacard.pc
cups-filters: fix Makefile race condition
system-config-printer: Add packageconfig for polkit
pipewire: upgrade 0.3.85 > 1.0.0
libcacard: set meson version based on PV
spice: Set meson version based on PV
spice-gtk: Set meson version based on PV
libdecor: update 0.2.0 -> 0.2.1
xdg-desktop-portal-gnome: upgrade 45.0 -> 45.1
Naveen Saini (2):
tbb: upgrade 2021.9.0 -> 2021.11.0
tbb: enable NUMA/Hybrid CPU support
Patrick Wicki (6):
squid: update from v5.7 to v6.5
squid: add nm dispatcher reload hook
squid: add auth packageconfig
squid: move configs to sub package
squid: add url-rewrite-helpers packageconfig
squid: add systemd service
Patrick Williams (1):
glog: Disable 64bit atomics on armv{5,6}
Peter Kjellerstedt (1):
redis: Inherit pkgconfig
Ross Burton (1):
python3-validators: add new recipe
Wang Mingyu (26):
ctags: upgrade 6.0.20231119.0 -> 6.0.20231126.0
dnfdragora: upgrade 2.1.4 -> 2.1.5
gensio: upgrade 2.7.7 -> 2.8.0
frr: upgrade 9.0.1 -> 9.1
capnproto: upgrade 1.0.1 -> 1.0.1.1
libbpf: upgrade 1.2.2 -> 1.3.0
paho-mqtt-cpp: upgrade 1.2.0 -> 1.3.1
tomoyo-tools: upgrade 2.5.0 -> 2.6.1
python3-aiohttp: upgrade 3.9.0 -> 3.9.1
python3-bitstring: upgrade 4.1.2 -> 4.1.3
python3-dbus-fast: upgrade 2.14.0 -> 2.15.0
python3-humanize: upgrade 4.8.0 -> 4.9.0
python3-ipython: upgrade 8.17.2 -> 8.18.0
python3-mypy: upgrade 1.7.0 -> 1.7.1
python3-pdm: upgrade 2.10.3 -> 2.10.4
python3-pexpect: upgrade 4.8.0 -> 4.9.0
python3-pychromecast: upgrade 13.0.7 -> 13.0.8
python3-pydantic: upgrade 2.5.1 -> 2.5.2
python3-pymisp: upgrade 2.4.178 -> 2.4.179
python3-pytest-xdist: upgrade 3.4.0 -> 3.5.0
python3-sentry-sdk: upgrade 1.35.0 -> 1.37.1
python3-types-setuptools: upgrade 68.2.0.1 -> 68.2.0.2
python3-virtualenv: upgrade 20.24.6 -> 20.24.7
redis: upgrade 7.2.2 -> 7.2.3
ser2net: upgrade 4.5.1 -> 4.6.0
thingsboard-gateway: upgrade 3.4.2 -> 3.4.3.1
alperak (12):
squashfs-tools-ng: upgrade 1.1.4 -> 1.2.0
tmate: Fix finding msgpack 6+
msgpack-c: upgrade 4.0.0 -> 6.0.0
msgpack-cpp: upgrade 4.1.1 -> 6.1.0
brotli: upgrade 1.0.9 -> 1.1.0
icewm: upgrade 2.9.9 -> 3.4.4
iotop: upgrade 1.21 -> 1.25
liblognorm: upgrade 1.0.1 -> 2.0.6
libmodbus: upgrade 3.1.7 -> 3.1.10
libpwquality: upgrade 1.4.4 -> 1.4.5
libspiro: upgrade 20200505 -> 20221101
gtkwave: upgrade 3.3.111 -> 3.3.117
poky: 2696bf8cf3..028b6f6226:
Adrian Freihofer (1):
cmake-qemu.bbclass: support qemu for cmake
Alassane Yattara (9):
bitbake: toaster/tests: Update methods wait_until_~ to skip using time.sleep
bitbake: toaster/tests: Override table edit columns TestCase from image recipe page
bitbake: toaster/tests: Test software recipe page
bitbake: toaster/tests: Added Machine page TestCase
bitbake: toaster/tests: Added Layers page TestCase
bitbake: toaster/tests: Added distro page TestCase
bitbake: toaster/tests: Bug-fix on tests/functional/test_project_page
bitbake: toaster/tests: Test single layer page
bitbake: toaster/tests: Test single recipe page
Alex Kiernan (4):
rust: Delete python2 configparser code path
rust: Drop TARGET_VENDOR export
eudev: Upgrade 3.2.12 -> 3.2.14
rust: Drop targets and hosts override magic
Alexander Kanavin (15):
python3-pyproject-hooks: fix upstream version check
cmake: upgrade 3.27.5 -> 3.27.7
desktop-file-utils: upgrade 0.26 -> 0.27
erofs-utils: upgrade 1.6 -> 1.7.1
webkitgtk: update 2.40.5 -> 2.42.2
epiphany: upgrade 44.6 -> 45.1
virglrenderer: upgrade 0.10.4 -> 1.0.0
libxkbcommon: upgrade 1.5.0 -> 1.6.0
mpg123: upgrade 1.31.3 -> 1.32.3
icu: upgrade 73-2 -> 74-1
p11-kit: upgrade 0.25.0 -> 0.25.2
glib-2.0: install gio-querymodules into bindir as well as libexecdir for native
meson: update 1.2.2 -> 1.3.0
repo: update 2.37 -> 2.39
rt-tests: update 2.5 -> 2.6
Bruce Ashfield (1):
lttng-modules: fix build for v6.7+
Changhyeok Bae (1):
iptables: upgrade 1.8.9 -> 1.8.10
Charlie Johnston (2):
bitbake.conf: Add gsutil as hosttool for gcp fetcher.
bitbake: fetch2: Ensure GCP fetcher checks if file exists before download.
Jan Vermaete (1):
systemd: fixed typo
Joao Marcos Costa (1):
documentation.conf: fix do_menuconfig description
Joshua Watt (2):
bitbake: bitbake-hashclient: Add commands to get hashes
bitbake: hashserv: sqlite: Ensure sync propagates to database connections
Julien Stephan (6):
devtool: fix update-recipe dry-run mode
lib/oe/recipeutils.py: remove trailing white-spaces
devtool: finish/update-recipe: restrict mode srcrev to recipes fetched from SCM
devtool: tag all submodules
devtool: add support for git submodules
oeqa/selftest/devtool: add test for git submodules
Justin Bronder (1):
contributor-guide: add License-Update tag
Kareem Zarka (2):
wic: bootimg-efi: Make kernel image installation configurable
oeqa/selftest/wic: Add tests for kernel image installation
Khem Raj (8):
shared-mime-info: Fix build with clang-17+
libsoup-2.4: Fix build with clang-17 and libxml2-2.12
busybox: Enable utmp support on musl systems
virglrenderer: Fix build with clang
llvm: Upgrade to 17.0.6
rust-common.bbclass: Define rust arch for x32 platforms
vte: Upgrade to 0.74.1
vte: Separate out gtk4 pieces of vte into individual packages
Lee Chee Yang (3):
wic: add test for partition hidden attributes
migration-guides: add release notes for 4.3.1
openssl: upgrade to 3.2.0
Malte Schmidt (1):
wic: rawcopy: add support for zstd decompression
Marco Felsch (1):
json-c: fix icecc compilation
Markus Volk (3):
bluez5: fix connection for ps5/dualshock controllers
cups: Add root,sys,wheel to system groups
vte: upgrade 0.72.2 -> 0.74.0
Martin Hundeb?ll (1):
libpam: split /etc/environment into pam-plugin-env package
Matsunaga-Shinji (1):
cve-check: Modify judgment processing using "=" in version comparison
Michael Opdenacker (4):
systemd-compat-units.bb: fix postinstall script
dev-manual: layers: update link to YP Compatible form
contributor-guide: fix command option
migration-guides: release 3.5 is actually 4.0
Niko Mauno (1):
rust-llvm: Allow overriding LLVM target archs
Patrick Williams (1):
shared-mime-info-native: handle old GCC for AlmaLinux8
Peter Marko (2):
cve-update-nvd2-native: remove unused variable CVE_SOCKET_TIMEOUT
cve-update-nvd2-native: make number of fetch attemtps configurable
Richard Haar (1):
bitbake: bitbake: tests: Fix duplicate test_underscore_override test
Richard Purdie (2):
bitbake: ui/ncurses: Add missing function call to avoid traceback
bitbake: cooker: Avoid eventlog variable listing lockups
Robert Yang (2):
gnu-config: Update to latest revision
gettext: Upgrade 0.22 -> 0.22.3
Ross Burton (3):
core-image-minimal-initramfs: don't install a kernel into the initramfs
autoconf: upgrade to 2.72d
Revert "cve-check: Modify judgment processing using "=" in version comparison"
Sundeep KOKKONDA (3):
rust: Split rustdoc into a separate package
glibc: stable 2.38 branch updates
binutils: stable 2.41 branch updates
Tim Orling (8):
python3-sphinxcontrib-applehelp: 1.0.4 -> 1.0.7
python3-sphinxcontrib-devhelp: 1.0.2 -> 1.0.5
python3-sphinxcontrib-htmlhelp: 2.0.1 -> 2.0.4
python3-sphinxcontrib-qthelp: 1.0.3 -> 1.0.6
python3-sphinxcontrib-serializinghtml: 1.1.5 -> 1.1.9
vim: upgrade 9.0.2068 -> 9.0.2130
python3-cryptography-vectors: add RECIPE_NO_UPDATE_REASON
python3-cryptography{-vectors}: 41.0.5 -> 41.0.7
Trevor Gamblin (2):
python3-ptest: skip test_storlines
patchtest: shorten patch signed-off-by test output
Viswanath Kraleti (1):
systemd-boot: Fix build issues on armv7a-linux
Wang Mingyu (27):
bind: upgrade 9.18.19 -> 9.18.20
diffoscope: upgrade 251 -> 252
ell: upgrade 0.59 -> 0.60
git: upgrade 2.42.1 -> 2.43.0
gnutls: upgrade 3.8.1 -> 3.8.2
libdrm: upgrade 2.4.117 -> 2.4.118
libgcrypt: upgrade 1.10.2 -> 1.10.3
libksba: upgrade 1.6.4 -> 1.6.5
libxslt: upgrade 1.1.38 -> 1.1.39
log4cplus: upgrade 2.1.0 -> 2.1.1
python3-certifi: upgrade 2023.7.22 -> 2023.11.17
python3-setuptools: upgrade 68.2.2 -> 69.0.2
python3-wcwidth: upgrade 0.2.9 -> 0.2.11
python3-hypothesis: upgrade 6.89.0 -> 6.90.0
python3-pyasn1: upgrade 0.5.0 -> 0.5.1
python3-scons: upgrade 4.5.2 -> 4.6.0
python3-urllib3: upgrade 2.0.7 -> 2.1.0
ethtool: upgrade 6.5 -> 6.6
gi-docgen: upgrade 2023.1 -> 2023.3
init-system-helpers: upgrade 1.65.2 -> 1.66
libsolv: upgrade 0.7.26 -> 0.7.27
python3-idna: upgrade 3.4 -> 3.6
ofono: upgrade 2.1 -> 2.2
python3-sphinx-rtd-theme: upgrade 1.3.0 -> 2.0.0
python3-trove-classifiers: upgrade 2023.11.14 -> 2023.11.22
python3-wheel: upgrade 0.41.3 -> 0.42.0
resolvconf: upgrade 1.91 -> 1.92
Xiangyu Chen (2):
shadow: Fix for CVE-2023-4641
bash: changes to SIGINT handler while waiting for a child
Zahir Hussain (1):
cmake: Unset CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
meta-raspberrypi: 8231f97534..fde68b24f0:
Lorenzo Arena (1):
docs: fix syntax for overriding fs type for initramfs image
Change-Id: Idc6f6b1e913442bae03dfec9f207924c56f31056
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/meta-arm/meta-arm/lib/oeqa/selftest/cases/pacbti.py b/meta-arm/meta-arm/lib/oeqa/selftest/cases/pacbti.py
new file mode 100644
index 0000000..40fe5e1
--- /dev/null
+++ b/meta-arm/meta-arm/lib/oeqa/selftest/cases/pacbti.py
@@ -0,0 +1,11 @@
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.core.decorator import OETestTag
+from oeqa.core.decorator.data import skipIfNotArch
+from oeqa.utils.commands import bitbake
+
+@OETestTag("meta-arm")
+class PacBtiTest(OESelftestTestCase):
+
+ @skipIfNotArch(["aarch64"])
+ def test_pac_bti(self):
+ bitbake("test-pacbti")
diff --git a/meta-arm/meta-arm/recipes-test/pacbti/files/pacbti.c b/meta-arm/meta-arm/recipes-test/pacbti/files/pacbti.c
new file mode 100644
index 0000000..618354e
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-test/pacbti/files/pacbti.c
@@ -0,0 +1,9 @@
+// Copyright (C) 2023 Arm Ltd
+// SPDX-License-Identifier: MIT
+
+#include <stdio.h>
+
+int main() {
+ puts("Hello, world");
+ return 0;
+}
diff --git a/meta-arm/meta-arm/recipes-test/pacbti/test-pacbti.bb b/meta-arm/meta-arm/recipes-test/pacbti/test-pacbti.bb
new file mode 100644
index 0000000..331c585
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-test/pacbti/test-pacbti.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Test to verify that PAC/BTI is enabled"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://pacbti.c;beginline=2;endline=2;md5=6ec41034e04432ee375d0e14fba596f4"
+
+SRC_URI = "file://pacbti.c"
+
+S = "${WORKDIR}"
+
+do_compile() {
+ # Compile with -zforce-bti with fatal warnings, so the link fails if PAC/BTI
+ # is requested but gcc/glibc are built without it.
+ ${CC} ${CFLAGS} ${LDFLAGS} -z force-bti -Werror -Wl,--fatal-warnings ${S}/pacbti.c
+
+ # If we have a binary, check that the AArch64 feature list in the binary
+ # actually enables PAC/BTI.
+ ${READELF} --notes a.out | grep "AArch64 feature" >notes
+ grep BTI notes
+ grep PAC notes
+}
+
+COMPATIBLE_HOST = "aarch64.*-linux"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
index 997a5a7..9a4dad3 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
@@ -26,3 +26,8 @@
EXTRA_OEMESON:append:powerpc64le = " -Dvapi=false"
GTKDOC_MESON_OPTION = "gtk_doc"
+
+do_install:append() {
+ # conflicts with the file provided by network-manager-applet
+ rm -f ${D}${datadir}/glib-2.0/schemas/org.gnome.nm-applet.gschema.xml
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb
index 748ea7b..9669e33 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb
@@ -14,7 +14,7 @@
libadwaita \
libgtop \
pcre2 \
- vte9 \
+ vte \
"
SRC_URI[archive.sha256sum] = "e7462128d2df2324a1d748062c40429cd0504af09e407067b33f3a9d0c59c8e1"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb
index 014b329..8616f2c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb
@@ -13,7 +13,7 @@
desktop-file-utils-native \
gtk+3 \
gsettings-desktop-schemas \
- vte9 \
+ vte \
dconf \
libhandy \
libpcre2 \
@@ -35,4 +35,4 @@
${systemd_user_unitdir} \
"
-RRECOMMENDS:${PN} += "gsettings-desktop-schemas"
+RRECOMMENDS:${PN} += "vte-prompt gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.1.bb
similarity index 89%
rename from meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb
rename to meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.1.bb
index 6cf706a..a547730 100644
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.1.bb
@@ -21,7 +21,7 @@
REQUIRED_DISTRO_FEATURES = "polkit"
-SRC_URI[archive.sha256sum] = "949598861c80000febf18cc12b3721c95c1bb1d19371fc2156dc4f33def5aff0"
+SRC_URI[archive.sha256sum] = "3e9ca821044005fb37bd68ebe4ad196fc3d072835581467a22a4879dac7b5fdd"
PACKAGECONFIG ?= "screenshot screencast ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
PACKAGECONFIG[wayland] = ",,wayland-native"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
index 88acdb1..cabbf2c 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
@@ -17,7 +17,7 @@
GTKDOC_MESON_OPTION = "enable-gtk-doc"
-inherit meson pkgconfig gettext gtk-doc systemd python3native python3-dir python3targetconfig
+inherit meson pkgconfig gettext gtk-doc python3native python3-dir python3targetconfig
do_install:append() {
rmdir ${D}${root_prefix}${localstatedir}/run/${BPN} ${D}${root_prefix}${localstatedir}/run \
@@ -28,7 +28,7 @@
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/${BPN} - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- echo "d /${localstatedir}/log/${BPN} 0755 root root -" \
+ echo "d ${localstatedir}/log/${BPN} 0755 root root -" \
>> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
fi
ln -sf gst-client-1.0 ${D}${bindir}/gst-client
@@ -38,5 +38,3 @@
FILES:${PN} += "${systemd_user_unitdir}"
FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
-
-SYSTEMD_SERVICE:${PN} = "gstd.service"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.0.bb
similarity index 99%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.0.bb
index 883d02d..b4da781 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.0.bb
@@ -12,7 +12,7 @@
DEPENDS = "dbus ncurses"
-SRCREV = "7db1e7f643a454056327999b2d8e35d8097b5593"
+SRCREV = "4debdcd40b055b3eaa83a8f4443aa990ea566bfe"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
index 4f14985..ead8758 100644
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
@@ -13,8 +13,9 @@
DEPENDS = "cups glib-2.0 libusb xmlto-native desktop-file-utils-native autoconf-archive-native"
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)}"
PACKAGECONFIG[systemd] = ",--without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[polkit] = ",,,cups-pk-helper"
do_configure:prepend() {
# This file is not provided if fetching from git but required for configure
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
index e38ef2b..e3730cf 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
@@ -286,5 +286,12 @@
RDEPENDS:${PN} += "perl"
RDEPENDS:${PN}-utils = "${PN} perl"
+RDEPENDS:${PN}-krb5 = "${PN}"
+RDEPENDS:${PN}-ldap = "${PN}"
+RDEPENDS:${PN}-mysql = "${PN}"
+RDEPENDS:${PN}-perl = "${PN}"
+RDEPENDS:${PN}-postgresql = "${PN}"
+RDEPENDS:${PN}-python = "${PN}"
+RDEPENDS:${PN}-unixodbc = "${PN}"
CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
index acebd6d..a478dcd 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -1,4 +1,4 @@
-From c21adbb0b230ffba97cf5d059e2bd024e13a37df Mon Sep 17 00:00:00 2001
+From 38e7e90cc2075952c1b74f5fca826f9c6cadb2f0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 22 Apr 2017 11:54:57 -0700
Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler
@@ -13,8 +13,8 @@
---
Upstream-Status: Pending
- acinclude/ax_check_compile_flag.m4 | 74 ++++++++++++++++++++++++++++++++++++++
- configure.ac | 2 ++
+ acinclude/ax_check_compile_flag.m4 | 74 ++++++++++++++++++++++++++++++
+ configure.ac | 2 +
2 files changed, 76 insertions(+)
create mode 100644 acinclude/ax_check_compile_flag.m4
@@ -99,20 +99,20 @@
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/configure.ac b/configure.ac
-index ff4688c..9382fdf 100644
+index 2543676..4635474 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -26,6 +26,7 @@ m4_include([acinclude/pkg.m4])
+@@ -28,6 +28,7 @@ m4_include([acinclude/pkg.m4])
+ m4_include([acinclude/tdb.m4])
m4_include([acinclude/lib-checks.m4])
- m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
- m4_include([acinclude/ax_cxx_0x_types.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx.m4])
+m4_include([acinclude/ax_check_compile_flag.m4])
HOSTCXX="$BUILD_CXX"
PRESET_CFLAGS="$CFLAGS"
-@@ -44,6 +45,7 @@ AC_PROG_CXX
+@@ -59,6 +60,7 @@ AC_USE_SYSTEM_EXTENSIONS
+
AC_LANG([C++])
- AC_CANONICAL_HOST
+AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[CFLAGS="$CFLAGS -Wno-error=format-truncation" CXXFLAGS="$CXXFLAGS -Wno-error=format-truncation"])
# Clang 3.2 on some CPUs requires -march-native to detect correctly.
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-squid-make-squid-conf-tests-run-on-target-device.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-squid-make-squid-conf-tests-run-on-target-device.patch
new file mode 100644
index 0000000..56c91de
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-squid-make-squid-conf-tests-run-on-target-device.patch
@@ -0,0 +1,74 @@
+From cd8bf8a4bf881f84c23a5fc1f48bb716efa51512 Mon Sep 17 00:00:00 2001
+From: Patrick Wicki <patrick.wicki@siemens.com>
+Date: Wed, 22 Nov 2023 15:35:44 +0100
+Subject: [PATCH] squid: make squid-conf-tests run on target device
+
+* Fix paths to allow tests to run outside the original builddir
+* Allow the tests to run on read-only root
+ * Don't overwrite tests with true on success
+ * Change logfile path to /var/log
+
+Upstream-Status: Inappropriate [cross compile specific]
+
+Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
+
+---
+ test-suite/Makefile.am | 16 ++++++++--------
+ test-suite/test-squid-conf.sh | 2 +-
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am
+index 8becdbc..eccd49c 100644
+--- a/test-suite/Makefile.am
++++ b/test-suite/Makefile.am
+@@ -21,7 +21,7 @@ LDADD = \
+ EXTRA_PROGRAMS = mem_node_test splay
+
+ EXTRA_DIST = \
+- $(srcdir)/squidconf/* \
++ squidconf/* \
+ test-functionality.sh \
+ test-sources.sh \
+ test-squid-conf.sh \
+@@ -134,21 +134,21 @@ VirtualDeleteOperator_SOURCES = \
+
+ installcheck-local: squid-conf-tests
+
+-squid-conf-tests: $(srcdir)/test-squid-conf.sh $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*
+- @failed=0; cfglist="$(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*.conf"; rm -f $@ || $(TRUE); \
++squid-conf-tests: test-squid-conf.sh $(top_builddir)/src/squid.conf.default squidconf/*
++ @failed=0; cfglist="$(top_builddir)/src/squid.conf.default squidconf/*.conf"; rm -f $@ || $(TRUE); \
+ for cfg in $$cfglist ; do \
+- $(srcdir)/test-squid-conf.sh $(top_builddir) $(sbindir) $$cfg || \
++ ./test-squid-conf.sh $(top_builddir) $(sbindir) $$cfg || \
+ { echo "FAIL: squid.conf test: $$cfg" | \
+ sed s%$(top_builddir)/src/%% | \
+- sed s%$(srcdir)/squidconf/%% ; \
++ sed s%squidconf/%% ; \
+ failed=1; break; \
+ }; \
+ if test "$$failed" -eq 0; then \
+ echo "PASS: squid.conf test: $$cfg" | \
+ sed s%$(top_builddir)/src/%% | \
+- sed s%$(srcdir)/squidconf/%% ; \
++ sed s%squidconf/%% ; \
+ else break; fi; \
+ done; \
+- if test "$$failed" -eq 0; then cp $(TRUE) $@ ; else exit 1; fi
++ exit "$$failed"
+
+-CLEANFILES += squid-conf-tests squid-stderr.log
++CLEANFILES += squid-conf-tests /var/log/squid-stderr.log
+diff --git a/test-suite/test-squid-conf.sh b/test-suite/test-squid-conf.sh
+index 05fcaf3..a5a8a5a 100755
+--- a/test-suite/test-squid-conf.sh
++++ b/test-suite/test-squid-conf.sh
+@@ -111,7 +111,7 @@ then
+ done < $instructionsFile
+ fi
+
+-errorLog="squid-stderr.log"
++errorLog="/var/log/squid-stderr.log"
+
+ $sbindir/squid -k parse -f $configFile 2> $errorLog
+ result=$?
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
deleted file mode 100644
index 738e609..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b73b802282bf95d214c86ba943c5765ba6930bc1 Mon Sep 17 00:00:00 2001
-From: Jim Somerville <Jim.Somerville@windriver.com>
-Date: Mon, 21 Oct 2013 12:50:44 -0400
-Subject: [PATCH] Fix flawed dynamic -ldb link test in configure
-
-The test uses dbopen, but just ignores the fact
-that this function may not exist in the db version
-used. This leads to the dynamic link test failing
-and the configure script just making assumptions
-about why and setting the need for -ldb incorrectly.
-
-Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
-
----
-Upstream-Status: Pending
-
- configure.ac | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index d2f7feb..c7ae568 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3268,6 +3268,16 @@ case "$host" in
- ;;
- esac
-
-+if test "x$ac_cv_have_decl_dbopen" = "xyes"; then
-+ dnl 1.85
-+ SQUID_CHECK_DBOPEN_NEEDS_LIBDB
-+else
-+ # dbopen isn't there. So instead of running a compile/link test that
-+ # uses it and is thus guaranteed to fail, we just assume that we will
-+ # need to link in the db library, rather than fabricate some other
-+ # dynamic compile/link test.
-+ ac_cv_dbopen_libdb="yes"
-+fi
- dnl System-specific library modifications
- dnl
- case "$host" in
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
index ffb7371..ae8706d 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
@@ -1,4 +1,4 @@
-From 995aaf30799fa972441354b6feb45f0621968929 Mon Sep 17 00:00:00 2001
+From c0be3192f608037682464bcb728e97f9d9b543aa Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Wed, 16 Oct 2013 16:41:03 -0400
Subject: [PATCH] Set up for cross compilation
@@ -17,12 +17,12 @@
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
-index fe80ee0..57cd1ac 100644
+index ca0bc79..c222851 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -27,6 +27,7 @@ m4_include([acinclude/lib-checks.m4])
- m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
- m4_include([acinclude/ax_cxx_0x_types.m4])
+@@ -29,6 +29,7 @@ m4_include([acinclude/tdb.m4])
+ m4_include([acinclude/lib-checks.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx.m4])
+HOSTCXX="$BUILD_CXX"
PRESET_CFLAGS="$CFLAGS"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
index 1085333..5bb30bf 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
@@ -1,4 +1,4 @@
-From e4778299a3e49a634d2c7fe4fd9ac77777e829e3 Mon Sep 17 00:00:00 2001
+From 050f8ab275a7a5f3d94045da6b15a2b63dfbeb3f Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Tue, 14 Oct 2014 02:56:08 -0400
Subject: [PATCH] Skip AC_RUN_IFELSE tests
@@ -17,10 +17,10 @@
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
-index ad0ba60..4477446 100644
+index 2c4e340..64648e3 100644
--- a/acinclude/krb5.m4
+++ b/acinclude/krb5.m4
-@@ -61,7 +61,15 @@ main(void)
+@@ -57,7 +57,15 @@ main(void)
return 0;
}
@@ -35,13 +35,13 @@
+ dnl Can't test in cross compiled env - so assume good
+ squid_cv_broken_heimdal_krb5_h=no
])
+ SQUID_STATE_ROLLBACK(squid_krb5_heimdal_test)
])
- ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4
-index 1e9333527c..2d42787029 100644
+index 53847a8..850322a 100644
--- a/acinclude/lib-checks.m4
+++ b/acinclude/lib-checks.m4
-@@ -227,7 +227,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[
+@@ -205,7 +205,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[
[
AC_MSG_RESULT([no])
],
@@ -52,15 +52,14 @@
SQUID_STATE_ROLLBACK(check_const_SSL_METHOD)
])
-@@ -386,8 +386,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[
- [
- AC_MSG_RESULT([yes])
- AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1)
-- ],
--[])
+@@ -347,7 +349,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[
+ ],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1)
+- ],[])
+ ],[
+ AC_MSG_RESULT([skipped - can't test in cross-compiled env])
+ ])
- SQUID_STATE_ROLLBACK(check_TXTDB)
+ SQUID_STATE_ROLLBACK(check_TXTDB)
])
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest b/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest
index de79a29..8f8e28f 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest
@@ -1,3 +1,4 @@
#!/bin/sh
#
+make -C test-suite -k squid-conf-tests
make -C test-suite -k runtest-TESTS
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
deleted file mode 100644
index 124e044..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 702bd881b66dc034e711c0ff47805f2da40b6e0d Mon Sep 17 00:00:00 2001
-From: Yue Tao <yue.tao@windriver.com>
-Date: Mon, 8 Aug 2016 16:04:33 +0800
-Subject: [PATCH] Set the SYSROOT for libxml2 header file to avoid host
- contamination.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
-
----
- configure.ac | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 504a844..ff4688c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -931,15 +931,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then
- dnl Find the main header and include path...
- AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [
- AC_CHECK_HEADERS([libxml/parser.h], [], [
-- AC_MSG_NOTICE([Testing in /usr/include/libxml2])
-+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2])
- SAVED_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS"
-+ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS"
- unset ac_cv_header_libxml_parser_h
-- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/include/libxml2"], [
-- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2])
-- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS"
-+ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/include/libxml2"], [
-+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2])
-+ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS"
- unset ac_cv_header_libxml_parser_h
-- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/local/include/libxml2"], [
-+ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/local/include/libxml2"], [
- AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h])
- ])
- ])
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
deleted file mode 100644
index ea27285..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 8786b91488dae3f6dfeadd686e80d2ffc5c29320 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 25 Aug 2016 15:22:57 +0800
-Subject: [PATCH] squid: don't do squid-conf-tests at build time
-
-* squid-conf-tests is a test to run "squid -k parse -f"
- to perse the config files, which should not be run
- at build time since we are cross compiling, so remove
- it but it will be added back for the runtime ptest.
-
-* Fix the directories of the conf files for squid-conf-tests
- so that it can run on the target board.
-
-Upstream-Status: Inappropriate [cross compile specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
----
- test-suite/Makefile.am | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am
-index 0233c0e..e0021b6 100644
---- a/test-suite/Makefile.am
-+++ b/test-suite/Makefile.am
-@@ -40,8 +40,7 @@ TESTS += debug \
- splay\
- mem_node_test\
- mem_hdr_test\
-- $(ESI_TESTS) \
-- squid-conf-tests
-+ $(ESI_TESTS)
-
- ## Sort by alpha - any build failures are significant.
- check_PROGRAMS += debug \
-@@ -159,19 +158,19 @@ VirtualDeleteOperator_SOURCES = \
- ##$(TARGLIB): $(LIBOBJS)
- ## $(AR_R) $(TARGLIB) $(LIBOBJS)
-
--squid-conf-tests: $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*
-+squid-conf-tests: $(sysconfdir)/squid.conf.default squidconf/*
- @failed=0; cfglist="$?"; rm -f $@ || $(TRUE); \
- for cfg in $$cfglist ; do \
-- $(top_builddir)/src/squid -k parse -f $$cfg || \
-+ squid -k parse -f $$cfg || \
- { echo "FAIL: squid.conf test: $$cfg" | \
-- sed s%$(top_builddir)/src/%% | \
-- sed s%$(srcdir)/squidconf/%% ; \
-+ sed s%$(sysconfdir)/%% | \
-+ sed s%squidconf/%% ; \
- failed=1; break; \
- }; \
- if test "$$failed" -eq 0; then \
- echo "PASS: squid.conf test: $$cfg" | \
-- sed s%$(top_builddir)/src/%% | \
-- sed s%$(srcdir)/squidconf/%% ; \
-+ sed s%$(sysconfdir)/%% | \
-+ sed s%squidconf/%% ; \
- else break; fi; \
- done; \
- if test "$$failed" -eq 0; then cp $(TRUE) $@ ; fi
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid.nm b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid.nm
new file mode 100644
index 0000000..b58ee11
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid.nm
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$2" in
+ up|down|vpn-up|vpn-down)
+ systemctl -q reload squid.service || :
+ ;;
+esac
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_6.5.bb
similarity index 66%
rename from meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb
rename to meta-openembedded/meta-networking/recipes-daemons/squid/squid_6.5.bb
index 2a5de18..8d5d1a3 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_6.5.bb
@@ -15,25 +15,24 @@
SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \
file://Set-up-for-cross-compilation.patch \
file://Skip-AC_RUN_IFELSE-tests.patch \
- file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \
file://squid-use-serial-tests-config-needed-by-ptest.patch \
file://run-ptest \
file://volatiles.03_squid \
- file://set_sysroot_patch.patch \
- file://squid-don-t-do-squid-conf-tests-at-build-time.patch \
file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
+ file://0002-squid-make-squid-conf-tests-run-on-target-device.patch \
+ file://squid.nm \
"
SRC_URI:remove:toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
-SRC_URI[sha256sum] = "4c17e1eb324c4b7aa3c6889eba66eeca7ed98625d44076f7db7b027b2b093bd5"
+SRC_URI[sha256sum] = "99acd54ec9d68b2a9080d19fcc43eca1a245146cf162dbba689510d01e6d0f25"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://errors/COPYRIGHT;md5=0a7deb73d8fb7a9849af7145987829a4 \
+ file://errors/COPYRIGHT;md5=d324bc1f9447d1d1588d75b22a678dc4 \
"
-DEPENDS = "libtool krb5 openldap db cyrus-sasl"
+DEPENDS = "libtool"
-inherit autotools pkgconfig useradd ptest perlnative
+inherit autotools pkgconfig useradd ptest perlnative systemd
LDFLAGS:append:mipsarch = " -latomic"
LDFLAGS:append:powerpc = " -latomic"
@@ -43,20 +42,31 @@
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
- "
+PACKAGECONFIG ??= "auth url-rewrite-helpers \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+
PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking,"
PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2"
PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl"
+PACKAGECONFIG[auth] = "--enable-auth-basic='${BASIC_AUTH}',--disable-auth --disable-auth-basic,krb5 openldap db cyrus-sasl"
+PACKAGECONFIG[url-rewrite-helpers] = "--enable-url-rewrite-helpers,--disable-url-rewrite-helpers,"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+
+PACKAGES =+ " \
+ ${PN}-conf \
+ ${PN}-networkmanager \
+"
BASIC_AUTH = "DB SASL LDAP"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
-EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \
+EXTRA_OECONF += "--with-default-user=squid \
--sysconfdir=${sysconfdir}/${BPN} \
--with-logdir=${localstatedir}/log/${BPN} \
'PERL=${USRBINPATH}/env perl'"
@@ -81,29 +91,29 @@
cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
- # Needed to generate file squid.conf.default
- oe_runmake DESTDIR=${D}${PTEST_PATH} -C src install-data-local
- install -d ${D}${sysconfdir}/squid
- install -m 0644 ${D}${PTEST_PATH}/${sysconfdir}/squid/squid.conf.default ${D}${sysconfdir}/squid
+ # Install default config
+ install -d ${D}${PTEST_PATH}/src
+ install -m 0644 ${B}/src/squid.conf.default ${D}${PTEST_PATH}/src
- # Don't need these directories
- rm -rf ${D}${PTEST_PATH}/${sysconfdir}
- rm -rf ${D}${PTEST_PATH}/usr
- rm -rf ${D}${PTEST_PATH}/var
+ # autoconf.h is needed during squid-conf-tests
+ install -d ${D}${PTEST_PATH}/include
+ install -m 0644 ${B}/include/autoconf.h ${D}${PTEST_PATH}/include
# do NOT need to rebuild Makefile itself
sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # Add squid-conf-tests for runtime tests
- sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
- -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
# Ensure the path for command true is correct
sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
}
do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ # Install service unit file
+ install -d ${D}/${systemd_unitdir}/system
+ install ${S}/tools/systemd/squid.service ${D}/${systemd_unitdir}/system
+ sed -i 's:/var/run/:/run/:g' ${D}/${systemd_unitdir}/system/squid.service
+
+ # Configure tmpfiles.d
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
@@ -117,12 +127,20 @@
rmdir "${D}${localstatedir}/log/${BPN}"
rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
+
+ # Install NetworkManager dispatcher reload hooks
+ install -d ${D}${libdir}/NetworkManager/dispatcher.d
+ install -m 0755 ${WORKDIR}/squid.nm ${D}${libdir}/NetworkManager/dispatcher.d/20-squid
}
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE:${PN} = "squid.service"
+
FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
FILES:${PN}-dbg += "/usr/src/debug"
FILES:${PN}-doc += "${datadir}/*.txt"
-FILES:${PN}-ptest += "${sysconfdir}/squid/squid.conf.default"
+FILES:${PN}-conf += "${sysconfdir}/squid"
+FILES:${PN}-networkmanager = "${libdir}/NetworkManager/dispatcher.d"
-RDEPENDS:${PN} += "perl"
+RDEPENDS:${PN} += "perl ${PN}-conf"
RDEPENDS:${PN}-ptest += "perl make"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-tools-make-quiet-actually-suppress-output.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-tools-make-quiet-actually-suppress-output.patch
deleted file mode 100644
index 3e93cf3..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/0001-tools-make-quiet-actually-suppress-output.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 312d5ee1592f8c5b616d330233d1de2643f759e2 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@bisdn.de>
-Date: Thu, 14 Sep 2023 17:04:16 +0200
-Subject: [PATCH] tools: make --quiet actually suppress output
-
-When calling daemon_stop() with --quiet and e.g. the pidfile is empty,
-it won't return early since while "$fail" is set, "$2" is "--quiet", so
-the if condition isn't met and it will continue executing, resulting
-in error messages in the log:
-
-> Sep 14 14:48:33 localhost watchfrr[2085]: [YFT0P-5Q5YX] Forked background command [pid 2086]: /usr/lib/frr/watchfrr.sh restart all
-> Sep 14 14:48:33 localhost frrinit.sh[2075]: /usr/lib/frr/frrcommon.sh: line 216: kill: `': not a pid or valid job spec
-> Sep 14 14:48:33 localhost frrinit.sh[2075]: /usr/lib/frr/frrcommon.sh: line 216: kill: `': not a pid or valid job spec
-> Sep 14 14:48:33 localhost frrinit.sh[2075]: /usr/lib/frr/frrcommon.sh: line 216: kill: `': not a pid or valid job spec
-
-Fix this by moving the --quiet check into the block to log_failure_msg(),
-and also add the check to all other invocations of log_*_msg() to make
---quiet properly suppress output.
-
-Fixes: 19a99d89f088 ("tools: suppress unuseful warnings during restarting frr")
-Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
-Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/312d5ee1592f8c5b616d330233d1de2643f759e2]
----
- tools/frrcommon.sh.in | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tools/frrcommon.sh.in b/tools/frrcommon.sh.in
-index f1f70119097e..00b63a78e2bc 100755
---- a/tools/frrcommon.sh.in
-+++ b/tools/frrcommon.sh.in
-@@ -207,8 +207,8 @@ daemon_stop() {
- [ -z "$fail" -a -z "$pid" ] && fail="pid file is empty"
- [ -n "$fail" ] || kill -0 "$pid" 2>/dev/null || fail="pid $pid not running"
-
-- if [ -n "$fail" ] && [ "$2" != "--quiet" ]; then
-- log_failure_msg "Cannot stop $dmninst: $fail"
-+ if [ -n "$fail" ]; then
-+ [ "$2" = "--quiet" ] || log_failure_msg "Cannot stop $dmninst: $fail"
- return 1
- fi
-
-@@ -220,11 +220,11 @@ daemon_stop() {
- [ $(( cnt -= 1 )) -gt 0 ] || break
- done
- if kill -0 "$pid" 2>/dev/null; then
-- log_failure_msg "Failed to stop $dmninst, pid $pid still running"
-+ [ "$2" = "--quiet" ] || log_failure_msg "Failed to stop $dmninst, pid $pid still running"
- still_running=1
- return 1
- else
-- log_success_msg "Stopped $dmninst"
-+ [ "$2" = "--quiet" ] || log_success_msg "Stopped $dmninst"
- rm -f "$pidfile"
- return 0
- fi
---
-2.42.0
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch
deleted file mode 100644
index e1f3024..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From b08afc81c60607a4f736f418f2e3eb06087f1a35 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas@opensourcerouting.org>
-Date: Fri, 20 Oct 2023 17:49:18 +0300
-Subject: [PATCH] bgpd: Handle MP_REACH_NLRI malformed packets with session
- reset
-
-Avoid crashing bgpd.
-
-```
-(gdb)
-bgp_mp_reach_parse (args=<optimized out>, mp_update=0x7fffffffe140) at bgpd/bgp_attr.c:2341
-2341 stream_get(&attr->mp_nexthop_global, s, IPV6_MAX_BYTELEN);
-(gdb)
-stream_get (dst=0x7fffffffe1ac, s=0x7ffff0006e80, size=16) at lib/stream.c:320
-320 {
-(gdb)
-321 STREAM_VERIFY_SANE(s);
-(gdb)
-323 if (STREAM_READABLE(s) < size) {
-(gdb)
-34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
-(gdb)
-
-Thread 1 "bgpd" received signal SIGSEGV, Segmentation fault.
-0x00005555556e37be in route_set_aspath_prepend (rule=0x555555aac0d0, prefix=0x7fffffffe050,
- object=0x7fffffffdb00) at bgpd/bgp_routemap.c:2282
-2282 if (path->attr->aspath->refcnt)
-(gdb)
-```
-
-With the configuration:
-
-```
- neighbor 127.0.0.1 remote-as external
- neighbor 127.0.0.1 passive
- neighbor 127.0.0.1 ebgp-multihop
- neighbor 127.0.0.1 disable-connected-check
- neighbor 127.0.0.1 update-source 127.0.0.2
- neighbor 127.0.0.1 timers 3 90
- neighbor 127.0.0.1 timers connect 1
- address-family ipv4 unicast
- redistribute connected
- neighbor 127.0.0.1 default-originate
- neighbor 127.0.0.1 route-map RM_IN in
- exit-address-family
-!
-route-map RM_IN permit 10
- set as-path prepend 200
-exit
-```
-
-Reported-by: Iggy Frankovic <iggyfran@amazon.com>
-Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/b08afc81c60607a4f736f418f2e3eb06087f1a35]
-CVE: CVE-2023-46752
-Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
----
- bgpd/bgp_attr.c | 6 +-----
- bgpd/bgp_attr.h | 1 -
- bgpd/bgp_packet.c | 6 +-----
- 3 files changed, 2 insertions(+), 11 deletions(-)
-
-diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
-index 6925aff727e2..e7bb42a5d989 100644
---- a/bgpd/bgp_attr.c
-+++ b/bgpd/bgp_attr.c
-@@ -2421,7 +2421,7 @@ int bgp_mp_reach_parse(struct bgp_attr_parser_args *args,
-
- mp_update->afi = afi;
- mp_update->safi = safi;
-- return BGP_ATTR_PARSE_EOR;
-+ return bgp_attr_malformed(args, BGP_NOTIFY_UPDATE_MAL_ATTR, 0);
- }
-
- mp_update->afi = afi;
-@@ -3759,10 +3759,6 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
- goto done;
- }
-
-- if (ret == BGP_ATTR_PARSE_EOR) {
-- goto done;
-- }
--
- if (ret == BGP_ATTR_PARSE_ERROR) {
- flog_warn(EC_BGP_ATTRIBUTE_PARSE_ERROR,
- "%s: Attribute %s, parse error", peer->host,
-diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
-index 961e5f122470..fc347e7a1b4b 100644
---- a/bgpd/bgp_attr.h
-+++ b/bgpd/bgp_attr.h
-@@ -364,7 +364,6 @@ enum bgp_attr_parse_ret {
- /* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR
- */
- BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3,
-- BGP_ATTR_PARSE_EOR = -4,
- };
-
- struct bpacket_attr_vec_arr;
-diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
-index b585591e2f69..5ecf343b6657 100644
---- a/bgpd/bgp_packet.c
-+++ b/bgpd/bgp_packet.c
-@@ -2397,8 +2397,7 @@ static int bgp_update_receive(struct peer_connection *connection,
- * Non-MP IPv4/Unicast EoR is a completely empty UPDATE
- * and MP EoR should have only an empty MP_UNREACH
- */
-- if ((!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0)
-- || (attr_parse_ret == BGP_ATTR_PARSE_EOR)) {
-+ if (!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0) {
- afi_t afi = 0;
- safi_t safi;
- struct graceful_restart_info *gr_info;
-@@ -2419,9 +2418,6 @@ static int bgp_update_receive(struct peer_connection *connection,
- && nlris[NLRI_MP_WITHDRAW].length == 0) {
- afi = nlris[NLRI_MP_WITHDRAW].afi;
- safi = nlris[NLRI_MP_WITHDRAW].safi;
-- } else if (attr_parse_ret == BGP_ATTR_PARSE_EOR) {
-- afi = nlris[NLRI_MP_UPDATE].afi;
-- safi = nlris[NLRI_MP_UPDATE].safi;
- }
-
- if (afi && peer->afc[afi][safi]) {
---
-2.42.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch
deleted file mode 100644
index 6bf159a..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From d8482bf011cb2b173e85b65b4bf3d5061250cdb9 Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas@opensourcerouting.org>
-Date: Mon, 23 Oct 2023 23:34:10 +0300
-Subject: [PATCH] bgpd: Check mandatory attributes more carefully for UPDATE
- message
-
-If we send a crafted BGP UPDATE message without mandatory attributes, we do
-not check if the length of the path attributes is zero or not. We only check
-if attr->flag is at least set or not. Imagine we send only unknown transit
-attribute, then attr->flag is always 0. Also, this is true only if graceful-restart
-capability is received.
-
-A crash:
-
-```
-bgpd[7834]: [TJ23Y-GY0RH] 127.0.0.1 Unknown attribute is received (type 31, length 16)
-bgpd[7834]: [PCFFM-WMARW] 127.0.0.1(donatas-pc) rcvd UPDATE wlen 0 attrlen 20 alen 17
-BGP[7834]: Received signal 11 at 1698089639 (si_addr 0x0, PC 0x55eefd375b4a); aborting...
-BGP[7834]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x6d) [0x7f3205ca939d]
-BGP[7834]: /usr/local/lib/libfrr.so.0(zlog_signal+0xf3) [0x7f3205ca9593]
-BGP[7834]: /usr/local/lib/libfrr.so.0(+0xf5181) [0x7f3205cdd181]
-BGP[7834]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f3204ff3980]
-BGP[7834]: /usr/lib/frr/bgpd(+0x18ab4a) [0x55eefd375b4a]
-BGP[7834]: /usr/local/lib/libfrr.so.0(route_map_apply_ext+0x310) [0x7f3205cd1290]
-BGP[7834]: /usr/lib/frr/bgpd(+0x163610) [0x55eefd34e610]
-BGP[7834]: /usr/lib/frr/bgpd(bgp_update+0x9a5) [0x55eefd35c1d5]
-BGP[7834]: /usr/lib/frr/bgpd(bgp_nlri_parse_ip+0xb7) [0x55eefd35e867]
-BGP[7834]: /usr/lib/frr/bgpd(+0x1555e6) [0x55eefd3405e6]
-BGP[7834]: /usr/lib/frr/bgpd(bgp_process_packet+0x747) [0x55eefd345597]
-BGP[7834]: /usr/local/lib/libfrr.so.0(event_call+0x83) [0x7f3205cef4a3]
-BGP[7834]: /usr/local/lib/libfrr.so.0(frr_run+0xc0) [0x7f3205ca10a0]
-BGP[7834]: /usr/lib/frr/bgpd(main+0x409) [0x55eefd2dc979]
-```
-
-Sending:
-
-```
-import socket
-import time
-
-OPEN = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
-b"\xff\xff\x00\x62\x01\x04\xfd\xea\x00\x5a\x0a\x00\x00\x01\x45\x02"
-b"\x06\x01\x04\x00\x01\x00\x01\x02\x02\x02\x00\x02\x02\x46\x00\x02"
-b"\x06\x41\x04\x00\x00\xfd\xea\x02\x02\x06\x00\x02\x06\x45\x04\x00"
-b"\x01\x01\x03\x02\x0e\x49\x0c\x0a\x64\x6f\x6e\x61\x74\x61\x73\x2d"
-b"\x70\x63\x00\x02\x04\x40\x02\x00\x78\x02\x09\x47\x07\x00\x01\x01"
-b"\x80\x00\x00\x00")
-
-KEEPALIVE = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
-b"\xff\xff\xff\xff\xff\xff\x00\x13\x04")
-
-UPDATE = bytearray.fromhex("ffffffffffffffffffffffffffffffff003c0200000014ff1f001000040146464646460004464646464646664646f50d05800100010200ffff000000")
-
-s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-s.connect(('127.0.0.2', 179))
-s.send(OPEN)
-data = s.recv(1024)
-s.send(KEEPALIVE)
-data = s.recv(1024)
-s.send(UPDATE)
-data = s.recv(1024)
-time.sleep(1000)
-s.close()
-```
-
-Reported-by: Iggy Frankovic <iggyfran@amazon.com>
-Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/d8482bf011cb2b173e85b65b4bf3d5061250cdb9]
-CVE: CVE-2023-46753
-Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
----
- bgpd/bgp_attr.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
-index e7bb42a5d989..cf2dbe65b805 100644
---- a/bgpd/bgp_attr.c
-+++ b/bgpd/bgp_attr.c
-@@ -3385,13 +3385,15 @@ bgp_attr_unknown(struct bgp_attr_parser_args *args)
- }
-
- /* Well-known attribute check. */
--static int bgp_attr_check(struct peer *peer, struct attr *attr)
-+static int bgp_attr_check(struct peer *peer, struct attr *attr,
-+ bgp_size_t length)
- {
- uint8_t type = 0;
-
- /* BGP Graceful-Restart End-of-RIB for IPv4 unicast is signaled as an
- * empty UPDATE. */
-- if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag)
-+ if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag &&
-+ !length)
- return BGP_ATTR_PARSE_PROCEED;
-
- /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
-@@ -3443,7 +3445,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
- enum bgp_attr_parse_ret ret;
- uint8_t flag = 0;
- uint8_t type = 0;
-- bgp_size_t length;
-+ bgp_size_t length = 0;
- uint8_t *startp, *endp;
- uint8_t *attr_endp;
- uint8_t seen[BGP_ATTR_BITMAP_SIZE];
-@@ -3831,7 +3833,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
- }
-
- /* Check all mandatory well-known attributes are present */
-- ret = bgp_attr_check(peer, attr);
-+ ret = bgp_attr_check(peer, attr, length);
- if (ret < 0)
- goto done;
-
---
-2.42.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch
deleted file mode 100644
index 754f934..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From c37119df45bbf4ef713bc10475af2ee06e12f3bf Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas@opensourcerouting.org>
-Date: Sun, 29 Oct 2023 22:44:45 +0200
-Subject: [PATCH] bgpd: Ignore handling NLRIs if we received MP_UNREACH_NLRI
-
-If we receive MP_UNREACH_NLRI, we should stop handling remaining NLRIs if
-no mandatory path attributes received.
-
-In other words, if MP_UNREACH_NLRI received, the remaining NLRIs should be handled
-as a new data, but without mandatory attributes, it's a malformed packet.
-
-In normal case, this MUST not happen at all, but to avoid crashing bgpd, we MUST
-handle that.
-
-Reported-by: Iggy Frankovic <iggyfran@amazon.com>
-Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/c37119df45bbf4ef713bc10475af2ee06e12f3bf]
-CVE: CVE-2023-47234
-Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
----
- bgpd/bgp_attr.c | 19 ++++++++++---------
- bgpd/bgp_attr.h | 1 +
- bgpd/bgp_packet.c | 7 ++++++-
- 3 files changed, 17 insertions(+), 10 deletions(-)
-
-diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
-index 1473dc772502..75aa2ac7cce6 100644
---- a/bgpd/bgp_attr.c
-+++ b/bgpd/bgp_attr.c
-@@ -3399,15 +3399,6 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
- !length)
- return BGP_ATTR_PARSE_WITHDRAW;
-
-- /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
-- to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
-- are present, it should. Check for any other attribute being present
-- instead.
-- */
-- if ((!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
-- CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI))))
-- return BGP_ATTR_PARSE_PROCEED;
--
- if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_ORIGIN)))
- type = BGP_ATTR_ORIGIN;
-
-@@ -3426,6 +3417,16 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
- && !CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF)))
- type = BGP_ATTR_LOCAL_PREF;
-
-+ /* An UPDATE message that contains the MP_UNREACH_NLRI is not required
-+ * to carry any other path attributes. Though if MP_REACH_NLRI or NLRI
-+ * are present, it should. Check for any other attribute being present
-+ * instead.
-+ */
-+ if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
-+ CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI)))
-+ return type ? BGP_ATTR_PARSE_MISSING_MANDATORY
-+ : BGP_ATTR_PARSE_PROCEED;
-+
- /* If any of the well-known mandatory attributes are not present
- * in an UPDATE message, then "treat-as-withdraw" MUST be used.
- */
-diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
-index fc347e7a1b4b..d30155e6dba0 100644
---- a/bgpd/bgp_attr.h
-+++ b/bgpd/bgp_attr.h
-@@ -364,6 +364,7 @@ enum bgp_attr_parse_ret {
- /* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR
- */
- BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3,
-+ BGP_ATTR_PARSE_MISSING_MANDATORY = -4,
- };
-
- struct bpacket_attr_vec_arr;
-diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
-index a7514a26aa64..5dc35157ebf6 100644
---- a/bgpd/bgp_packet.c
-+++ b/bgpd/bgp_packet.c
-@@ -2359,7 +2359,12 @@ static int bgp_update_receive(struct peer_connection *connection,
- /* Network Layer Reachability Information. */
- update_len = end - stream_pnt(s);
-
-- if (update_len && attribute_len) {
-+ /* If we received MP_UNREACH_NLRI attribute, but also NLRIs, then
-+ * NLRIs should be handled as a new data. Though, if we received
-+ * NLRIs without mandatory attributes, they should be ignored.
-+ */
-+ if (update_len && attribute_len &&
-+ attr_parse_ret != BGP_ATTR_PARSE_MISSING_MANDATORY) {
- /* Set NLRI portion to structure. */
- nlris[NLRI_UPDATE].afi = AFI_IP;
- nlris[NLRI_UPDATE].safi = SAFI_UNICAST;
---
-2.42.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch
deleted file mode 100644
index b06ba94..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 6814f2e0138a6ea5e1f83bdd9085d9a77999900b Mon Sep 17 00:00:00 2001
-From: Donatas Abraitis <donatas@opensourcerouting.org>
-Date: Fri, 27 Oct 2023 11:56:45 +0300
-Subject: [PATCH] bgpd: Treat EOR as withdrawn to avoid unwanted handling of
- malformed attrs
-
-Treat-as-withdraw, otherwise if we just ignore it, we will pass it to be
-processed as a normal UPDATE without mandatory attributes, that could lead
-to harmful behavior. In this case, a crash for route-maps with the configuration
-such as:
-
-```
-router bgp 65001
- no bgp ebgp-requires-policy
- neighbor 127.0.0.1 remote-as external
- neighbor 127.0.0.1 passive
- neighbor 127.0.0.1 ebgp-multihop
- neighbor 127.0.0.1 disable-connected-check
- neighbor 127.0.0.1 update-source 127.0.0.2
- neighbor 127.0.0.1 timers 3 90
- neighbor 127.0.0.1 timers connect 1
- !
- address-family ipv4 unicast
- neighbor 127.0.0.1 addpath-tx-all-paths
- neighbor 127.0.0.1 default-originate
- neighbor 127.0.0.1 route-map RM_IN in
- exit-address-family
-exit
-!
-route-map RM_IN permit 10
- set as-path prepend 200
-exit
-```
-
-Send a malformed optional transitive attribute:
-
-```
-import socket
-import time
-
-OPEN = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
-b"\xff\xff\x00\x62\x01\x04\xfd\xea\x00\x5a\x0a\x00\x00\x01\x45\x02"
-b"\x06\x01\x04\x00\x01\x00\x01\x02\x02\x02\x00\x02\x02\x46\x00\x02"
-b"\x06\x41\x04\x00\x00\xfd\xea\x02\x02\x06\x00\x02\x06\x45\x04\x00"
-b"\x01\x01\x03\x02\x0e\x49\x0c\x0a\x64\x6f\x6e\x61\x74\x61\x73\x2d"
-b"\x70\x63\x00\x02\x04\x40\x02\x00\x78\x02\x09\x47\x07\x00\x01\x01"
-b"\x80\x00\x00\x00")
-
-KEEPALIVE = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
-b"\xff\xff\xff\xff\xff\xff\x00\x13\x04")
-
-UPDATE = bytearray.fromhex("ffffffffffffffffffffffffffffffff002b0200000003c0ff00010100eb00ac100b0b001ad908ac100b0b")
-
-s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-s.connect(('127.0.0.2', 179))
-s.send(OPEN)
-data = s.recv(1024)
-s.send(KEEPALIVE)
-data = s.recv(1024)
-s.send(UPDATE)
-data = s.recv(1024)
-time.sleep(100)
-s.close()
-```
-
-Reported-by: Iggy Frankovic <iggyfran@amazon.com>
-Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/6814f2e0138a6ea5e1f83bdd9085d9a77999900b]
-CVE: CVE-2023-47235
-Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
----
- bgpd/bgp_attr.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
-index cf2dbe65b805..1473dc772502 100644
---- a/bgpd/bgp_attr.c
-+++ b/bgpd/bgp_attr.c
-@@ -3391,10 +3391,13 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
- uint8_t type = 0;
-
- /* BGP Graceful-Restart End-of-RIB for IPv4 unicast is signaled as an
-- * empty UPDATE. */
-+ * empty UPDATE. Treat-as-withdraw, otherwise if we just ignore it,
-+ * we will pass it to be processed as a normal UPDATE without mandatory
-+ * attributes, that could lead to harmful behavior.
-+ */
- if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag &&
- !length)
-- return BGP_ATTR_PARSE_PROCEED;
-+ return BGP_ATTR_PARSE_WITHDRAW;
-
- /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
- to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
-@@ -3889,7 +3892,13 @@ done:
- aspath_unintern(&as4_path);
-
- transit = bgp_attr_get_transit(attr);
-- if (ret != BGP_ATTR_PARSE_ERROR) {
-+ /* If we received an UPDATE with mandatory attributes, then
-+ * the unrecognized transitive optional attribute of that
-+ * path MUST be passed. Otherwise, it's an error, and from
-+ * security perspective it might be very harmful if we continue
-+ * here with the unrecognized attributes.
-+ */
-+ if (ret == BGP_ATTR_PARSE_PROCEED) {
- /* Finally intern unknown attribute. */
- if (transit)
- bgp_attr_set_transit(attr, transit_intern(transit));
---
-2.42.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb
rename to meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
index c447df0..9db6710 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
@@ -11,16 +11,11 @@
PR = "r1"
-SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/9.0 \
+SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/9.1 \
file://frr.pam \
- file://0001-tools-make-quiet-actually-suppress-output.patch \
- file://CVE-2023-46752.patch \
- file://CVE-2023-46753.patch \
- file://CVE-2023-47235.patch \
- file://CVE-2023-47234.patch \
"
-SRCREV = "31ed3dd753d62b5d8916998bc32814007e91364b"
+SRCREV = "312faf8008bb4f3b9e84b8e2758cd2cbdf5742b5"
UPSTREAM_CHECK_GITTAGREGEX = "frr-(?P<pver>\d+(\.\d+)+)$"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb b/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb
index c81322e..65f2f80 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb
@@ -11,3 +11,7 @@
S = "${WORKDIR}/git"
inherit meson pkgconfig
+
+do_configure:prepend() {
+ echo ${PV} > ${S}/.tarball-version
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
index 3d34f22..82ce706 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
@@ -52,6 +52,10 @@
GTKDOC_MESON_ENABLE_FLAG = 'enabled'
GTKDOC_MESON_DISABLE_FLAG = 'disabled'
+do_configure:prepend() {
+ echo ${PV} > ${S}/.tarball-version
+}
+
PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)} smartcard"
PACKAGECONFIG[vapi] = "-Dvapi=enabled,-Dvapi=disabled"
PACKAGECONFIG[smartcard] = "-Dsmartcard=enabled,-Dsmartcard=disabled,libcacard"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index a1f3010..419316a 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -30,6 +30,10 @@
export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
+do_configure:prepend() {
+ echo ${PV} > ${S}/.tarball-version
+}
+
PACKAGECONFIG:class-native = ""
PACKAGECONFIG:class-nativesdk = ""
PACKAGECONFIG ?= "sasl opus smartcard gstreamer"
diff --git a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index 33aff7f..9182acf 100644
--- a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -31,7 +31,6 @@
nlohmann-json \
nodejs \
onig \
- poco \
protobuf \
sdbus-c++ \
uthash \
@@ -51,6 +50,7 @@
libusb-compat \
rsyslog \
mariadb \
+ poco \
re2 \
"
PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.3.1.bb
similarity index 95%
rename from meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb
rename to meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.3.1.bb
index 52bcffe..868887a 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.3.1.bb
@@ -7,7 +7,7 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-SRC_URI[sha256sum] = "a54953c53c0ee72a1aa270bc018db7cc853f56ca29e2c98938ff4138109fd41a"
+SRC_URI[sha256sum] = "52e9aa97b39a3309ba5f3a2e0dc127ebe04cadfefc8eb57222a9ebd32e8faa16"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch
deleted file mode 100644
index 9b8b7d0..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 6cafe8445fd1e04e5f7d67bbc73029a538d1b253 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Tue, 9 Aug 2022 14:41:25 -0600
-Subject: [PATCH] Fio 3.31
-
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- FIO-VERSION-GEN | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
-index fa64f50f..72630dd0 100755
---- a/FIO-VERSION-GEN
-+++ b/FIO-VERSION-GEN
-@@ -1,7 +1,7 @@
- #!/bin/sh
-
- GVF=FIO-VERSION-FILE
--DEF_VER=fio-3.30
-+DEF_VER=fio-3.31
-
- LF='
- '
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch
deleted file mode 100644
index 1650656..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 40ba7a05de6a08cfd382b116f76dbeaa7237df45 Mon Sep 17 00:00:00 2001
-From: Sungup Moon <sungup.moon@samsung.com>
-Date: Mon, 8 Aug 2022 17:21:46 +0900
-Subject: [PATCH] lib/rand: Enhance __fill_random_buf using the multi random
- seed
-
-The __fill_random_buf fills a buffer using the random 8byte integer to
-write. But, this mechanism is depend on the CPU performance and could
-not reach the max performance on the PCIe Gen5 devices. I have tested
-128KB single worker sequential write on PCIe Gen5 NVMe, but it cannot
-reach write throughput 6.0GB/s.
-
-So, I have reviewed the __fill_random_buf and focused the multiplier
-dependency to generate the random number. So, I have changed
-__fill_random_buf using the multiple-random-seed to reduce the
-dependencies in the small data filling loop.
-
-I'll attach detail analysis result in the PR of this branch.
-
-Signed-off-by: Sungup Moon <sungup.moon@samsung.com>
----
- configure | 17 +++++++++++++++++
- lib/rand.c | 37 ++++++++++++++++++++++++++++++++++++-
- 2 files changed, 53 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 36450df8..a2b9bd4c 100755
---- a/configure
-+++ b/configure
-@@ -116,6 +116,10 @@ has() {
- type "$1" >/dev/null 2>&1
- }
-
-+num() {
-+ echo "$1" | grep -P -q "^[0-9]+$"
-+}
-+
- check_define() {
- cat > $TMPC <<EOF
- #if !defined($1)
-@@ -174,6 +178,7 @@ libnfs=""
- xnvme=""
- libzbc=""
- dfs=""
-+seed_buckets=""
- dynamic_engines="no"
- prefix=/usr/local
-
-@@ -255,6 +260,8 @@ for opt do
- ;;
- --enable-asan) asan="yes"
- ;;
-+ --seed-buckets=*) seed_buckets="$optarg"
-+ ;;
- --help)
- show_help="yes"
- ;;
-@@ -302,6 +309,7 @@ if test "$show_help" = "yes" ; then
- echo "--dynamic-libengines Lib-based ioengines as dynamic libraries"
- echo "--disable-dfs Disable DAOS File System support even if found"
- echo "--enable-asan Enable address sanitizer"
-+ echo "--seed-buckets= Number of seed buckets for the refill-buffer"
- exit $exit_val
- fi
-
-@@ -3273,6 +3281,15 @@ if test "$disable_tcmalloc" != "yes"; then
- fi
- fi
- print_config "TCMalloc support" "$tcmalloc"
-+if ! num "$seed_buckets"; then
-+ seed_buckets=4
-+elif test "$seed_buckets" -lt 2; then
-+ seed_buckets=2
-+elif test "$seed_buckets" -gt 16; then
-+ seed_buckets=16
-+fi
-+echo "#define CONFIG_SEED_BUCKETS $seed_buckets" >> $config_host_h
-+print_config "seed_buckets" "$seed_buckets"
-
- echo "LIBS+=$LIBS" >> $config_host_mak
- echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak
-diff --git a/lib/rand.c b/lib/rand.c
-index 1e669116..1ce4a849 100644
---- a/lib/rand.c
-+++ b/lib/rand.c
-@@ -95,7 +95,7 @@ void init_rand_seed(struct frand_state *state, uint64_t seed, bool use64)
- __init_rand64(&state->state64, seed);
- }
-
--void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
-+void __fill_random_buf_small(void *buf, unsigned int len, uint64_t seed)
- {
- uint64_t *b = buf;
- uint64_t *e = b + len / sizeof(*b);
-@@ -110,6 +110,41 @@ void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
- __builtin_memcpy(e, &seed, rest);
- }
-
-+void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
-+{
-+#define MAX_SEED_BUCKETS 16
-+ static uint64_t prime[MAX_SEED_BUCKETS] = {1, 2, 3, 5,
-+ 7, 11, 13, 17,
-+ 19, 23, 29, 31,
-+ 37, 41, 43, 47};
-+
-+ uint64_t *b, *e, s[CONFIG_SEED_BUCKETS];
-+ unsigned int rest;
-+ int p;
-+
-+ /*
-+ * Calculate the max index which is multiples of the seed buckets.
-+ */
-+ rest = (len / sizeof(*b) / CONFIG_SEED_BUCKETS) * CONFIG_SEED_BUCKETS;
-+
-+ b = buf;
-+ e = b + rest;
-+
-+ rest = len - (rest * sizeof(*b));
-+
-+ for (p = 0; p < CONFIG_SEED_BUCKETS; p++)
-+ s[p] = seed * prime[p];
-+
-+ for (; b != e; b += CONFIG_SEED_BUCKETS) {
-+ for (p = 0; p < CONFIG_SEED_BUCKETS; ++p) {
-+ b[p] = s[p];
-+ s[p] = __hash_u64(s[p]);
-+ }
-+ }
-+
-+ __fill_random_buf_small(b, rest, s[0]);
-+}
-+
- uint64_t fill_random_buf(struct frand_state *fs, void *buf,
- unsigned int len)
- {
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch
deleted file mode 100644
index fc4af0a..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f4dd3f2ad435a75862ad3f34a661b169f72c7885 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Wed, 10 Aug 2022 09:51:49 -0600
-Subject: [PATCH] lib/rand: get rid of unused MAX_SEED_BUCKETS
-
-It's only used to size the array, we don't need it.
-
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- lib/rand.c | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/lib/rand.c b/lib/rand.c
-index 1ce4a849..0e787a62 100644
---- a/lib/rand.c
-+++ b/lib/rand.c
-@@ -112,12 +112,8 @@ void __fill_random_buf_small(void *buf, unsigned int len, uint64_t seed)
-
- void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
- {
--#define MAX_SEED_BUCKETS 16
-- static uint64_t prime[MAX_SEED_BUCKETS] = {1, 2, 3, 5,
-- 7, 11, 13, 17,
-- 19, 23, 29, 31,
-- 37, 41, 43, 47};
--
-+ static uint64_t prime[] = {1, 2, 3, 5, 7, 11, 13, 17,
-+ 19, 23, 29, 31, 37, 41, 43, 47};
- uint64_t *b, *e, s[CONFIG_SEED_BUCKETS];
- unsigned int rest;
- int p;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch
deleted file mode 100644
index 1b59ad3..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch
+++ /dev/null
@@ -1,800 +0,0 @@
-From 1cfbaff9806f17c2afbabe79c1c87b96eba7f35a Mon Sep 17 00:00:00 2001
-From: "Friendy.Su@sony.com" <Friendy.Su@sony.com>
-Date: Mon, 8 Aug 2022 08:35:50 +0000
-Subject: [PATCH] ioengines: merge filecreate, filestat, filedelete engines to
- fileoperations.c
-
-file operation engines have similar structure, implement them
-in one file.
-
-Signed-off-by: friendy-su <friendy.su@sony.com>
----
- Makefile | 2 +-
- engines/filecreate.c | 118 ---------------
- engines/filedelete.c | 115 --------------
- engines/fileoperations.c | 318 +++++++++++++++++++++++++++++++++++++++
- engines/filestat.c | 190 -----------------------
- 5 files changed, 319 insertions(+), 424 deletions(-)
- delete mode 100644 engines/filecreate.c
- delete mode 100644 engines/filedelete.c
- create mode 100644 engines/fileoperations.c
- delete mode 100644 engines/filestat.c
-
-diff --git a/Makefile b/Makefile
-index 188a74d7..634d2c93 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ SOURCE := $(sort $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/crc/*.c)) \
- pshared.c options.c \
- smalloc.c filehash.c profile.c debug.c engines/cpu.c \
- engines/mmap.c engines/sync.c engines/null.c engines/net.c \
-- engines/ftruncate.c engines/filecreate.c engines/filestat.c engines/filedelete.c \
-+ engines/ftruncate.c engines/fileoperations.c \
- engines/exec.c \
- server.c client.c iolog.c backend.c libfio.c flow.c cconv.c \
- gettime-thread.c helpers.c json.c idletime.c td_error.c \
-diff --git a/engines/filecreate.c b/engines/filecreate.c
-deleted file mode 100644
-index 7884752d..00000000
---- a/engines/filecreate.c
-+++ /dev/null
-@@ -1,118 +0,0 @@
--/*
-- * filecreate engine
-- *
-- * IO engine that doesn't do any IO, just creates files and tracks the latency
-- * of the file creation.
-- */
--#include <stdio.h>
--#include <fcntl.h>
--#include <errno.h>
--
--#include "../fio.h"
--
--struct fc_data {
-- enum fio_ddir stat_ddir;
--};
--
--static int open_file(struct thread_data *td, struct fio_file *f)
--{
-- struct timespec start;
-- int do_lat = !td->o.disable_lat;
--
-- dprint(FD_FILE, "fd open %s\n", f->file_name);
--
-- if (f->filetype != FIO_TYPE_FILE) {
-- log_err("fio: only files are supported\n");
-- return 1;
-- }
-- if (!strcmp(f->file_name, "-")) {
-- log_err("fio: can't read/write to stdin/out\n");
-- return 1;
-- }
--
-- if (do_lat)
-- fio_gettime(&start, NULL);
--
-- f->fd = open(f->file_name, O_CREAT|O_RDWR, 0600);
--
-- if (f->fd == -1) {
-- char buf[FIO_VERROR_SIZE];
-- int e = errno;
--
-- snprintf(buf, sizeof(buf), "open(%s)", f->file_name);
-- td_verror(td, e, buf);
-- return 1;
-- }
--
-- if (do_lat) {
-- struct fc_data *data = td->io_ops_data;
-- uint64_t nsec;
--
-- nsec = ntime_since_now(&start);
-- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-- }
--
-- return 0;
--}
--
--static enum fio_q_status queue_io(struct thread_data *td,
-- struct io_u fio_unused *io_u)
--{
-- return FIO_Q_COMPLETED;
--}
--
--/*
-- * Ensure that we at least have a block size worth of IO to do for each
-- * file. If the job file has td->o.size < nr_files * block_size, then
-- * fio won't do anything.
-- */
--static int get_file_size(struct thread_data *td, struct fio_file *f)
--{
-- f->real_file_size = td_min_bs(td);
-- return 0;
--}
--
--static int init(struct thread_data *td)
--{
-- struct fc_data *data;
--
-- data = calloc(1, sizeof(*data));
--
-- if (td_read(td))
-- data->stat_ddir = DDIR_READ;
-- else if (td_write(td))
-- data->stat_ddir = DDIR_WRITE;
--
-- td->io_ops_data = data;
-- return 0;
--}
--
--static void cleanup(struct thread_data *td)
--{
-- struct fc_data *data = td->io_ops_data;
--
-- free(data);
--}
--
--static struct ioengine_ops ioengine = {
-- .name = "filecreate",
-- .version = FIO_IOOPS_VERSION,
-- .init = init,
-- .cleanup = cleanup,
-- .queue = queue_io,
-- .get_file_size = get_file_size,
-- .open_file = open_file,
-- .close_file = generic_close_file,
-- .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO |
-- FIO_NOSTATS | FIO_NOFILEHASH,
--};
--
--static void fio_init fio_filecreate_register(void)
--{
-- register_ioengine(&ioengine);
--}
--
--static void fio_exit fio_filecreate_unregister(void)
--{
-- unregister_ioengine(&ioengine);
--}
-diff --git a/engines/filedelete.c b/engines/filedelete.c
-deleted file mode 100644
-index df388ac9..00000000
---- a/engines/filedelete.c
-+++ /dev/null
-@@ -1,115 +0,0 @@
--/*
-- * file delete engine
-- *
-- * IO engine that doesn't do any IO, just delete files and track the latency
-- * of the file deletion.
-- */
--#include <stdio.h>
--#include <fcntl.h>
--#include <errno.h>
--#include <sys/types.h>
--#include <unistd.h>
--#include "../fio.h"
--
--struct fc_data {
-- enum fio_ddir stat_ddir;
--};
--
--static int delete_file(struct thread_data *td, struct fio_file *f)
--{
-- struct timespec start;
-- int do_lat = !td->o.disable_lat;
-- int ret;
--
-- dprint(FD_FILE, "fd delete %s\n", f->file_name);
--
-- if (f->filetype != FIO_TYPE_FILE) {
-- log_err("fio: only files are supported\n");
-- return 1;
-- }
-- if (!strcmp(f->file_name, "-")) {
-- log_err("fio: can't read/write to stdin/out\n");
-- return 1;
-- }
--
-- if (do_lat)
-- fio_gettime(&start, NULL);
--
-- ret = unlink(f->file_name);
--
-- if (ret == -1) {
-- char buf[FIO_VERROR_SIZE];
-- int e = errno;
--
-- snprintf(buf, sizeof(buf), "delete(%s)", f->file_name);
-- td_verror(td, e, buf);
-- return 1;
-- }
--
-- if (do_lat) {
-- struct fc_data *data = td->io_ops_data;
-- uint64_t nsec;
--
-- nsec = ntime_since_now(&start);
-- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-- }
--
-- return 0;
--}
--
--
--static enum fio_q_status queue_io(struct thread_data *td, struct io_u fio_unused *io_u)
--{
-- return FIO_Q_COMPLETED;
--}
--
--static int init(struct thread_data *td)
--{
-- struct fc_data *data;
--
-- data = calloc(1, sizeof(*data));
--
-- if (td_read(td))
-- data->stat_ddir = DDIR_READ;
-- else if (td_write(td))
-- data->stat_ddir = DDIR_WRITE;
--
-- td->io_ops_data = data;
-- return 0;
--}
--
--static int delete_invalidate(struct thread_data *td, struct fio_file *f)
--{
-- /* do nothing because file not opened */
-- return 0;
--}
--
--static void cleanup(struct thread_data *td)
--{
-- struct fc_data *data = td->io_ops_data;
--
-- free(data);
--}
--
--static struct ioengine_ops ioengine = {
-- .name = "filedelete",
-- .version = FIO_IOOPS_VERSION,
-- .init = init,
-- .invalidate = delete_invalidate,
-- .cleanup = cleanup,
-- .queue = queue_io,
-- .get_file_size = generic_get_file_size,
-- .open_file = delete_file,
-- .flags = FIO_SYNCIO | FIO_FAKEIO |
-- FIO_NOSTATS | FIO_NOFILEHASH,
--};
--
--static void fio_init fio_filedelete_register(void)
--{
-- register_ioengine(&ioengine);
--}
--
--static void fio_exit fio_filedelete_unregister(void)
--{
-- unregister_ioengine(&ioengine);
--}
-diff --git a/engines/fileoperations.c b/engines/fileoperations.c
-new file mode 100644
-index 00000000..1db60da1
---- /dev/null
-+++ b/engines/fileoperations.c
-@@ -0,0 +1,318 @@
-+/*
-+ * fileoperations engine
-+ *
-+ * IO engine that doesn't do any IO, just operates files and tracks the latency
-+ * of the file operation.
-+ */
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include "../fio.h"
-+#include "../optgroup.h"
-+#include "../oslib/statx.h"
-+
-+
-+struct fc_data {
-+ enum fio_ddir stat_ddir;
-+};
-+
-+struct filestat_options {
-+ void *pad;
-+ unsigned int stat_type;
-+};
-+
-+enum {
-+ FIO_FILESTAT_STAT = 1,
-+ FIO_FILESTAT_LSTAT = 2,
-+ FIO_FILESTAT_STATX = 3,
-+};
-+
-+static struct fio_option options[] = {
-+ {
-+ .name = "stat_type",
-+ .lname = "stat_type",
-+ .type = FIO_OPT_STR,
-+ .off1 = offsetof(struct filestat_options, stat_type),
-+ .help = "Specify stat system call type to measure lookup/getattr performance",
-+ .def = "stat",
-+ .posval = {
-+ { .ival = "stat",
-+ .oval = FIO_FILESTAT_STAT,
-+ .help = "Use stat(2)",
-+ },
-+ { .ival = "lstat",
-+ .oval = FIO_FILESTAT_LSTAT,
-+ .help = "Use lstat(2)",
-+ },
-+ { .ival = "statx",
-+ .oval = FIO_FILESTAT_STATX,
-+ .help = "Use statx(2) if exists",
-+ },
-+ },
-+ .category = FIO_OPT_C_ENGINE,
-+ .group = FIO_OPT_G_FILESTAT,
-+ },
-+ {
-+ .name = NULL,
-+ },
-+};
-+
-+
-+static int open_file(struct thread_data *td, struct fio_file *f)
-+{
-+ struct timespec start;
-+ int do_lat = !td->o.disable_lat;
-+
-+ dprint(FD_FILE, "fd open %s\n", f->file_name);
-+
-+ if (f->filetype != FIO_TYPE_FILE) {
-+ log_err("fio: only files are supported\n");
-+ return 1;
-+ }
-+ if (!strcmp(f->file_name, "-")) {
-+ log_err("fio: can't read/write to stdin/out\n");
-+ return 1;
-+ }
-+
-+ if (do_lat)
-+ fio_gettime(&start, NULL);
-+
-+ f->fd = open(f->file_name, O_CREAT|O_RDWR, 0600);
-+
-+ if (f->fd == -1) {
-+ char buf[FIO_VERROR_SIZE];
-+ int e = errno;
-+
-+ snprintf(buf, sizeof(buf), "open(%s)", f->file_name);
-+ td_verror(td, e, buf);
-+ return 1;
-+ }
-+
-+ if (do_lat) {
-+ struct fc_data *data = td->io_ops_data;
-+ uint64_t nsec;
-+
-+ nsec = ntime_since_now(&start);
-+ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-+ }
-+
-+ return 0;
-+}
-+
-+static int stat_file(struct thread_data *td, struct fio_file *f)
-+{
-+ struct filestat_options *o = td->eo;
-+ struct timespec start;
-+ int do_lat = !td->o.disable_lat;
-+ struct stat statbuf;
-+#ifndef WIN32
-+ struct statx statxbuf;
-+ char *abspath;
-+#endif
-+ int ret;
-+
-+ dprint(FD_FILE, "fd stat %s\n", f->file_name);
-+
-+ if (f->filetype != FIO_TYPE_FILE) {
-+ log_err("fio: only files are supported\n");
-+ return 1;
-+ }
-+ if (!strcmp(f->file_name, "-")) {
-+ log_err("fio: can't read/write to stdin/out\n");
-+ return 1;
-+ }
-+
-+ if (do_lat)
-+ fio_gettime(&start, NULL);
-+
-+ switch (o->stat_type) {
-+ case FIO_FILESTAT_STAT:
-+ ret = stat(f->file_name, &statbuf);
-+ break;
-+ case FIO_FILESTAT_LSTAT:
-+ ret = lstat(f->file_name, &statbuf);
-+ break;
-+ case FIO_FILESTAT_STATX:
-+#ifndef WIN32
-+ abspath = realpath(f->file_name, NULL);
-+ if (abspath) {
-+ ret = statx(-1, abspath, 0, STATX_ALL, &statxbuf);
-+ free(abspath);
-+ } else
-+ ret = -1;
-+#else
-+ ret = -1;
-+#endif
-+ break;
-+ default:
-+ ret = -1;
-+ break;
-+ }
-+
-+ if (ret == -1) {
-+ char buf[FIO_VERROR_SIZE];
-+ int e = errno;
-+
-+ snprintf(buf, sizeof(buf), "stat(%s) type=%u", f->file_name,
-+ o->stat_type);
-+ td_verror(td, e, buf);
-+ return 1;
-+ }
-+
-+ if (do_lat) {
-+ struct fc_data *data = td->io_ops_data;
-+ uint64_t nsec;
-+
-+ nsec = ntime_since_now(&start);
-+ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-+ }
-+
-+ return 0;
-+}
-+
-+
-+static int delete_file(struct thread_data *td, struct fio_file *f)
-+{
-+ struct timespec start;
-+ int do_lat = !td->o.disable_lat;
-+ int ret;
-+
-+ dprint(FD_FILE, "fd delete %s\n", f->file_name);
-+
-+ if (f->filetype != FIO_TYPE_FILE) {
-+ log_err("fio: only files are supported\n");
-+ return 1;
-+ }
-+ if (!strcmp(f->file_name, "-")) {
-+ log_err("fio: can't read/write to stdin/out\n");
-+ return 1;
-+ }
-+
-+ if (do_lat)
-+ fio_gettime(&start, NULL);
-+
-+ ret = unlink(f->file_name);
-+
-+ if (ret == -1) {
-+ char buf[FIO_VERROR_SIZE];
-+ int e = errno;
-+
-+ snprintf(buf, sizeof(buf), "delete(%s)", f->file_name);
-+ td_verror(td, e, buf);
-+ return 1;
-+ }
-+
-+ if (do_lat) {
-+ struct fc_data *data = td->io_ops_data;
-+ uint64_t nsec;
-+
-+ nsec = ntime_since_now(&start);
-+ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-+ }
-+
-+ return 0;
-+}
-+
-+static int invalidate_do_nothing(struct thread_data *td, struct fio_file *f)
-+{
-+ /* do nothing because file not opened */
-+ return 0;
-+}
-+
-+static enum fio_q_status queue_io(struct thread_data *td, struct io_u *io_u)
-+{
-+ return FIO_Q_COMPLETED;
-+}
-+
-+/*
-+ * Ensure that we at least have a block size worth of IO to do for each
-+ * file. If the job file has td->o.size < nr_files * block_size, then
-+ * fio won't do anything.
-+ */
-+static int get_file_size(struct thread_data *td, struct fio_file *f)
-+{
-+ f->real_file_size = td_min_bs(td);
-+ return 0;
-+}
-+
-+static int init(struct thread_data *td)
-+{
-+ struct fc_data *data;
-+
-+ data = calloc(1, sizeof(*data));
-+
-+ if (td_read(td))
-+ data->stat_ddir = DDIR_READ;
-+ else if (td_write(td))
-+ data->stat_ddir = DDIR_WRITE;
-+
-+ td->io_ops_data = data;
-+ return 0;
-+}
-+
-+static void cleanup(struct thread_data *td)
-+{
-+ struct fc_data *data = td->io_ops_data;
-+
-+ free(data);
-+}
-+
-+static struct ioengine_ops ioengine_filecreate = {
-+ .name = "filecreate",
-+ .version = FIO_IOOPS_VERSION,
-+ .init = init,
-+ .cleanup = cleanup,
-+ .queue = queue_io,
-+ .get_file_size = get_file_size,
-+ .open_file = open_file,
-+ .close_file = generic_close_file,
-+ .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO |
-+ FIO_NOSTATS | FIO_NOFILEHASH,
-+};
-+
-+static struct ioengine_ops ioengine_filestat = {
-+ .name = "filestat",
-+ .version = FIO_IOOPS_VERSION,
-+ .init = init,
-+ .cleanup = cleanup,
-+ .queue = queue_io,
-+ .invalidate = invalidate_do_nothing,
-+ .get_file_size = generic_get_file_size,
-+ .open_file = stat_file,
-+ .flags = FIO_SYNCIO | FIO_FAKEIO |
-+ FIO_NOSTATS | FIO_NOFILEHASH,
-+ .options = options,
-+ .option_struct_size = sizeof(struct filestat_options),
-+};
-+
-+static struct ioengine_ops ioengine_filedelete = {
-+ .name = "filedelete",
-+ .version = FIO_IOOPS_VERSION,
-+ .init = init,
-+ .invalidate = invalidate_do_nothing,
-+ .cleanup = cleanup,
-+ .queue = queue_io,
-+ .get_file_size = generic_get_file_size,
-+ .open_file = delete_file,
-+ .flags = FIO_SYNCIO | FIO_FAKEIO |
-+ FIO_NOSTATS | FIO_NOFILEHASH,
-+};
-+
-+
-+static void fio_init fio_fileoperations_register(void)
-+{
-+ register_ioengine(&ioengine_filecreate);
-+ register_ioengine(&ioengine_filestat);
-+ register_ioengine(&ioengine_filedelete);
-+}
-+
-+static void fio_exit fio_fileoperations_unregister(void)
-+{
-+ unregister_ioengine(&ioengine_filecreate);
-+ unregister_ioengine(&ioengine_filestat);
-+ unregister_ioengine(&ioengine_filedelete);
-+}
-diff --git a/engines/filestat.c b/engines/filestat.c
-deleted file mode 100644
-index e587eb54..00000000
---- a/engines/filestat.c
-+++ /dev/null
-@@ -1,190 +0,0 @@
--/*
-- * filestat engine
-- *
-- * IO engine that doesn't do any IO, just stat files and tracks the latency
-- * of the file stat.
-- */
--#include <stdio.h>
--#include <stdlib.h>
--#include <fcntl.h>
--#include <errno.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--#include <unistd.h>
--#include "../fio.h"
--#include "../optgroup.h"
--#include "../oslib/statx.h"
--
--struct fc_data {
-- enum fio_ddir stat_ddir;
--};
--
--struct filestat_options {
-- void *pad;
-- unsigned int stat_type;
--};
--
--enum {
-- FIO_FILESTAT_STAT = 1,
-- FIO_FILESTAT_LSTAT = 2,
-- FIO_FILESTAT_STATX = 3,
--};
--
--static struct fio_option options[] = {
-- {
-- .name = "stat_type",
-- .lname = "stat_type",
-- .type = FIO_OPT_STR,
-- .off1 = offsetof(struct filestat_options, stat_type),
-- .help = "Specify stat system call type to measure lookup/getattr performance",
-- .def = "stat",
-- .posval = {
-- { .ival = "stat",
-- .oval = FIO_FILESTAT_STAT,
-- .help = "Use stat(2)",
-- },
-- { .ival = "lstat",
-- .oval = FIO_FILESTAT_LSTAT,
-- .help = "Use lstat(2)",
-- },
-- { .ival = "statx",
-- .oval = FIO_FILESTAT_STATX,
-- .help = "Use statx(2) if exists",
-- },
-- },
-- .category = FIO_OPT_C_ENGINE,
-- .group = FIO_OPT_G_FILESTAT,
-- },
-- {
-- .name = NULL,
-- },
--};
--
--static int stat_file(struct thread_data *td, struct fio_file *f)
--{
-- struct filestat_options *o = td->eo;
-- struct timespec start;
-- int do_lat = !td->o.disable_lat;
-- struct stat statbuf;
--#ifndef WIN32
-- struct statx statxbuf;
-- char *abspath;
--#endif
-- int ret;
--
-- dprint(FD_FILE, "fd stat %s\n", f->file_name);
--
-- if (f->filetype != FIO_TYPE_FILE) {
-- log_err("fio: only files are supported\n");
-- return 1;
-- }
-- if (!strcmp(f->file_name, "-")) {
-- log_err("fio: can't read/write to stdin/out\n");
-- return 1;
-- }
--
-- if (do_lat)
-- fio_gettime(&start, NULL);
--
-- switch (o->stat_type){
-- case FIO_FILESTAT_STAT:
-- ret = stat(f->file_name, &statbuf);
-- break;
-- case FIO_FILESTAT_LSTAT:
-- ret = lstat(f->file_name, &statbuf);
-- break;
-- case FIO_FILESTAT_STATX:
--#ifndef WIN32
-- abspath = realpath(f->file_name, NULL);
-- if (abspath) {
-- ret = statx(-1, abspath, 0, STATX_ALL, &statxbuf);
-- free(abspath);
-- } else
-- ret = -1;
--#else
-- ret = -1;
--#endif
-- break;
-- default:
-- ret = -1;
-- break;
-- }
--
-- if (ret == -1) {
-- char buf[FIO_VERROR_SIZE];
-- int e = errno;
--
-- snprintf(buf, sizeof(buf), "stat(%s) type=%u", f->file_name,
-- o->stat_type);
-- td_verror(td, e, buf);
-- return 1;
-- }
--
-- if (do_lat) {
-- struct fc_data *data = td->io_ops_data;
-- uint64_t nsec;
--
-- nsec = ntime_since_now(&start);
-- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
-- }
--
-- return 0;
--}
--
--static enum fio_q_status queue_io(struct thread_data *td, struct io_u fio_unused *io_u)
--{
-- return FIO_Q_COMPLETED;
--}
--
--static int init(struct thread_data *td)
--{
-- struct fc_data *data;
--
-- data = calloc(1, sizeof(*data));
--
-- if (td_read(td))
-- data->stat_ddir = DDIR_READ;
-- else if (td_write(td))
-- data->stat_ddir = DDIR_WRITE;
--
-- td->io_ops_data = data;
-- return 0;
--}
--
--static void cleanup(struct thread_data *td)
--{
-- struct fc_data *data = td->io_ops_data;
--
-- free(data);
--}
--
--static int stat_invalidate(struct thread_data *td, struct fio_file *f)
--{
-- /* do nothing because file not opened */
-- return 0;
--}
--
--static struct ioengine_ops ioengine = {
-- .name = "filestat",
-- .version = FIO_IOOPS_VERSION,
-- .init = init,
-- .cleanup = cleanup,
-- .queue = queue_io,
-- .invalidate = stat_invalidate,
-- .get_file_size = generic_get_file_size,
-- .open_file = stat_file,
-- .flags = FIO_SYNCIO | FIO_FAKEIO |
-- FIO_NOSTATS | FIO_NOFILEHASH,
-- .options = options,
-- .option_struct_size = sizeof(struct filestat_options),
--};
--
--static void fio_init fio_filestat_register(void)
--{
-- register_ioengine(&ioengine);
--}
--
--static void fio_exit fio_filestat_unregister(void)
--{
-- unregister_ioengine(&ioengine);
--}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch
deleted file mode 100644
index 587df1a..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 5b0b5247f0770a89084964274bb951f5a4393299 Mon Sep 17 00:00:00 2001
-From: "Feng, Hualong" <hualong.feng@intel.com>
-Date: Wed, 20 Jul 2022 12:01:35 +0800
-Subject: [PATCH] engines/http: Add storage class option for s3
-
-Amazon S3 offers a range of storage classes that you can choose from
-based on the data access, resiliency, and cost requirements of your
-workloads. (https://aws.amazon.com/s3/storage-classes/)
-
-For example, we have **STANDARD** storage class to test normal
-workload, and have **COLD** storage class to test the workload
-with gzip compression. It is convenient to select which
-storage class to access for different kinds data.
-
-Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
----
- engines/http.c | 25 +++++++++++++++++++------
- 1 file changed, 19 insertions(+), 6 deletions(-)
-
-diff --git a/engines/http.c b/engines/http.c
-index 1de9e66c..dbcde287 100644
---- a/engines/http.c
-+++ b/engines/http.c
-@@ -57,6 +57,7 @@ struct http_options {
- char *s3_key;
- char *s3_keyid;
- char *s3_region;
-+ char *s3_storage_class;
- char *swift_auth_token;
- int verbose;
- unsigned int mode;
-@@ -161,6 +162,16 @@ static struct fio_option options[] = {
- .category = FIO_OPT_C_ENGINE,
- .group = FIO_OPT_G_HTTP,
- },
-+ {
-+ .name = "http_s3_storage_class",
-+ .lname = "S3 Storage class",
-+ .type = FIO_OPT_STR_STORE,
-+ .help = "S3 Storage Class",
-+ .off1 = offsetof(struct http_options, s3_storage_class),
-+ .def = "STANDARD",
-+ .category = FIO_OPT_C_ENGINE,
-+ .group = FIO_OPT_G_HTTP,
-+ },
- {
- .name = "http_mode",
- .lname = "Request mode to use",
-@@ -335,8 +346,8 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- char date_iso[32];
- char method[8];
- char dkey[128];
-- char creq[512];
-- char sts[256];
-+ char creq[4096];
-+ char sts[512];
- char s[512];
- char *uri_encoded = NULL;
- char *dsha = NULL;
-@@ -373,11 +384,12 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- "host:%s\n"
- "x-amz-content-sha256:%s\n"
- "x-amz-date:%s\n"
-+ "x-amz-storage-class:%s\n"
- "\n"
-- "host;x-amz-content-sha256;x-amz-date\n"
-+ "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
- "%s"
- , method
-- , uri_encoded, o->host, dsha, date_iso, dsha);
-+ , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
-
- csha = _gen_hex_sha256(creq, strlen(creq));
- snprintf(sts, sizeof(sts), "AWS4-HMAC-SHA256\n%s\n%s/%s/%s/%s\n%s",
-@@ -400,9 +412,10 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
-
- snprintf(s, sizeof(s), "x-amz-date: %s", date_iso);
- slist = curl_slist_append(slist, s);
--
-+ snprintf(s, sizeof(s), "x-amz-storage-class: %s", o->s3_storage_class);
-+ slist = curl_slist_append(slist, s);
- snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
-- "SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=%s",
-+ "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
- o->s3_keyid, date_short, o->s3_region, signature);
- slist = curl_slist_append(slist, s);
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch
deleted file mode 100644
index d8222c4..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From d196fda02eb73958c2acd367de650858c6203420 Mon Sep 17 00:00:00 2001
-From: "Feng, Hualong" <hualong.feng@intel.com>
-Date: Wed, 20 Jul 2022 09:41:35 +0800
-Subject: [PATCH] engines/http: Add s3 crypto options for s3
-
-Server-side encryption is about protecting data at rest.
-(https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)
-
-When we want to test server-side encryption, we need to specify
-server-side encryption with customer-provided encryption keys (SSE-C).
-The two option **http_s3_sse_customer_key** and
-**http_s3_sse_customer_algorithm** is for server-side encryption.
-
-Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
----
- engines/http.c | 163 +++++++++++++++++++++++++++++++++++++++++++------
- 1 file changed, 146 insertions(+), 17 deletions(-)
-
-diff --git a/engines/http.c b/engines/http.c
-index dbcde287..56dc7d1b 100644
---- a/engines/http.c
-+++ b/engines/http.c
-@@ -57,6 +57,8 @@ struct http_options {
- char *s3_key;
- char *s3_keyid;
- char *s3_region;
-+ char *s3_sse_customer_key;
-+ char *s3_sse_customer_algorithm;
- char *s3_storage_class;
- char *swift_auth_token;
- int verbose;
-@@ -162,6 +164,26 @@ static struct fio_option options[] = {
- .category = FIO_OPT_C_ENGINE,
- .group = FIO_OPT_G_HTTP,
- },
-+ {
-+ .name = "http_s3_sse_customer_key",
-+ .lname = "SSE Customer Key",
-+ .type = FIO_OPT_STR_STORE,
-+ .help = "S3 SSE Customer Key",
-+ .off1 = offsetof(struct http_options, s3_sse_customer_key),
-+ .def = "",
-+ .category = FIO_OPT_C_ENGINE,
-+ .group = FIO_OPT_G_HTTP,
-+ },
-+ {
-+ .name = "http_s3_sse_customer_algorithm",
-+ .lname = "SSE Customer Algorithm",
-+ .type = FIO_OPT_STR_STORE,
-+ .help = "S3 SSE Customer Algorithm",
-+ .off1 = offsetof(struct http_options, s3_sse_customer_algorithm),
-+ .def = "AES256",
-+ .category = FIO_OPT_C_ENGINE,
-+ .group = FIO_OPT_G_HTTP,
-+ },
- {
- .name = "http_s3_storage_class",
- .lname = "S3 Storage class",
-@@ -277,6 +299,54 @@ static char *_gen_hex_md5(const char *p, size_t len)
- return _conv_hex(hash, MD5_DIGEST_LENGTH);
- }
-
-+static char *_conv_base64_encode(const unsigned char *p, size_t len)
-+{
-+ char *r, *ret;
-+ int i;
-+ static const char sEncodingTable[] = {
-+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
-+ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
-+ 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
-+ 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
-+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
-+ 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
-+ 'w', 'x', 'y', 'z', '0', '1', '2', '3',
-+ '4', '5', '6', '7', '8', '9', '+', '/'
-+ };
-+
-+ size_t out_len = 4 * ((len + 2) / 3);
-+ ret = r = malloc(out_len + 1);
-+
-+ for (i = 0; i < len - 2; i += 3) {
-+ *r++ = sEncodingTable[(p[i] >> 2) & 0x3F];
-+ *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)];
-+ *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2) | ((int) (p[i + 2] & 0xC0) >> 6)];
-+ *r++ = sEncodingTable[p[i + 2] & 0x3F];
-+ }
-+
-+ if (i < len) {
-+ *r++ = sEncodingTable[(p[i] >> 2) & 0x3F];
-+ if (i == (len - 1)) {
-+ *r++ = sEncodingTable[((p[i] & 0x3) << 4)];
-+ *r++ = '=';
-+ } else {
-+ *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)];
-+ *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2)];
-+ }
-+ *r++ = '=';
-+ }
-+
-+ ret[out_len]=0;
-+ return ret;
-+}
-+
-+static char *_gen_base64_md5(const unsigned char *p, size_t len)
-+{
-+ unsigned char hash[MD5_DIGEST_LENGTH];
-+ MD5((unsigned char*)p, len, hash);
-+ return _conv_base64_encode(hash, MD5_DIGEST_LENGTH);
-+}
-+
- static void _hmac(unsigned char *md, void *key, int key_len, char *data) {
- #ifndef CONFIG_HAVE_OPAQUE_HMAC_CTX
- HMAC_CTX _ctx;
-@@ -356,6 +426,9 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- const char *service = "s3";
- const char *aws = "aws4_request";
- unsigned char md[SHA256_DIGEST_LENGTH];
-+ unsigned char sse_key[33] = {0};
-+ char *sse_key_base64 = NULL;
-+ char *sse_key_md5_base64 = NULL;
-
- time_t t = time(NULL);
- struct tm *gtm = gmtime(&t);
-@@ -364,6 +437,9 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- strftime (date_iso, sizeof(date_iso), "%Y%m%dT%H%M%SZ", gtm);
- uri_encoded = _aws_uriencode(uri);
-
-+ if (o->s3_sse_customer_key != NULL)
-+ strncpy((char*)sse_key, o->s3_sse_customer_key, sizeof(sse_key) - 1);
-+
- if (op == DDIR_WRITE) {
- dsha = _gen_hex_sha256(buf, len);
- sprintf(method, "PUT");
-@@ -377,23 +453,50 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- }
-
- /* Create the canonical request first */
-- snprintf(creq, sizeof(creq),
-- "%s\n"
-- "%s\n"
-- "\n"
-- "host:%s\n"
-- "x-amz-content-sha256:%s\n"
-- "x-amz-date:%s\n"
-- "x-amz-storage-class:%s\n"
-- "\n"
-- "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
-- "%s"
-- , method
-- , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
-+ if (sse_key[0] != '\0') {
-+ sse_key_base64 = _conv_base64_encode(sse_key, sizeof(sse_key) - 1);
-+ sse_key_md5_base64 = _gen_base64_md5(sse_key, sizeof(sse_key) - 1);
-+ snprintf(creq, sizeof(creq),
-+ "%s\n"
-+ "%s\n"
-+ "\n"
-+ "host:%s\n"
-+ "x-amz-content-sha256:%s\n"
-+ "x-amz-date:%s\n"
-+ "x-amz-server-side-encryption-customer-algorithm:%s\n"
-+ "x-amz-server-side-encryption-customer-key:%s\n"
-+ "x-amz-server-side-encryption-customer-key-md5:%s\n"
-+ "x-amz-storage-class:%s\n"
-+ "\n"
-+ "host;x-amz-content-sha256;x-amz-date;"
-+ "x-amz-server-side-encryption-customer-algorithm;"
-+ "x-amz-server-side-encryption-customer-key;"
-+ "x-amz-server-side-encryption-customer-key-md5;"
-+ "x-amz-storage-class\n"
-+ "%s"
-+ , method
-+ , uri_encoded, o->host, dsha, date_iso
-+ , o->s3_sse_customer_algorithm, sse_key_base64
-+ , sse_key_md5_base64, o->s3_storage_class, dsha);
-+ } else {
-+ snprintf(creq, sizeof(creq),
-+ "%s\n"
-+ "%s\n"
-+ "\n"
-+ "host:%s\n"
-+ "x-amz-content-sha256:%s\n"
-+ "x-amz-date:%s\n"
-+ "x-amz-storage-class:%s\n"
-+ "\n"
-+ "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
-+ "%s"
-+ , method
-+ , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
-+ }
-
- csha = _gen_hex_sha256(creq, strlen(creq));
- snprintf(sts, sizeof(sts), "AWS4-HMAC-SHA256\n%s\n%s/%s/%s/%s\n%s",
-- date_iso, date_short, o->s3_region, service, aws, csha);
-+ date_iso, date_short, o->s3_region, service, aws, csha);
-
- snprintf((char *)dkey, sizeof(dkey), "AWS4%s", o->s3_key);
- _hmac(md, dkey, strlen(dkey), date_short);
-@@ -412,11 +515,33 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
-
- snprintf(s, sizeof(s), "x-amz-date: %s", date_iso);
- slist = curl_slist_append(slist, s);
-+
-+ if (sse_key[0] != '\0') {
-+ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-algorithm: %s", o->s3_sse_customer_algorithm);
-+ slist = curl_slist_append(slist, s);
-+ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key: %s", sse_key_base64);
-+ slist = curl_slist_append(slist, s);
-+ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key-md5: %s", sse_key_md5_base64);
-+ slist = curl_slist_append(slist, s);
-+ }
-+
- snprintf(s, sizeof(s), "x-amz-storage-class: %s", o->s3_storage_class);
- slist = curl_slist_append(slist, s);
-- snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
-- "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
-- o->s3_keyid, date_short, o->s3_region, signature);
-+
-+ if (sse_key[0] != '\0') {
-+ snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
-+ "SignedHeaders=host;x-amz-content-sha256;"
-+ "x-amz-date;x-amz-server-side-encryption-customer-algorithm;"
-+ "x-amz-server-side-encryption-customer-key;"
-+ "x-amz-server-side-encryption-customer-key-md5;"
-+ "x-amz-storage-class,"
-+ "Signature=%s",
-+ o->s3_keyid, date_short, o->s3_region, signature);
-+ } else {
-+ snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
-+ "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
-+ o->s3_keyid, date_short, o->s3_region, signature);
-+ }
- slist = curl_slist_append(slist, s);
-
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
-@@ -425,6 +550,10 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
- free(csha);
- free(dsha);
- free(signature);
-+ if (sse_key_base64 != NULL) {
-+ free(sse_key_base64);
-+ free(sse_key_md5_base64);
-+ }
- }
-
- static void _add_swift_header(CURL *curl, struct curl_slist *slist, struct http_options *o,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch
deleted file mode 100644
index d581593..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 0cad4b6957818937519604b466a2da5b0c395cfe Mon Sep 17 00:00:00 2001
-From: "Feng, Hualong" <hualong.feng@intel.com>
-Date: Thu, 28 Jul 2022 01:47:48 +0000
-Subject: [PATCH] doc: Add usage and example about s3 storage class and crypto
-
-There add option usage about s3 storage class
-`http_s3_storage_class` and
-s3 SSE server side encryption
-`http_s3_sse_customer_key` and
-`http_s3_sse_customer_algorithm`
-
-And add example file in example folder.
-
-Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
----
- HOWTO.rst | 14 +++++++++++
- examples/http-s3-crypto.fio | 38 ++++++++++++++++++++++++++++++
- examples/http-s3-storage-class.fio | 37 +++++++++++++++++++++++++++++
- fio.1 | 9 +++++++
- 4 files changed, 98 insertions(+)
- create mode 100644 examples/http-s3-crypto.fio
- create mode 100644 examples/http-s3-storage-class.fio
-
-diff --git a/HOWTO.rst b/HOWTO.rst
-index 104cce2d..05fc117f 100644
---- a/HOWTO.rst
-+++ b/HOWTO.rst
-@@ -2692,6 +2692,20 @@ with the caveat that when used on the command line, they must come after the
-
- The S3 key/access id.
-
-+.. option:: http_s3_sse_customer_key=str : [http]
-+
-+ The encryption customer key in SSE server side.
-+
-+.. option:: http_s3_sse_customer_algorithm=str : [http]
-+
-+ The encryption customer algorithm in SSE server side.
-+ Default is **AES256**
-+
-+.. option:: http_s3_storage_class=str : [http]
-+
-+ Which storage class to access. User-customizable settings.
-+ Default is **STANDARD**
-+
- .. option:: http_swift_auth_token=str : [http]
-
- The Swift auth token. See the example configuration file on how
-diff --git a/examples/http-s3-crypto.fio b/examples/http-s3-crypto.fio
-new file mode 100644
-index 00000000..2403746e
---- /dev/null
-+++ b/examples/http-s3-crypto.fio
-@@ -0,0 +1,38 @@
-+# Example test for the HTTP engine's S3 support against Amazon AWS.
-+# Obviously, you have to adjust the S3 credentials; for this example,
-+# they're passed in via the environment.
-+# And you can set the SSE Customer Key and Algorithm to test Server
-+# Side Encryption.
-+#
-+
-+[global]
-+ioengine=http
-+name=test
-+direct=1
-+filename=/larsmb-fio-test/object
-+http_verbose=0
-+https=on
-+http_mode=s3
-+http_s3_key=${S3_KEY}
-+http_s3_keyid=${S3_ID}
-+http_host=s3.eu-central-1.amazonaws.com
-+http_s3_region=eu-central-1
-+http_s3_sse_customer_key=${SSE_KEY}
-+http_s3_sse_customer_algorithm=AES256
-+group_reporting
-+
-+# With verify, this both writes and reads the object
-+[create]
-+rw=write
-+bs=4k
-+size=64k
-+io_size=4k
-+verify=sha256
-+
-+[trim]
-+stonewall
-+rw=trim
-+bs=4k
-+size=64k
-+io_size=4k
-+
-diff --git a/examples/http-s3-storage-class.fio b/examples/http-s3-storage-class.fio
-new file mode 100644
-index 00000000..9ee23837
---- /dev/null
-+++ b/examples/http-s3-storage-class.fio
-@@ -0,0 +1,37 @@
-+# Example test for the HTTP engine's S3 support against Amazon AWS.
-+# Obviously, you have to adjust the S3 credentials; for this example,
-+# they're passed in via the environment.
-+# And here add storage class parameter, you can set normal test for
-+# STANDARD and compression test for another storage class.
-+#
-+
-+[global]
-+ioengine=http
-+name=test
-+direct=1
-+filename=/larsmb-fio-test/object
-+http_verbose=0
-+https=on
-+http_mode=s3
-+http_s3_key=${S3_KEY}
-+http_s3_keyid=${S3_ID}
-+http_host=s3.eu-central-1.amazonaws.com
-+http_s3_region=eu-central-1
-+http_s3_storage_class=${STORAGE_CLASS}
-+group_reporting
-+
-+# With verify, this both writes and reads the object
-+[create]
-+rw=write
-+bs=4k
-+size=64k
-+io_size=4k
-+verify=sha256
-+
-+[trim]
-+stonewall
-+rw=trim
-+bs=4k
-+size=64k
-+io_size=4k
-+
-diff --git a/fio.1 b/fio.1
-index ce9bf3ef..6630525f 100644
---- a/fio.1
-+++ b/fio.1
-@@ -2308,6 +2308,15 @@ The S3 secret key.
- .BI (http)http_s3_keyid \fR=\fPstr
- The S3 key/access id.
- .TP
-+.BI (http)http_s3_sse_customer_key \fR=\fPstr
-+The encryption customer key in SSE server side.
-+.TP
-+.BI (http)http_s3_sse_customer_algorithm \fR=\fPstr
-+The encryption customer algorithm in SSE server side. Default is \fBAES256\fR
-+.TP
-+.BI (http)http_s3_storage_class \fR=\fPstr
-+Which storage class to access. User-customizable settings. Default is \fBSTANDARD\fR
-+.TP
- .BI (http)http_swift_auth_token \fR=\fPstr
- The Swift auth token. See the example configuration file on how to
- retrieve this.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch
deleted file mode 100644
index 3f7ba4c..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 6809d81b2a9b854697c65e0d69455a39d4497a6b Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 15 Aug 2022 10:37:57 -0400
-Subject: [PATCH] README: link to GitHub releases for Windows
-
-Note that Windows installers are now available as releases on GitHub.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- README.rst | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/README.rst b/README.rst
-index 67420903..79582dea 100644
---- a/README.rst
-+++ b/README.rst
-@@ -123,10 +123,12 @@ Solaris:
- ``pkgutil -i fio``.
-
- Windows:
-- Rebecca Cran <rebecca@bsdio.com> has fio packages for Windows at
-- https://bsdio.com/fio/ . The latest builds for Windows can also
-- be grabbed from https://ci.appveyor.com/project/axboe/fio by clicking
-- the latest x86 or x64 build, then selecting the ARTIFACTS tab.
-+ Beginning with fio 3.31 Windows installers are available on GitHub at
-+ https://github.com/axboe/fio/releases. Rebecca Cran
-+ <rebecca@bsdio.com> has fio packages for Windows at
-+ https://bsdio.com/fio/ . The latest builds for Windows can also be
-+ grabbed from https://ci.appveyor.com/project/axboe/fio by clicking the
-+ latest x86 or x64 build and then selecting the Artifacts tab.
-
- BSDs:
- Packages for BSDs may be available from their binary package repositories.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch
deleted file mode 100644
index 6e322b8..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From d5aac3401e180f3d4ff3db04ebb4e3165b975987 Mon Sep 17 00:00:00 2001
-From: Ankit Kumar <ankit.kumar@samsung.com>
-Date: Tue, 16 Aug 2022 11:08:20 +0530
-Subject: [PATCH] engines/xnvme: fix segfault issue with xnvme ioengine
-
-fix segfault when xnvme ioengine is called without thread=1.
-The segfault happens because td->io_ops_data is accessed at
-two locations xnvme_fioe_cleanup and xnvme_fioe_iomem_free,
-during the error handling call.
-
-Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
-Link: https://lore.kernel.org/r/20220816053821.440-2-ankit.kumar@samsung.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- engines/xnvme.c | 17 ++++++++++++++---
- 1 file changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/engines/xnvme.c b/engines/xnvme.c
-index c11b33a8..d8647481 100644
---- a/engines/xnvme.c
-+++ b/engines/xnvme.c
-@@ -205,9 +205,14 @@ static void _dev_close(struct thread_data *td, struct xnvme_fioe_fwrap *fwrap)
-
- static void xnvme_fioe_cleanup(struct thread_data *td)
- {
-- struct xnvme_fioe_data *xd = td->io_ops_data;
-+ struct xnvme_fioe_data *xd = NULL;
- int err;
-
-+ if (!td->io_ops_data)
-+ return;
-+
-+ xd = td->io_ops_data;
-+
- err = pthread_mutex_lock(&g_serialize);
- if (err)
- log_err("ioeng->cleanup(): pthread_mutex_lock(), err(%d)\n", err);
-@@ -367,8 +372,14 @@ static int xnvme_fioe_iomem_alloc(struct thread_data *td, size_t total_mem)
- /* NOTE: using the first device for buffer-allocators) */
- static void xnvme_fioe_iomem_free(struct thread_data *td)
- {
-- struct xnvme_fioe_data *xd = td->io_ops_data;
-- struct xnvme_fioe_fwrap *fwrap = &xd->files[0];
-+ struct xnvme_fioe_data *xd = NULL;
-+ struct xnvme_fioe_fwrap *fwrap = NULL;
-+
-+ if (!td->io_ops_data)
-+ return;
-+
-+ xd = td->io_ops_data;
-+ fwrap = &xd->files[0];
-
- if (!fwrap->dev) {
- log_err("ioeng->iomem_free(): failed no dev-handle\n");
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch
deleted file mode 100644
index 6c85cfc..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 8e318fd65ba5c0f6ce82860984bc8d69a7843f97 Mon Sep 17 00:00:00 2001
-From: Ankit Kumar <ankit.kumar@samsung.com>
-Date: Tue, 16 Aug 2022 11:08:21 +0530
-Subject: [PATCH] doc: update fio doc for xnvme engine
-
-- Elaborate about the various sync, async and admin
- interfaces.
-- add missing io_uring_cmd async backend entry.
-- xnvme ioengine doesn't support file stat.
-
-Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
-Link: https://lore.kernel.org/r/20220816053821.440-3-ankit.kumar@samsung.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- HOWTO.rst | 37 ++++++++++++++++++++++++++-----------
- fio.1 | 34 +++++++++++++++++++++-------------
- 2 files changed, 47 insertions(+), 24 deletions(-)
-
-diff --git a/HOWTO.rst b/HOWTO.rst
-index 05fc117f..b2750b56 100644
---- a/HOWTO.rst
-+++ b/HOWTO.rst
-@@ -2780,41 +2780,56 @@ with the caveat that when used on the command line, they must come after the
- Select the xnvme async command interface. This can take these values.
-
- **emu**
-- This is default and used to emulate asynchronous I/O.
-+ This is default and use to emulate asynchronous I/O by using a
-+ single thread to create a queue pair on top of a synchronous
-+ I/O interface using the NVMe driver IOCTL.
- **thrpool**
-- Use thread pool for Asynchronous I/O.
-+ Emulate an asynchronous I/O interface with a pool of userspace
-+ threads on top of a synchronous I/O interface using the NVMe
-+ driver IOCTL. By default four threads are used.
- **io_uring**
-- Use Linux io_uring/liburing for Asynchronous I/O.
-+ Linux native asynchronous I/O interface which supports both
-+ direct and buffered I/O.
-+ **io_uring_cmd**
-+ Fast Linux native asynchronous I/O interface for NVMe pass
-+ through commands. This only works with NVMe character device
-+ (/dev/ngXnY).
- **libaio**
- Use Linux aio for Asynchronous I/O.
- **posix**
-- Use POSIX aio for Asynchronous I/O.
-+ Use the posix asynchronous I/O interface to perform one or
-+ more I/O operations asynchronously.
- **nil**
-- Use nil-io; For introspective perf. evaluation
-+ Do not transfer any data; just pretend to. This is mainly used
-+ for introspective performance evaluation.
-
- .. option:: xnvme_sync=str : [xnvme]
-
- Select the xnvme synchronous command interface. This can take these values.
-
- **nvme**
-- This is default and uses Linux NVMe Driver ioctl() for synchronous I/O.
-+ This is default and uses Linux NVMe Driver ioctl() for
-+ synchronous I/O.
- **psync**
-- Use pread()/write() for synchronous I/O.
-+ This supports regular as well as vectored pread() and pwrite()
-+ commands.
-+ **block**
-+ This is the same as psync except that it also supports zone
-+ management commands using Linux block layer IOCTLs.
-
- .. option:: xnvme_admin=str : [xnvme]
-
- Select the xnvme admin command interface. This can take these values.
-
- **nvme**
-- This is default and uses linux NVMe Driver ioctl() for admin commands.
-+ This is default and uses linux NVMe Driver ioctl() for admin
-+ commands.
- **block**
- Use Linux Block Layer ioctl() and sysfs for admin commands.
-- **file_as_ns**
-- Use file-stat to construct NVMe idfy responses.
-
- .. option:: xnvme_dev_nsid=int : [xnvme]
-
-- xnvme namespace identifier, for userspace NVMe driver.
-+ xnvme namespace identifier for userspace NVMe driver, such as SPDK.
-
- .. option:: xnvme_iovec=int : [xnvme]
-
-diff --git a/fio.1 b/fio.1
-index 6630525f..f3f3dc5d 100644
---- a/fio.1
-+++ b/fio.1
-@@ -2530,22 +2530,29 @@ Select the xnvme async command interface. This can take these values.
- .RS
- .TP
- .B emu
--This is default and used to emulate asynchronous I/O
-+This is default and use to emulate asynchronous I/O by using a single thread to
-+create a queue pair on top of a synchronous I/O interface using the NVMe driver
-+IOCTL.
- .TP
- .BI thrpool
--Use thread pool for Asynchronous I/O
-+Emulate an asynchronous I/O interface with a pool of userspace threads on top
-+of a synchronous I/O interface using the NVMe driver IOCTL. By default four
-+threads are used.
- .TP
- .BI io_uring
--Use Linux io_uring/liburing for Asynchronous I/O
-+Linux native asynchronous I/O interface which supports both direct and buffered
-+I/O.
- .TP
- .BI libaio
- Use Linux aio for Asynchronous I/O
- .TP
- .BI posix
--Use POSIX aio for Asynchronous I/O
-+Use the posix asynchronous I/O interface to perform one or more I/O operations
-+asynchronously.
- .TP
- .BI nil
--Use nil-io; For introspective perf. evaluation
-+Do not transfer any data; just pretend to. This is mainly used for
-+introspective performance evaluation.
- .RE
- .RE
- .TP
-@@ -2555,10 +2562,14 @@ Select the xnvme synchronous command interface. This can take these values.
- .RS
- .TP
- .B nvme
--This is default and uses Linux NVMe Driver ioctl() for synchronous I/O
-+This is default and uses Linux NVMe Driver ioctl() for synchronous I/O.
- .TP
- .BI psync
--Use pread()/write() for synchronous I/O
-+This supports regular as well as vectored pread() and pwrite() commands.
-+.TP
-+.BI block
-+This is the same as psync except that it also supports zone management
-+commands using Linux block layer IOCTLs.
- .RE
- .RE
- .TP
-@@ -2568,18 +2579,15 @@ Select the xnvme admin command interface. This can take these values.
- .RS
- .TP
- .B nvme
--This is default and uses Linux NVMe Driver ioctl() for admin commands
-+This is default and uses Linux NVMe Driver ioctl() for admin commands.
- .TP
- .BI block
--Use Linux Block Layer ioctl() and sysfs for admin commands
--.TP
--.BI file_as_ns
--Use file-stat as to construct NVMe idfy responses
-+Use Linux Block Layer ioctl() and sysfs for admin commands.
- .RE
- .RE
- .TP
- .BI (xnvme)xnvme_dev_nsid\fR=\fPint
--xnvme namespace identifier, for userspace NVMe driver.
-+xnvme namespace identifier for userspace NVMe driver such as SPDK.
- .TP
- .BI (xnvme)xnvme_iovec
- If this option is set, xnvme will use vectored read/write commands.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch
deleted file mode 100644
index d86ac11..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From fa64b199318318af7fe598a5b9ec62b981a55e2d Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 15 Aug 2022 11:34:43 -0400
-Subject: [PATCH] test: add latency test using posixaio ioengine
-
-Make sure that mean(slat) + mean(clat) = mean(total lat).
-
-Tests 15 and 16 use the libaio and null ioengines, respectively. Both of
-those ioengines have commit hooks. Add this new test using the posixaio
-ioengine which does not have a commit hook so that we can better cover
-the possible ways that latency is calcualted.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- t/jobs/t0017.fio | 9 +++++++++
- t/run-fio-tests.py | 10 ++++++++++
- 2 files changed, 19 insertions(+)
- create mode 100644 t/jobs/t0017.fio
-
-diff --git a/t/jobs/t0017.fio b/t/jobs/t0017.fio
-new file mode 100644
-index 00000000..14486d98
---- /dev/null
-+++ b/t/jobs/t0017.fio
-@@ -0,0 +1,9 @@
-+# Expected result: mean(slat) + mean(clat) = mean(lat)
-+# Buggy result: equality does not hold
-+# This is similar to t0015 and t0016 except that is uses posixaio which is
-+# available on more platforms and does not have a commit hook
-+
-+[test]
-+ioengine=posixaio
-+size=1M
-+iodepth=16
-diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
-index d77f20e0..2bd02a2a 100755
---- a/t/run-fio-tests.py
-+++ b/t/run-fio-tests.py
-@@ -857,6 +857,16 @@ TEST_LIST = [
- 'output_format': 'json',
- 'requirements': [],
- },
-+ {
-+ 'test_id': 17,
-+ 'test_class': FioJobTest_t0015,
-+ 'job': 't0017.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'output_format': 'json',
-+ 'requirements': [Requirements.not_windows],
-+ },
- {
- 'test_id': 1000,
- 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch
deleted file mode 100644
index 8f10f41..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1e68459d85f56f805c70236ad47a65a65f426867 Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 15 Aug 2022 11:40:58 -0400
-Subject: [PATCH] test: fix hash for t0016
-
-I used the wrong hash for t0016 in the original commit. Fix it to refer
-to the hash that fixed the issue in this tree.
-
-Fixes: de31fe9a ("testing: add test for slat + clat = tlat")
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- t/jobs/{t0016-259ebc00.fio => t0016-d54ae22.fio} | 0
- t/run-fio-tests.py | 2 +-
- 2 files changed, 1 insertion(+), 1 deletion(-)
- rename t/jobs/{t0016-259ebc00.fio => t0016-d54ae22.fio} (100%)
-
-diff --git a/t/jobs/t0016-259ebc00.fio b/t/jobs/t0016-d54ae22.fio
-similarity index 100%
-rename from t/jobs/t0016-259ebc00.fio
-rename to t/jobs/t0016-d54ae22.fio
-diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
-index 2bd02a2a..504b7cdb 100755
---- a/t/run-fio-tests.py
-+++ b/t/run-fio-tests.py
-@@ -850,7 +850,7 @@ TEST_LIST = [
- {
- 'test_id': 16,
- 'test_class': FioJobTest_t0015,
-- 'job': 't0016-259ebc00.fio',
-+ 'job': 't0016-d54ae22.fio',
- 'success': SUCCESS_DEFAULT,
- 'pre_job': None,
- 'pre_success': None,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch
deleted file mode 100644
index 5f72f47..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From ff16b7c0c855d5242d92d7f902247525ff1f889a Mon Sep 17 00:00:00 2001
-From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
-Date: Tue, 16 Aug 2022 19:14:13 +0300
-Subject: [PATCH] doc: get rid of trailing whitespace
-
-Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
----
- HOWTO.rst | 4 ++--
- fio.1 | 10 +++++-----
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/HOWTO.rst b/HOWTO.rst
-index b2750b56..c94238ed 100644
---- a/HOWTO.rst
-+++ b/HOWTO.rst
-@@ -1301,7 +1301,7 @@ I/O type
- effectively caps the file size at `real_size - offset`. Can be combined with
- :option:`size` to constrain the start and end range of the I/O workload.
- A percentage can be specified by a number between 1 and 100 followed by '%',
-- for example, ``offset=20%`` to specify 20%. In ZBD mode, value can be set as
-+ for example, ``offset=20%`` to specify 20%. In ZBD mode, value can be set as
- number of zones using 'z'.
-
- .. option:: offset_align=int
-@@ -1877,7 +1877,7 @@ I/O size
- If this option is not specified, fio will use the full size of the given
- files or devices. If the files do not exist, size must be given. It is also
- possible to give size as a percentage between 1 and 100. If ``size=20%`` is
-- given, fio will use 20% of the full size of the given files or devices.
-+ given, fio will use 20% of the full size of the given files or devices.
- In ZBD mode, value can also be set as number of zones using 'z'.
- Can be combined with :option:`offset` to constrain the start and end range
- that I/O will be done within.
-diff --git a/fio.1 b/fio.1
-index f3f3dc5d..d40b4247 100644
---- a/fio.1
-+++ b/fio.1
-@@ -292,7 +292,7 @@ For Zone Block Device Mode:
- .RS
- .P
- .PD 0
--z means Zone
-+z means Zone
- .P
- .PD
- .RE
-@@ -1083,7 +1083,7 @@ provided. Data before the given offset will not be touched. This
- effectively caps the file size at `real_size \- offset'. Can be combined with
- \fBsize\fR to constrain the start and end range of the I/O workload.
- A percentage can be specified by a number between 1 and 100 followed by '%',
--for example, `offset=20%' to specify 20%. In ZBD mode, value can be set as
-+for example, `offset=20%' to specify 20%. In ZBD mode, value can be set as
- number of zones using 'z'.
- .TP
- .BI offset_align \fR=\fPint
-@@ -1099,7 +1099,7 @@ specified). This option is useful if there are several jobs which are
- intended to operate on a file in parallel disjoint segments, with even
- spacing between the starting points. Percentages can be used for this option.
- If a percentage is given, the generated offset will be aligned to the minimum
--\fBblocksize\fR or to the value of \fBoffset_align\fR if provided.In ZBD mode, value
-+\fBblocksize\fR or to the value of \fBoffset_align\fR if provided.In ZBD mode, value
- can be set as number of zones using 'z'.
- .TP
- .BI number_ios \fR=\fPint
-@@ -1678,7 +1678,7 @@ If this option is not specified, fio will use the full size of the given
- files or devices. If the files do not exist, size must be given. It is also
- possible to give size as a percentage between 1 and 100. If `size=20%' is
- given, fio will use 20% of the full size of the given files or devices. In ZBD mode,
--size can be given in units of number of zones using 'z'. Can be combined with \fBoffset\fR to
-+size can be given in units of number of zones using 'z'. Can be combined with \fBoffset\fR to
- constrain the start and end range that I/O will be done within.
- .TP
- .BI io_size \fR=\fPint[%|z] "\fR,\fB io_limit" \fR=\fPint[%|z]
-@@ -1697,7 +1697,7 @@ also be set as number of zones using 'z'.
- .BI filesize \fR=\fPirange(int)
- Individual file sizes. May be a range, in which case fio will select sizes
- for files at random within the given range. If not given, each created file
--is the same size. This option overrides \fBsize\fR in terms of file size,
-+is the same size. This option overrides \fBsize\fR in terms of file size,
- i.e. \fBsize\fR becomes merely the default for \fBio_size\fR (and
- has no effect it all if \fBio_size\fR is set explicitly).
- .TP
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch
deleted file mode 100644
index 3196afa..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 331023be2b20d177d533e5fa18f5d8834570613f Mon Sep 17 00:00:00 2001
-From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
-Date: Tue, 16 Aug 2022 19:10:38 +0300
-Subject: [PATCH] doc: clarify that I/O errors may go unnoticed without
- direct=1
-
-Fixes: https://github.com/axboe/fio/issues/1443
-
-Reported-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
-Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
----
- HOWTO.rst | 7 +++++++
- fio.1 | 10 ++++++++++
- 2 files changed, 17 insertions(+)
-
-diff --git a/HOWTO.rst b/HOWTO.rst
-index c94238ed..08be687c 100644
---- a/HOWTO.rst
-+++ b/HOWTO.rst
-@@ -3927,6 +3927,13 @@ Error handling
- appended, the total error count and the first error. The error field given
- in the stats is the first error that was hit during the run.
-
-+ Note: a write error from the device may go unnoticed by fio when using
-+ buffered IO, as the write() (or similar) system call merely dirties the
-+ kernel pages, unless :option:`sync` or :option:`direct` is used. Device IO
-+ errors occur when the dirty data is actually written out to disk. If fully
-+ sync writes aren't desirable, :option:`fsync` or :option:`fdatasync` can be
-+ used as well. This is specific to writes, as reads are always synchronous.
-+
- The allowed values are:
-
- **none**
-diff --git a/fio.1 b/fio.1
-index d40b4247..27454b0b 100644
---- a/fio.1
-+++ b/fio.1
-@@ -3606,6 +3606,16 @@ EILSEQ) until the runtime is exceeded or the I/O size specified is
- completed. If this option is used, there are two more stats that are
- appended, the total error count and the first error. The error field given
- in the stats is the first error that was hit during the run.
-+.RS
-+.P
-+Note: a write error from the device may go unnoticed by fio when using buffered
-+IO, as the write() (or similar) system call merely dirties the kernel pages,
-+unless `sync' or `direct' is used. Device IO errors occur when the dirty data is
-+actually written out to disk. If fully sync writes aren't desirable, `fsync' or
-+`fdatasync' can be used as well. This is specific to writes, as reads are always
-+synchronous.
-+.RS
-+.P
- The allowed values are:
- .RS
- .RS
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch
deleted file mode 100644
index fd962ea..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 48ceba9c1870c9312d7214503371e0b781abba27 Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Tue, 23 Aug 2022 12:38:20 -0400
-Subject: [PATCH] Revert "Minor style fixups"
-
-This reverts commit 48f8268e88629d408ffd09b1601ad13366bd4ce1.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- backend.c | 2 +-
- filesetup.c | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/backend.c b/backend.c
-index 5159b60d..3a99850d 100644
---- a/backend.c
-+++ b/backend.c
-@@ -2321,7 +2321,7 @@ static void run_threads(struct sk_out *sk_out)
- * when setup_files() does not run into issues
- * later.
- */
-- if (!i && td->o.nr_files == 1) {
-+ if (!i && td->o.nr_files==1) {
- if (setup_shared_file(td)) {
- exit_value++;
- if (td->error)
-diff --git a/filesetup.c b/filesetup.c
-index 3e2ccf9b..144a0572 100644
---- a/filesetup.c
-+++ b/filesetup.c
-@@ -1109,8 +1109,9 @@ int setup_shared_file(struct thread_data *td)
- dprint(FD_FILE, "fio: extending shared file\n");
- f->real_file_size = file_size;
- err = extend_file(td, f);
-- if (!err)
-+ if (!err) {
- err = __file_invalidate_cache(td, f, 0, f->real_file_size);
-+ }
- get_file_sizes(td);
- dprint(FD_FILE, "shared setup new real_file_size=%llu\n",
- (unsigned long long)f->real_file_size);
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch
deleted file mode 100644
index 31d8345..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 1bc0dec3f54e67fa4767d0096ab377e900d5146f Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Tue, 23 Aug 2022 12:38:51 -0400
-Subject: [PATCH] Revert "Fix multithread issues when operating on a single
- shared file"
-
-This reverts commit acbda87c34c743ff2d9e125d9539bcfbbf49eb75.
-
-This commit introduced a lot of unintended consequences for
-create_serialize=0. The aim of the commit can be accomplished with a
-combination of filesize and io_size.
-
-Fixes: https://github.com/axboe/fio/issues/1442
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- backend.c | 19 +------------------
- file.h | 1 -
- filesetup.c | 46 ++--------------------------------------------
- 3 files changed, 3 insertions(+), 63 deletions(-)
-
-diff --git a/backend.c b/backend.c
-index 3a99850d..e5bb4e25 100644
---- a/backend.c
-+++ b/backend.c
-@@ -2314,25 +2314,8 @@ static void run_threads(struct sk_out *sk_out)
- for_each_td(td, i) {
- print_status_init(td->thread_number - 1);
-
-- if (!td->o.create_serialize) {
-- /*
-- * When operating on a single rile in parallel,
-- * perform single-threaded early setup so that
-- * when setup_files() does not run into issues
-- * later.
-- */
-- if (!i && td->o.nr_files==1) {
-- if (setup_shared_file(td)) {
-- exit_value++;
-- if (td->error)
-- log_err("fio: pid=%d, err=%d/%s\n",
-- (int) td->pid, td->error, td->verror);
-- td_set_runstate(td, TD_REAPED);
-- todo--;
-- }
-- }
-+ if (!td->o.create_serialize)
- continue;
-- }
-
- if (fio_verify_load_state(td))
- goto reap;
-diff --git a/file.h b/file.h
-index e646cf22..da1b8947 100644
---- a/file.h
-+++ b/file.h
-@@ -201,7 +201,6 @@ struct thread_data;
- extern void close_files(struct thread_data *);
- extern void close_and_free_files(struct thread_data *);
- extern uint64_t get_start_offset(struct thread_data *, struct fio_file *);
--extern int __must_check setup_shared_file(struct thread_data *);
- extern int __must_check setup_files(struct thread_data *);
- extern int __must_check file_invalidate_cache(struct thread_data *, struct fio_file *);
- #ifdef __cplusplus
-diff --git a/filesetup.c b/filesetup.c
-index 144a0572..1d3cc5ad 100644
---- a/filesetup.c
-+++ b/filesetup.c
-@@ -143,7 +143,7 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
- if (unlink_file || new_layout) {
- int ret;
-
-- dprint(FD_FILE, "layout %d unlink %d %s\n", new_layout, unlink_file, f->file_name);
-+ dprint(FD_FILE, "layout unlink %s\n", f->file_name);
-
- ret = td_io_unlink_file(td, f);
- if (ret != 0 && ret != ENOENT) {
-@@ -198,9 +198,6 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
- }
- }
-
--
-- dprint(FD_FILE, "fill file %s, size %llu\n", f->file_name, (unsigned long long) f->real_file_size);
--
- left = f->real_file_size;
- bs = td->o.max_bs[DDIR_WRITE];
- if (bs > left)
-@@ -1081,45 +1078,6 @@ static bool create_work_dirs(struct thread_data *td, const char *fname)
- return true;
- }
-
--int setup_shared_file(struct thread_data *td)
--{
-- struct fio_file *f;
-- uint64_t file_size;
-- int err = 0;
--
-- if (td->o.nr_files > 1) {
-- log_err("fio: shared file setup called for multiple files\n");
-- return -1;
-- }
--
-- get_file_sizes(td);
--
-- f = td->files[0];
--
-- if (f == NULL) {
-- log_err("fio: NULL shared file\n");
-- return -1;
-- }
--
-- file_size = thread_number * td->o.size;
-- dprint(FD_FILE, "shared setup %s real_file_size=%llu, desired=%llu\n",
-- f->file_name, (unsigned long long)f->real_file_size, (unsigned long long)file_size);
--
-- if (f->real_file_size < file_size) {
-- dprint(FD_FILE, "fio: extending shared file\n");
-- f->real_file_size = file_size;
-- err = extend_file(td, f);
-- if (!err) {
-- err = __file_invalidate_cache(td, f, 0, f->real_file_size);
-- }
-- get_file_sizes(td);
-- dprint(FD_FILE, "shared setup new real_file_size=%llu\n",
-- (unsigned long long)f->real_file_size);
-- }
--
-- return err;
--}
--
- /*
- * Open the files and setup files sizes, creating files if necessary.
- */
-@@ -1134,7 +1092,7 @@ int setup_files(struct thread_data *td)
- const unsigned long long bs = td_min_bs(td);
- uint64_t fs = 0;
-
-- dprint(FD_FILE, "setup files (thread_number=%d, subjob_number=%d)\n", td->thread_number, td->subjob_number);
-+ dprint(FD_FILE, "setup files\n");
-
- old_state = td_bump_runstate(td, TD_SETTING_UP);
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch
deleted file mode 100644
index e8cb337..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 98beea79a30f1541e646efae911dfce10ae18f5c Mon Sep 17 00:00:00 2001
-From: Brandon Paupore <brandon.paupore@wdc.com>
-Date: Fri, 5 Aug 2022 12:57:27 -0500
-Subject: [PATCH] Add wait for handling SIGBREAK
-
-When closing a command prompt window or terminating it using something
-like the taskkill command, each child process (such as a running FIO
-workload) is sent a SIGBREAK signal. Once those child processes have
-responded to that signal, Windows terminates them if they're still
-executing.
-
-This change has the main thread to wait for others to exit when handling
-a SIGBREAK signal, such that each job will still have time to wrap-up
-and give stats before the entire program terminates.
-
-Signed-off-by: Brandon Paupore <brandon.paupore@wdc.com>
----
- backend.c | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/backend.c b/backend.c
-index e5bb4e25..375a23e4 100644
---- a/backend.c
-+++ b/backend.c
-@@ -90,6 +90,25 @@ static void sig_int(int sig)
- }
- }
-
-+#ifdef WIN32
-+static void sig_break(int sig)
-+{
-+ struct thread_data *td;
-+ int i;
-+
-+ sig_int(sig);
-+
-+ /**
-+ * Windows terminates all job processes on SIGBREAK after the handler
-+ * returns, so give them time to wrap-up and give stats
-+ */
-+ for_each_td(td, i) {
-+ while (td->runstate < TD_EXITED)
-+ sleep(1);
-+ }
-+}
-+#endif
-+
- void sig_show_status(int sig)
- {
- show_running_run_stats();
-@@ -112,7 +131,7 @@ static void set_sig_handlers(void)
- /* Windows uses SIGBREAK as a quit signal from other applications */
- #ifdef WIN32
- memset(&act, 0, sizeof(act));
-- act.sa_handler = sig_int;
-+ act.sa_handler = sig_break;
- act.sa_flags = SA_RESTART;
- sigaction(SIGBREAK, &act, NULL);
- #endif
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch
deleted file mode 100644
index 8aea3ab..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 1e6918419f4a2e5dbd77dd2da82598f1af63f533 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Wed, 24 Aug 2022 12:01:39 -0600
-Subject: [PATCH] engines/io_uring: pass back correct error value when
- interrupted
-
-Running with an io_uring engine and using a USR1 signal to show
-current status will end up terminating the job with:
-
-fio: pid=91726, err=-4/file:ioengines.c:320, func=get_events, error=Unknown error -4
-sfx: (groupid=0, jobs=1): err=-4 (file:ioengines.c:320, func=get_events, error=Unknown error -4): pid=91726: Wed Aug 24 11:59:51 2022
-
-Ensure that the return value is set correctly based on the errno.
-
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- engines/io_uring.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/engines/io_uring.c b/engines/io_uring.c
-index cffc7371..89d64b06 100644
---- a/engines/io_uring.c
-+++ b/engines/io_uring.c
-@@ -445,12 +445,18 @@ static struct io_u *fio_ioring_event(struct thread_data *td, int event)
- struct io_uring_cqe *cqe;
- struct io_u *io_u;
- unsigned index;
-+ static int eio;
-
- index = (event + ld->cq_ring_off) & ld->cq_ring_mask;
-
- cqe = &ld->cq_ring.cqes[index];
- io_u = (struct io_u *) (uintptr_t) cqe->user_data;
-
-+ if (eio++ == 5) {
-+ printf("mark EIO\n");
-+ cqe->res = -EIO;
-+ }
-+
- if (cqe->res != io_u->xfer_buflen) {
- if (cqe->res > io_u->xfer_buflen)
- io_u->error = -cqe->res;
-@@ -532,6 +538,7 @@ static int fio_ioring_getevents(struct thread_data *td, unsigned int min,
- if (r < 0) {
- if (errno == EAGAIN || errno == EINTR)
- continue;
-+ r = -errno;
- td_verror(td, errno, "io_uring_enter");
- break;
- }
-@@ -665,6 +672,7 @@ static int fio_ioring_commit(struct thread_data *td)
- usleep(1);
- continue;
- }
-+ ret = -errno;
- td_verror(td, errno, "io_uring_enter submit");
- break;
- }
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch
deleted file mode 100644
index f477416..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 02fd5b722bdfef2e7ce8d4aeb1bc65308d37003f Mon Sep 17 00:00:00 2001
-From: Bart Van Assche <bvanassche@acm.org>
-Date: Wed, 24 Aug 2022 13:42:29 -0700
-Subject: [PATCH] Enable CPU affinity support on Android
-
-This patch enables the --cpumask=, --cpus_allowed= and
---cpus_allowed_policy= fio options.
-
-Signed-off-by: Bart Van Assche <bvanassche@acm.org>
----
- os/os-android.h | 26 ++++++++++++++++++++++++++
- 1 file changed, 26 insertions(+)
-
-diff --git a/os/os-android.h b/os/os-android.h
-index 2f73d249..34534239 100644
---- a/os/os-android.h
-+++ b/os/os-android.h
-@@ -24,6 +24,7 @@
- #define __has_builtin(x) 0 // Compatibility with non-clang compilers.
- #endif
-
-+#define FIO_HAVE_CPU_AFFINITY
- #define FIO_HAVE_DISK_UTIL
- #define FIO_HAVE_IOSCHED_SWITCH
- #define FIO_HAVE_IOPRIO
-@@ -44,6 +45,13 @@
-
- #define OS_MAP_ANON MAP_ANONYMOUS
-
-+typedef cpu_set_t os_cpu_mask_t;
-+
-+#define fio_setaffinity(pid, cpumask) \
-+ sched_setaffinity((pid), sizeof(cpumask), &(cpumask))
-+#define fio_getaffinity(pid, ptr) \
-+ sched_getaffinity((pid), sizeof(cpu_set_t), (ptr))
-+
- #ifndef POSIX_MADV_DONTNEED
- #define posix_madvise madvise
- #define POSIX_MADV_DONTNEED MADV_DONTNEED
-@@ -64,6 +72,24 @@
- pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask))
- #endif
-
-+#define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask))
-+#define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask))
-+#define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0)
-+#define fio_cpu_count(mask) CPU_COUNT((mask))
-+
-+static inline int fio_cpuset_init(os_cpu_mask_t *mask)
-+{
-+ CPU_ZERO(mask);
-+ return 0;
-+}
-+
-+static inline int fio_cpuset_exit(os_cpu_mask_t *mask)
-+{
-+ return 0;
-+}
-+
-+#define FIO_MAX_CPUS CPU_SETSIZE
-+
- #ifndef CONFIG_NO_SHM
- /*
- * Bionic doesn't support SysV shared memory, so implement it using ashmem
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch
deleted file mode 100644
index 24952f1..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 72d7f2139454528b9ebfb2f988a35f9a739680d0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 24 Aug 2022 18:08:53 -0700
-Subject: [PATCH] io_uring: Replace pthread_self with s->tid
-
-__init_rand64 takes 64bit value and srand48 takes unsigned 32bit value,
-pthread_t is opaque type and some libcs ( e.g. musl ) do not define them
-in plain old data types and ends up with errors
-
-| t/io_uring.c:809:32: error: incompatible pointer to integer conversion passing 'pthread_t' (aka 'struct __pthread *') to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conver
-sion]
-| __init_rand64(&s->rand_state, pthread_self());
-| ^~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- t/io_uring.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/t/io_uring.c b/t/io_uring.c
-index 35bf1956..f34a3554 100644
---- a/t/io_uring.c
-+++ b/t/io_uring.c
-@@ -799,15 +799,14 @@ static int submitter_init(struct submitter *s)
- int i, nr_batch, err;
- static int init_printed;
- char buf[80];
--
- s->tid = gettid();
- printf("submitter=%d, tid=%d, file=%s, node=%d\n", s->index, s->tid,
- s->filename, s->numa_node);
-
- set_affinity(s);
-
-- __init_rand64(&s->rand_state, pthread_self());
-- srand48(pthread_self());
-+ __init_rand64(&s->rand_state, s->tid);
-+ srand48(s->tid);
-
- for (i = 0; i < MAX_FDS; i++)
- s->files[i].fileno = i;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch
deleted file mode 100644
index b4f3d0d..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 85f8181d42050f8a8c9ddf6d30f621054f0e6890 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Thu, 25 Aug 2022 11:19:34 -0600
-Subject: [PATCH] engines/io_uring: delete debug code
-
-This was inadvertently introduced by a previous commit, get rid
-of it.
-
-Fixes: 1816895b788e ("engines/io_uring: pass back correct error value when interrupted")
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- engines/io_uring.c | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/engines/io_uring.c b/engines/io_uring.c
-index 89d64b06..94376efa 100644
---- a/engines/io_uring.c
-+++ b/engines/io_uring.c
-@@ -445,18 +445,12 @@ static struct io_u *fio_ioring_event(struct thread_data *td, int event)
- struct io_uring_cqe *cqe;
- struct io_u *io_u;
- unsigned index;
-- static int eio;
-
- index = (event + ld->cq_ring_off) & ld->cq_ring_mask;
-
- cqe = &ld->cq_ring.cqes[index];
- io_u = (struct io_u *) (uintptr_t) cqe->user_data;
-
-- if (eio++ == 5) {
-- printf("mark EIO\n");
-- cqe->res = -EIO;
-- }
--
- if (cqe->res != io_u->xfer_buflen) {
- if (cqe->res > io_u->xfer_buflen)
- io_u->error = -cqe->res;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch
deleted file mode 100644
index f32c886..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a10cec0440a7574ffb76ff52fbc33a250f067d6a Mon Sep 17 00:00:00 2001
-From: Anuj Gupta <anuj20.g@samsung.com>
-Date: Fri, 26 Aug 2022 17:03:05 +0530
-Subject: [PATCH] t/io_uring: prep for including engines/nvme.h in t/io_uring
-
-Change page_size and cal_clat_percentiles name to something different
-as these are indirectly picked from engines/nvme.h (fio.h and stat.h)
-
-Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
-Link: https://lore.kernel.org/r/20220826113306.4139-2-anuj20.g@samsung.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- t/io_uring.c | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/t/io_uring.c b/t/io_uring.c
-index f34a3554..6e4737e4 100644
---- a/t/io_uring.c
-+++ b/t/io_uring.c
-@@ -117,7 +117,7 @@ static struct submitter *submitter;
- static volatile int finish;
- static int stats_running;
- static unsigned long max_iops;
--static long page_size;
-+static long t_io_uring_page_size;
-
- static int depth = DEPTH;
- static int batch_submit = BATCH_SUBMIT;
-@@ -195,9 +195,9 @@ static unsigned long plat_idx_to_val(unsigned int idx)
- return cycles_to_nsec(base + ((k + 0.5) * (1 << error_bits)));
- }
-
--unsigned int calc_clat_percentiles(unsigned long *io_u_plat, unsigned long nr,
-- unsigned long **output,
-- unsigned long *maxv, unsigned long *minv)
-+unsigned int calculate_clat_percentiles(unsigned long *io_u_plat,
-+ unsigned long nr, unsigned long **output,
-+ unsigned long *maxv, unsigned long *minv)
- {
- unsigned long sum = 0;
- unsigned int len = plist_len, i, j = 0;
-@@ -251,7 +251,7 @@ static void show_clat_percentiles(unsigned long *io_u_plat, unsigned long nr,
- bool is_last;
- char fmt[32];
-
-- len = calc_clat_percentiles(io_u_plat, nr, &ovals, &maxv, &minv);
-+ len = calculate_clat_percentiles(io_u_plat, nr, &ovals, &maxv, &minv);
- if (!len || !ovals)
- goto out;
-
-@@ -786,7 +786,7 @@ static void *allocate_mem(struct submitter *s, int size)
- return numa_alloc_onnode(size, s->numa_node);
- #endif
-
-- if (posix_memalign(&buf, page_size, bs)) {
-+ if (posix_memalign(&buf, t_io_uring_page_size, bs)) {
- printf("failed alloc\n");
- return NULL;
- }
-@@ -1542,9 +1542,9 @@ int main(int argc, char *argv[])
-
- arm_sig_int();
-
-- page_size = sysconf(_SC_PAGESIZE);
-- if (page_size < 0)
-- page_size = 4096;
-+ t_io_uring_page_size = sysconf(_SC_PAGESIZE);
-+ if (t_io_uring_page_size < 0)
-+ t_io_uring_page_size = 4096;
-
- for (j = 0; j < nthreads; j++) {
- s = get_submitter(j);
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch
deleted file mode 100644
index 8ef7d13..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch
+++ /dev/null
@@ -1,379 +0,0 @@
-From fa4a1345ca7cd60ae0b96da286f45621a3f45a33 Mon Sep 17 00:00:00 2001
-From: Anuj Gupta <anuj20.g@samsung.com>
-Date: Fri, 26 Aug 2022 17:03:06 +0530
-Subject: [PATCH] t/io_uring: add support for async-passthru
-
-This patch adds support for async-passthru in t/io_uring. User needs to
-specify -u1 option in the command
-
-Example commandline:
-t/io_uring -b512 -d128 -c32 -s32 -p0 -F1 -B0 -O0 -n1 -u1 /dev/ng0n1
-
-Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
-Link: https://lore.kernel.org/r/20220826113306.4139-3-anuj20.g@samsung.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- t/io_uring.c | 238 +++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 230 insertions(+), 8 deletions(-)
-
-diff --git a/t/io_uring.c b/t/io_uring.c
-index 6e4737e4..0a90f85c 100644
---- a/t/io_uring.c
-+++ b/t/io_uring.c
-@@ -35,6 +35,7 @@
- #include "../lib/rand.h"
- #include "../minmax.h"
- #include "../os/linux/io_uring.h"
-+#include "../engines/nvme.h"
-
- struct io_sq_ring {
- unsigned *head;
-@@ -67,6 +68,8 @@ struct file {
- unsigned long max_size;
- unsigned long cur_off;
- unsigned pending_ios;
-+ unsigned int nsid; /* nsid field required for nvme-passthrough */
-+ unsigned int lba_shift; /* lba_shift field required for nvme-passthrough */
- int real_fd;
- int fixed_fd;
- int fileno;
-@@ -139,6 +142,7 @@ static int random_io = 1; /* random or sequential IO */
- static int register_ring = 1; /* register ring */
- static int use_sync = 0; /* use preadv2 */
- static int numa_placement = 0; /* set to node of device */
-+static int pt = 0; /* passthrough I/O or not */
-
- static unsigned long tsc_rate;
-
-@@ -161,6 +165,54 @@ struct io_uring_map_buffers {
- };
- #endif
-
-+static int nvme_identify(int fd, __u32 nsid, enum nvme_identify_cns cns,
-+ enum nvme_csi csi, void *data)
-+{
-+ struct nvme_passthru_cmd cmd = {
-+ .opcode = nvme_admin_identify,
-+ .nsid = nsid,
-+ .addr = (__u64)(uintptr_t)data,
-+ .data_len = NVME_IDENTIFY_DATA_SIZE,
-+ .cdw10 = cns,
-+ .cdw11 = csi << NVME_IDENTIFY_CSI_SHIFT,
-+ .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT,
-+ };
-+
-+ return ioctl(fd, NVME_IOCTL_ADMIN_CMD, &cmd);
-+}
-+
-+static int nvme_get_info(int fd, __u32 *nsid, __u32 *lba_sz, __u64 *nlba)
-+{
-+ struct nvme_id_ns ns;
-+ int namespace_id;
-+ int err;
-+
-+ namespace_id = ioctl(fd, NVME_IOCTL_ID);
-+ if (namespace_id < 0) {
-+ fprintf(stderr, "error failed to fetch namespace-id\n");
-+ close(fd);
-+ return -errno;
-+ }
-+
-+ /*
-+ * Identify namespace to get namespace-id, namespace size in LBA's
-+ * and LBA data size.
-+ */
-+ err = nvme_identify(fd, namespace_id, NVME_IDENTIFY_CNS_NS,
-+ NVME_CSI_NVM, &ns);
-+ if (err) {
-+ fprintf(stderr, "error failed to fetch identify namespace\n");
-+ close(fd);
-+ return err;
-+ }
-+
-+ *nsid = namespace_id;
-+ *lba_sz = 1 << ns.lbaf[(ns.flbas & 0x0f)].ds;
-+ *nlba = ns.nsze;
-+
-+ return 0;
-+}
-+
- static unsigned long cycles_to_nsec(unsigned long cycles)
- {
- uint64_t val;
-@@ -520,6 +572,65 @@ static void init_io(struct submitter *s, unsigned index)
- sqe->user_data |= ((uint64_t)s->clock_index << 32);
- }
-
-+static void init_io_pt(struct submitter *s, unsigned index)
-+{
-+ struct io_uring_sqe *sqe = &s->sqes[index << 1];
-+ unsigned long offset;
-+ struct file *f;
-+ struct nvme_uring_cmd *cmd;
-+ unsigned long long slba;
-+ unsigned long long nlb;
-+ long r;
-+
-+ if (s->nr_files == 1) {
-+ f = &s->files[0];
-+ } else {
-+ f = &s->files[s->cur_file];
-+ if (f->pending_ios >= file_depth(s)) {
-+ s->cur_file++;
-+ if (s->cur_file == s->nr_files)
-+ s->cur_file = 0;
-+ f = &s->files[s->cur_file];
-+ }
-+ }
-+ f->pending_ios++;
-+
-+ if (random_io) {
-+ r = __rand64(&s->rand_state);
-+ offset = (r % (f->max_blocks - 1)) * bs;
-+ } else {
-+ offset = f->cur_off;
-+ f->cur_off += bs;
-+ if (f->cur_off + bs > f->max_size)
-+ f->cur_off = 0;
-+ }
-+
-+ if (register_files) {
-+ sqe->fd = f->fixed_fd;
-+ sqe->flags = IOSQE_FIXED_FILE;
-+ } else {
-+ sqe->fd = f->real_fd;
-+ sqe->flags = 0;
-+ }
-+ sqe->opcode = IORING_OP_URING_CMD;
-+ sqe->user_data = (unsigned long) f->fileno;
-+ if (stats)
-+ sqe->user_data |= ((unsigned long)s->clock_index << 32);
-+ sqe->cmd_op = NVME_URING_CMD_IO;
-+ slba = offset >> f->lba_shift;
-+ nlb = (bs >> f->lba_shift) - 1;
-+ cmd = (struct nvme_uring_cmd *)&sqe->cmd;
-+ /* cdw10 and cdw11 represent starting slba*/
-+ cmd->cdw10 = slba & 0xffffffff;
-+ cmd->cdw11 = slba >> 32;
-+ /* cdw12 represent number of lba to be read*/
-+ cmd->cdw12 = nlb;
-+ cmd->addr = (unsigned long) s->iovecs[index].iov_base;
-+ cmd->data_len = bs;
-+ cmd->nsid = f->nsid;
-+ cmd->opcode = 2;
-+}
-+
- static int prep_more_ios_uring(struct submitter *s, int max_ios)
- {
- struct io_sq_ring *ring = &s->sq_ring;
-@@ -532,7 +643,10 @@ static int prep_more_ios_uring(struct submitter *s, int max_ios)
- break;
-
- index = tail & sq_ring_mask;
-- init_io(s, index);
-+ if (pt)
-+ init_io_pt(s, index);
-+ else
-+ init_io(s, index);
- ring->array[index] = index;
- prepped++;
- tail = next_tail;
-@@ -549,7 +663,29 @@ static int get_file_size(struct file *f)
-
- if (fstat(f->real_fd, &st) < 0)
- return -1;
-- if (S_ISBLK(st.st_mode)) {
-+ if (pt) {
-+ __u64 nlba;
-+ __u32 lbs;
-+ int ret;
-+
-+ if (!S_ISCHR(st.st_mode)) {
-+ fprintf(stderr, "passthrough works with only nvme-ns "
-+ "generic devices (/dev/ngXnY)\n");
-+ return -1;
-+ }
-+ ret = nvme_get_info(f->real_fd, &f->nsid, &lbs, &nlba);
-+ if (ret)
-+ return -1;
-+ if ((bs % lbs) != 0) {
-+ printf("error: bs:%d should be a multiple logical_block_size:%d\n",
-+ bs, lbs);
-+ return -1;
-+ }
-+ f->max_blocks = nlba / bs;
-+ f->max_size = nlba;
-+ f->lba_shift = ilog2(lbs);
-+ return 0;
-+ } else if (S_ISBLK(st.st_mode)) {
- unsigned long long bytes;
-
- if (ioctl(f->real_fd, BLKGETSIZE64, &bytes) != 0)
-@@ -620,6 +756,60 @@ static int reap_events_uring(struct submitter *s)
- return reaped;
- }
-
-+static int reap_events_uring_pt(struct submitter *s)
-+{
-+ struct io_cq_ring *ring = &s->cq_ring;
-+ struct io_uring_cqe *cqe;
-+ unsigned head, reaped = 0;
-+ int last_idx = -1, stat_nr = 0;
-+ unsigned index;
-+ int fileno;
-+
-+ head = *ring->head;
-+ do {
-+ struct file *f;
-+
-+ read_barrier();
-+ if (head == atomic_load_acquire(ring->tail))
-+ break;
-+ index = head & cq_ring_mask;
-+ cqe = &ring->cqes[index << 1];
-+ fileno = cqe->user_data & 0xffffffff;
-+ f = &s->files[fileno];
-+ f->pending_ios--;
-+
-+ if (cqe->res != 0) {
-+ printf("io: unexpected ret=%d\n", cqe->res);
-+ if (polled && cqe->res == -EINVAL)
-+ printf("passthrough doesn't support polled IO\n");
-+ return -1;
-+ }
-+ if (stats) {
-+ int clock_index = cqe->user_data >> 32;
-+
-+ if (last_idx != clock_index) {
-+ if (last_idx != -1) {
-+ add_stat(s, last_idx, stat_nr);
-+ stat_nr = 0;
-+ }
-+ last_idx = clock_index;
-+ }
-+ stat_nr++;
-+ }
-+ reaped++;
-+ head++;
-+ } while (1);
-+
-+ if (stat_nr)
-+ add_stat(s, last_idx, stat_nr);
-+
-+ if (reaped) {
-+ s->inflight -= reaped;
-+ atomic_store_release(ring->head, head);
-+ }
-+ return reaped;
-+}
-+
- static void set_affinity(struct submitter *s)
- {
- #ifdef CONFIG_LIBNUMA
-@@ -697,6 +887,7 @@ static int setup_ring(struct submitter *s)
- struct io_uring_params p;
- int ret, fd;
- void *ptr;
-+ size_t len;
-
- memset(&p, 0, sizeof(p));
-
-@@ -709,6 +900,10 @@ static int setup_ring(struct submitter *s)
- p.sq_thread_cpu = sq_thread_cpu;
- }
- }
-+ if (pt) {
-+ p.flags |= IORING_SETUP_SQE128;
-+ p.flags |= IORING_SETUP_CQE32;
-+ }
-
- fd = io_uring_setup(depth, &p);
- if (fd < 0) {
-@@ -761,11 +956,22 @@ static int setup_ring(struct submitter *s)
- sring->array = ptr + p.sq_off.array;
- sq_ring_mask = *sring->ring_mask;
-
-- s->sqes = mmap(0, p.sq_entries * sizeof(struct io_uring_sqe),
-+ if (p.flags & IORING_SETUP_SQE128)
-+ len = 2 * p.sq_entries * sizeof(struct io_uring_sqe);
-+ else
-+ len = p.sq_entries * sizeof(struct io_uring_sqe);
-+ s->sqes = mmap(0, len,
- PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd,
- IORING_OFF_SQES);
-
-- ptr = mmap(0, p.cq_off.cqes + p.cq_entries * sizeof(struct io_uring_cqe),
-+ if (p.flags & IORING_SETUP_CQE32) {
-+ len = p.cq_off.cqes +
-+ 2 * p.cq_entries * sizeof(struct io_uring_cqe);
-+ } else {
-+ len = p.cq_off.cqes +
-+ p.cq_entries * sizeof(struct io_uring_cqe);
-+ }
-+ ptr = mmap(0, len,
- PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd,
- IORING_OFF_CQ_RING);
- cring->head = ptr + p.cq_off.head;
-@@ -855,7 +1061,16 @@ static int submitter_init(struct submitter *s)
- s->plat = NULL;
- nr_batch = 0;
- }
-+ /* perform the expensive command initialization part for passthrough here
-+ * rather than in the fast path
-+ */
-+ if (pt) {
-+ for (i = 0; i < roundup_pow2(depth); i++) {
-+ struct io_uring_sqe *sqe = &s->sqes[i << 1];
-
-+ memset(&sqe->cmd, 0, sizeof(struct nvme_uring_cmd));
-+ }
-+ }
- return nr_batch;
- }
-
-@@ -1111,7 +1326,10 @@ submit:
- do {
- int r;
-
-- r = reap_events_uring(s);
-+ if (pt)
-+ r = reap_events_uring_pt(s);
-+ else
-+ r = reap_events_uring(s);
- if (r == -1) {
- s->finish = 1;
- break;
-@@ -1305,11 +1523,12 @@ static void usage(char *argv, int status)
- " -a <bool> : Use legacy aio, default %d\n"
- " -S <bool> : Use sync IO (preadv2), default %d\n"
- " -X <bool> : Use registered ring %d\n"
-- " -P <bool> : Automatically place on device home node %d\n",
-+ " -P <bool> : Automatically place on device home node %d\n"
-+ " -u <bool> : Use nvme-passthrough I/O, default %d\n",
- argv, DEPTH, BATCH_SUBMIT, BATCH_COMPLETE, BS, polled,
- fixedbufs, dma_map, register_files, nthreads, !buffered, do_nop,
- stats, runtime == 0 ? "unlimited" : runtime_str, random_io, aio,
-- use_sync, register_ring, numa_placement);
-+ use_sync, register_ring, numa_placement, pt);
- exit(status);
- }
-
-@@ -1368,7 +1587,7 @@ int main(int argc, char *argv[])
- if (!do_nop && argc < 2)
- usage(argv[0], 1);
-
-- while ((opt = getopt(argc, argv, "d:s:c:b:p:B:F:n:N:O:t:T:a:r:D:R:X:S:P:h?")) != -1) {
-+ while ((opt = getopt(argc, argv, "d:s:c:b:p:B:F:n:N:O:t:T:a:r:D:R:X:S:P:u:h?")) != -1) {
- switch (opt) {
- case 'a':
- aio = !!atoi(optarg);
-@@ -1449,6 +1668,9 @@ int main(int argc, char *argv[])
- case 'P':
- numa_placement = !!atoi(optarg);
- break;
-+ case 'u':
-+ pt = !!atoi(optarg);
-+ break;
- case 'h':
- case '?':
- default:
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch
deleted file mode 100644
index ba687e0..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 286bed8bc95fbc7d8a1d00b1861037bc215948ee Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Fri, 26 Aug 2022 07:52:54 -0600
-Subject: [PATCH] t/io_uring: fix 64-bit cast on 32-bit archs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-gcc complains that:
-
-t/io_uring.c: In function ‘init_io_pt’:
-t/io_uring.c:618:52: error: left shift count >= width of type [-Werror=shift-count-overflow]
- 618 | sqe->user_data |= ((unsigned long)s->clock_index << 32);
- | ^~
-
-we're shifting more than the size of the type. Cast to a 64-bit value
-so that it'll work on 32-bit as well.
-
-Fixes: 7d04588a7663 ("t/io_uring: add support for async-passthru")
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- t/io_uring.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/t/io_uring.c b/t/io_uring.c
-index 0a90f85c..b90bcf78 100644
---- a/t/io_uring.c
-+++ b/t/io_uring.c
-@@ -615,7 +615,7 @@ static void init_io_pt(struct submitter *s, unsigned index)
- sqe->opcode = IORING_OP_URING_CMD;
- sqe->user_data = (unsigned long) f->fileno;
- if (stats)
-- sqe->user_data |= ((unsigned long)s->clock_index << 32);
-+ sqe->user_data |= ((__u64) s->clock_index << 32ULL);
- sqe->cmd_op = NVME_URING_CMD_IO;
- slba = offset >> f->lba_shift;
- nlb = (bs >> f->lba_shift) - 1;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch
deleted file mode 100644
index 7472eea..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From c3df3532a507e6d7c66339dee6eb022feab68f59 Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Thu, 25 Aug 2022 12:08:33 -0700
-Subject: [PATCH] test: add basic test for io_uring ioengine
-
-We should have a quick smoke test for the io_uring ioengine to
-automatically detect breakage.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- t/jobs/t0018.fio | 9 +++++++++
- t/run-fio-tests.py | 22 ++++++++++++++++++++++
- 2 files changed, 31 insertions(+)
- create mode 100644 t/jobs/t0018.fio
-
-diff --git a/t/jobs/t0018.fio b/t/jobs/t0018.fio
-new file mode 100644
-index 00000000..e2298b1f
---- /dev/null
-+++ b/t/jobs/t0018.fio
-@@ -0,0 +1,9 @@
-+# Expected result: job completes without error
-+# Buggy result: job fails
-+
-+[test]
-+ioengine=io_uring
-+filesize=256K
-+time_based
-+runtime=3s
-+rw=randrw
-diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
-index 504b7cdb..1e5e9f24 100755
---- a/t/run-fio-tests.py
-+++ b/t/run-fio-tests.py
-@@ -582,6 +582,7 @@ class Requirements(object):
-
- _linux = False
- _libaio = False
-+ _io_uring = False
- _zbd = False
- _root = False
- _zoned_nullb = False
-@@ -605,6 +606,12 @@ class Requirements(object):
- Requirements._zbd = "CONFIG_HAS_BLKZONED" in contents
- Requirements._libaio = "CONFIG_LIBAIO" in contents
-
-+ contents, success = FioJobTest.get_file("/proc/kallsyms")
-+ if not success:
-+ print("Unable to open '/proc/kallsyms' to probe for io_uring support")
-+ else:
-+ Requirements._io_uring = "io_uring_setup" in contents
-+
- Requirements._root = (os.geteuid() == 0)
- if Requirements._zbd and Requirements._root:
- try:
-@@ -627,6 +634,7 @@ class Requirements(object):
-
- req_list = [Requirements.linux,
- Requirements.libaio,
-+ Requirements.io_uring,
- Requirements.zbd,
- Requirements.root,
- Requirements.zoned_nullb,
-@@ -648,6 +656,11 @@ class Requirements(object):
- """Is libaio available?"""
- return Requirements._libaio, "libaio required"
-
-+ @classmethod
-+ def io_uring(cls):
-+ """Is io_uring available?"""
-+ return Requirements._io_uring, "io_uring required"
-+
- @classmethod
- def zbd(cls):
- """Is ZBD support available?"""
-@@ -867,6 +880,15 @@ TEST_LIST = [
- 'output_format': 'json',
- 'requirements': [Requirements.not_windows],
- },
-+ {
-+ 'test_id': 18,
-+ 'test_class': FioJobTest,
-+ 'job': 't0018.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'requirements': [Requirements.linux, Requirements.io_uring],
-+ },
- {
- 'test_id': 1000,
- 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch
deleted file mode 100644
index c75ec36..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 575bea1c9b642a11ac5b7162aea6a9f905c60318 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Fri, 26 Aug 2022 14:14:44 -0600
-Subject: [PATCH] t/io_uring: remove duplicate definition of gettid()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-With a recent change, we now include os.h through nvme.h, and this
-can cause a duplicate gettid() definition:
-
-t/io_uring.c:499:12: error: redefinition of ‘gettid’
- static int gettid(void)
- ^~~~~~
-In file included from t/../engines/../os/os.h:39,
- from t/../engines/../thread_options.h:5,
- from t/../engines/../fio.h:18,
- from t/../engines/nvme.h:10,
- from t/io_uring.c:38:
-t/../engines/../os/os-linux.h:147:19: note: previous definition of
-‘gettid’ was here
- static inline int gettid(void)
- ^~~~~~
-
-Include os.h directly to make it clear that we use it, and remove the
-gettid() definition from io_uring.c.
-
-Reported-by: Yi Zhang <yi.zhang@redhat.com>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- t/io_uring.c | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/t/io_uring.c b/t/io_uring.c
-index b90bcf78..e8e41796 100644
---- a/t/io_uring.c
-+++ b/t/io_uring.c
-@@ -30,6 +30,7 @@
- #include <sched.h>
-
- #include "../arch/arch.h"
-+#include "../os/os.h"
- #include "../lib/types.h"
- #include "../lib/roundup.h"
- #include "../lib/rand.h"
-@@ -495,13 +496,6 @@ static int io_uring_enter(struct submitter *s, unsigned int to_submit,
- #endif
- }
-
--#ifndef CONFIG_HAVE_GETTID
--static int gettid(void)
--{
-- return syscall(__NR_gettid);
--}
--#endif
--
- static unsigned file_depth(struct submitter *s)
- {
- return (depth + s->nr_files - 1) / s->nr_files;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch
deleted file mode 100644
index 2abd449..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 1eef6cddda678b0d1a120970bc4cc961c285c81e Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 29 Aug 2022 11:30:30 -0400
-Subject: [PATCH] test: add some tests for seq and rand offsets
-
-t/jobs/t0019.fio is a seq read test
-t/jobs/t0020.fio is a rand read test
-
-We don't have any automated tests which make sure that sequential access
-patterns are actually sequential and that random access patterns are not
-sequential. Add these two tests to help detect the possibility that
-these features could break.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- t/jobs/t0019.fio | 10 ++++++
- t/jobs/t0020.fio | 11 ++++++
- t/run-fio-tests.py | 84 ++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 105 insertions(+)
- create mode 100644 t/jobs/t0019.fio
- create mode 100644 t/jobs/t0020.fio
-
-diff --git a/t/jobs/t0019.fio b/t/jobs/t0019.fio
-new file mode 100644
-index 00000000..b60d27d2
---- /dev/null
-+++ b/t/jobs/t0019.fio
-@@ -0,0 +1,10 @@
-+# Expected result: offsets are accessed sequentially and all offsets are read
-+# Buggy result: offsets are not accessed sequentially and one or more offsets are missed
-+# run with --debug=io or logging to see which offsets are accessed
-+
-+[test]
-+ioengine=null
-+filesize=1M
-+write_bw_log=test
-+per_job_logs=0
-+log_offset=1
-diff --git a/t/jobs/t0020.fio b/t/jobs/t0020.fio
-new file mode 100644
-index 00000000..1c1c5166
---- /dev/null
-+++ b/t/jobs/t0020.fio
-@@ -0,0 +1,11 @@
-+# Expected result: offsets are not accessed sequentially and all offsets are touched
-+# Buggy result: offsets are accessed sequentially and one or more offsets are missed
-+# run with --debug=io or logging to see which offsets are read
-+
-+[test]
-+ioengine=null
-+filesize=1M
-+rw=randread
-+write_bw_log=test
-+per_job_logs=0
-+log_offset=1
-diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
-index 1e5e9f24..78f43521 100755
---- a/t/run-fio-tests.py
-+++ b/t/run-fio-tests.py
-@@ -548,6 +548,72 @@ class FioJobTest_t0015(FioJobTest):
- self.passed = False
-
-
-+class FioJobTest_t0019(FioJobTest):
-+ """Test consists of fio test job t0019
-+ Confirm that all offsets were touched sequentially"""
-+
-+ def check_result(self):
-+ super(FioJobTest_t0019, self).check_result()
-+
-+ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
-+ file_data, success = self.get_file(bw_log_filename)
-+ log_lines = file_data.split('\n')
-+
-+ prev = -4096
-+ for line in log_lines:
-+ if len(line.strip()) == 0:
-+ continue
-+ cur = int(line.split(',')[4])
-+ if cur - prev != 4096:
-+ self.passed = False
-+ self.failure_reason = "offsets {0}, {1} not sequential".format(prev, cur)
-+ return
-+ prev = cur
-+
-+ if cur/4096 != 255:
-+ self.passed = False
-+ self.failure_reason = "unexpected last offset {0}".format(cur)
-+
-+
-+class FioJobTest_t0020(FioJobTest):
-+ """Test consists of fio test job t0020
-+ Confirm that almost all offsets were touched non-sequentially"""
-+
-+ def check_result(self):
-+ super(FioJobTest_t0020, self).check_result()
-+
-+ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
-+ file_data, success = self.get_file(bw_log_filename)
-+ log_lines = file_data.split('\n')
-+
-+ seq_count = 0
-+ offsets = set()
-+
-+ prev = int(log_lines[0].split(',')[4])
-+ for line in log_lines[1:]:
-+ offsets.add(prev/4096)
-+ if len(line.strip()) == 0:
-+ continue
-+ cur = int(line.split(',')[4])
-+ if cur - prev == 4096:
-+ seq_count += 1
-+ prev = cur
-+
-+ # 10 is an arbitrary threshold
-+ if seq_count > 10:
-+ self.passed = False
-+ self.failure_reason = "too many ({0}) consecutive offsets".format(seq_count)
-+
-+ if len(offsets) != 256:
-+ self.passed = False
-+ self.failure_reason += " number of offsets is {0} instead of 256".format(len(offsets))
-+
-+ for i in range(256):
-+ if not i in offsets:
-+ self.passed = False
-+ self.failure_reason += " missing offset {0}".format(i*4096)
-+
-+
- class FioJobTest_iops_rate(FioJobTest):
- """Test consists of fio test job t0009
- Confirm that job0 iops == 1000
-@@ -889,6 +955,24 @@ TEST_LIST = [
- 'pre_success': None,
- 'requirements': [Requirements.linux, Requirements.io_uring],
- },
-+ {
-+ 'test_id': 19,
-+ 'test_class': FioJobTest_t0019,
-+ 'job': 't0019.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'requirements': [],
-+ },
-+ {
-+ 'test_id': 20,
-+ 'test_class': FioJobTest_t0020,
-+ 'job': 't0020.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'requirements': [],
-+ },
- {
- 'test_id': 1000,
- 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch
deleted file mode 100644
index b471d9c..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From abfe30b1fe8118a4ff935bd7cb03243329eba4b8 Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 29 Aug 2022 14:24:16 -0400
-Subject: [PATCH] test: use Ubuntu 22.04 for 64-bit tests
-
-On 22.04 there was a conflict among libunwind-14-dev, libunwind-dev, and
-libunwind8 that was resolved by removing libunwind-14-dev.
-
-The 32-bit Ubuntu setup steps require more attention to get them to work
-on 22.04. Stay on 20.04 for now and figure it out later.
-
-Starting pkgProblemResolver with broken count: 1
-Starting 2 pkgProblemResolver with broken count: 1
-Investigating (0) libunwind-14-dev:amd64 < 1:14.0.0-1ubuntu1 @ii K Ib >
-Broken libunwind-14-dev:amd64 Breaks on libunwind-dev:amd64 < none -> 1.3.2-2build2 @un puN >
- Considering libunwind-dev:amd64 -1 as a solution to libunwind-14-dev:amd64 2
-Done
-Some packages could not be installed. This may mean that you have
-requested an impossible situation or if you are using the unstable
-distribution that some required packages have not yet been created
-or been moved out of Incoming.
-The following information may help to resolve the situation:
-
-The following packages have unmet dependencies:
- libunwind-14-dev : Breaks: libunwind-dev but 1.3.2-2build2 is to be installed
-E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- .github/workflows/ci.yml | 6 +++---
- ci/actions-install.sh | 2 ++
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
-index 650366b2..85104e5a 100644
---- a/.github/workflows/ci.yml
-+++ b/.github/workflows/ci.yml
-@@ -18,10 +18,10 @@ jobs:
- - android
- include:
- - build: linux-gcc
-- os: ubuntu-20.04
-+ os: ubuntu-22.04
- cc: gcc
- - build: linux-clang
-- os: ubuntu-20.04
-+ os: ubuntu-22.04
- cc: clang
- - build: macos
- os: macos-11
-@@ -29,7 +29,7 @@ jobs:
- os: ubuntu-20.04
- arch: i686
- - build: android
-- os: ubuntu-20.04
-+ os: ubuntu-22.04
- arch: aarch64-linux-android32
-
- env:
-diff --git a/ci/actions-install.sh b/ci/actions-install.sh
-index b5c4198f..7017de2a 100755
---- a/ci/actions-install.sh
-+++ b/ci/actions-install.sh
-@@ -54,6 +54,8 @@ DPKGCFG
- libtcmalloc-minimal4
- nvidia-cuda-dev
- )
-+ echo "Removing libunwind-14-dev because of conflicts with libunwind-dev"
-+ sudo apt remove -y libunwind-14-dev
- ;;
- esac
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch
deleted file mode 100644
index 163ebf3..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From aa1075ba2ff300e4017bd7813423f63b1fbc325f Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Mon, 29 Aug 2022 15:15:56 -0400
-Subject: [PATCH] test: get 32-bit Ubuntu 22.04 build working
-
-Ubuntu 22.04 no longer has i386 builds for the packages libibverbs and
-librdmacm. So stop trying to install those packages for the 32-bit
-build.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- .github/workflows/ci.yml | 2 +-
- ci/actions-install.sh | 11 ++++-------
- 2 files changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
-index 85104e5a..bdc4db85 100644
---- a/.github/workflows/ci.yml
-+++ b/.github/workflows/ci.yml
-@@ -26,7 +26,7 @@ jobs:
- - build: macos
- os: macos-11
- - build: linux-i686-gcc
-- os: ubuntu-20.04
-+ os: ubuntu-22.04
- arch: i686
- - build: android
- os: ubuntu-22.04
-diff --git a/ci/actions-install.sh b/ci/actions-install.sh
-index 7017de2a..c209a089 100755
---- a/ci/actions-install.sh
-+++ b/ci/actions-install.sh
-@@ -23,26 +23,21 @@ DPKGCFG
- libcunit1-dev
- libcurl4-openssl-dev
- libfl-dev
-- libibverbs-dev
- libnuma-dev
-- librdmacm-dev
- libnfs-dev
- valgrind
- )
- case "${CI_TARGET_ARCH}" in
- "i686")
- sudo dpkg --add-architecture i386
-- opts="--allow-downgrades"
- pkgs=("${pkgs[@]/%/:i386}")
- pkgs+=(
- gcc-multilib
- pkg-config:i386
- zlib1g-dev:i386
-- libpcre2-8-0=10.34-7
- )
- ;;
- "x86_64")
-- opts=""
- pkgs+=(
- libglusterfs-dev
- libgoogle-perftools-dev
-@@ -53,6 +48,8 @@ DPKGCFG
- librbd-dev
- libtcmalloc-minimal4
- nvidia-cuda-dev
-+ libibverbs-dev
-+ librdmacm-dev
- )
- echo "Removing libunwind-14-dev because of conflicts with libunwind-dev"
- sudo apt remove -y libunwind-14-dev
-@@ -68,8 +65,8 @@ DPKGCFG
-
- echo "Updating APT..."
- sudo apt-get -qq update
-- echo "Installing packages..."
-- sudo apt-get install "$opts" -o APT::Immediate-Configure=false --no-install-recommends -qq -y "${pkgs[@]}"
-+ echo "Installing packages... ${pkgs[@]}"
-+ sudo apt-get install -o APT::Immediate-Configure=false --no-install-recommends -qq -y "${pkgs[@]}"
- }
-
- install_linux() {
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch
deleted file mode 100644
index fa1d49e..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 8d2b6305a6d0497bc6d78832be256380b1691694 Mon Sep 17 00:00:00 2001
-From: Vincent Fu <vincent.fu@samsung.com>
-Date: Tue, 30 Aug 2022 09:59:55 -0400
-Subject: [PATCH] test: add tests for lfsr and norandommap
-
-t0021 checks whether the lfsr random generator actually touches every
-offset.
-
-t0022 checks whether fio touches offsets more than once when
-norandommap=1.
-
-We should have automated tests for basic functionality to detect
-problems early.
-
-Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
----
- t/jobs/t0021.fio | 15 +++++++++++++
- t/jobs/t0022.fio | 13 +++++++++++
- t/run-fio-tests.py | 55 +++++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 82 insertions(+), 1 deletion(-)
- create mode 100644 t/jobs/t0021.fio
- create mode 100644 t/jobs/t0022.fio
-
-diff --git a/t/jobs/t0021.fio b/t/jobs/t0021.fio
-new file mode 100644
-index 00000000..47fbae71
---- /dev/null
-+++ b/t/jobs/t0021.fio
-@@ -0,0 +1,15 @@
-+# make sure the lfsr random generator actually does touch all the offsets
-+#
-+# Expected result: offsets are not accessed sequentially and all offsets are touched
-+# Buggy result: offsets are accessed sequentially and one or more offsets are missed
-+# run with --debug=io or logging to see which offsets are read
-+
-+[test]
-+ioengine=null
-+filesize=1M
-+rw=randread
-+write_bw_log=test
-+per_job_logs=0
-+log_offset=1
-+norandommap=1
-+random_generator=lfsr
-diff --git a/t/jobs/t0022.fio b/t/jobs/t0022.fio
-new file mode 100644
-index 00000000..2324571e
---- /dev/null
-+++ b/t/jobs/t0022.fio
-@@ -0,0 +1,13 @@
-+# make sure that when we enable norandommap we touch some offsets more than once
-+#
-+# Expected result: at least one offset is touched more than once
-+# Buggy result: each offset is touched only once
-+
-+[test]
-+ioengine=null
-+filesize=1M
-+rw=randread
-+write_bw_log=test
-+per_job_logs=0
-+log_offset=1
-+norandommap=1
-diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
-index 78f43521..47823761 100755
---- a/t/run-fio-tests.py
-+++ b/t/run-fio-tests.py
-@@ -576,7 +576,7 @@ class FioJobTest_t0019(FioJobTest):
-
-
- class FioJobTest_t0020(FioJobTest):
-- """Test consists of fio test job t0020
-+ """Test consists of fio test jobs t0020 and t0021
- Confirm that almost all offsets were touched non-sequentially"""
-
- def check_result(self):
-@@ -614,6 +614,41 @@ class FioJobTest_t0020(FioJobTest):
- self.failure_reason += " missing offset {0}".format(i*4096)
-
-
-+class FioJobTest_t0022(FioJobTest):
-+ """Test consists of fio test job t0022"""
-+
-+ def check_result(self):
-+ super(FioJobTest_t0022, self).check_result()
-+
-+ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
-+ file_data, success = self.get_file(bw_log_filename)
-+ log_lines = file_data.split('\n')
-+
-+ filesize = 1024*1024
-+ bs = 4096
-+ seq_count = 0
-+ offsets = set()
-+
-+ prev = int(log_lines[0].split(',')[4])
-+ for line in log_lines[1:]:
-+ offsets.add(prev/bs)
-+ if len(line.strip()) == 0:
-+ continue
-+ cur = int(line.split(',')[4])
-+ if cur - prev == bs:
-+ seq_count += 1
-+ prev = cur
-+
-+ # 10 is an arbitrary threshold
-+ if seq_count > 10:
-+ self.passed = False
-+ self.failure_reason = "too many ({0}) consecutive offsets".format(seq_count)
-+
-+ if len(offsets) == filesize/bs:
-+ self.passed = False
-+ self.failure_reason += " no duplicate offsets found with norandommap=1".format(len(offsets))
-+
-+
- class FioJobTest_iops_rate(FioJobTest):
- """Test consists of fio test job t0009
- Confirm that job0 iops == 1000
-@@ -973,6 +1008,24 @@ TEST_LIST = [
- 'pre_success': None,
- 'requirements': [],
- },
-+ {
-+ 'test_id': 21,
-+ 'test_class': FioJobTest_t0020,
-+ 'job': 't0021.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'requirements': [],
-+ },
-+ {
-+ 'test_id': 22,
-+ 'test_class': FioJobTest_t0022,
-+ 'job': 't0022.fio',
-+ 'success': SUCCESS_DEFAULT,
-+ 'pre_job': None,
-+ 'pre_success': None,
-+ 'requirements': [],
-+ },
- {
- 'test_id': 1000,
- 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch
deleted file mode 100644
index 335798c..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c060732180c981712f9a6fb7108c28a3c301c2c3 Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Tue, 30 Aug 2022 10:48:18 -0600
-Subject: [PATCH] backend: revert bad memory leak fix
-
-This essentially reverts the commit mentioned in the fixes line, as it
-causes crashes with using a trigger timeout + command.
-
-Fixes: 807473c36e10 ("fixed memory leak detected by ASAN")
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- backend.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/backend.c b/backend.c
-index 375a23e4..fe614f6e 100644
---- a/backend.c
-+++ b/backend.c
-@@ -2451,10 +2451,8 @@ reap:
- strerror(ret));
- } else {
- pid_t pid;
-- struct fio_file **files;
- void *eo;
- dprint(FD_PROCESS, "will fork\n");
-- files = td->files;
- eo = td->eo;
- read_barrier();
- pid = fork();
-@@ -2465,9 +2463,6 @@ reap:
- _exit(ret);
- } else if (i == fio_debug_jobno)
- *fio_debug_jobp = pid;
-- // freeing previously allocated memory for files
-- // this memory freed MUST NOT be shared between processes, only the pointer itself may be shared within TD
-- free(files);
- free(eo);
- free(fd);
- fd = NULL;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch
deleted file mode 100644
index 6aa86d1..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From aaad03c6c8a9ef8cc0507a356a9fa2372e1f611b Mon Sep 17 00:00:00 2001
-From: Jens Axboe <axboe@kernel.dk>
-Date: Tue, 30 Aug 2022 10:51:13 -0600
-Subject: [PATCH] Fio 3.32
-
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- FIO-VERSION-GEN | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
-index 72630dd0..db073818 100755
---- a/FIO-VERSION-GEN
-+++ b/FIO-VERSION-GEN
-@@ -1,7 +1,7 @@
- #!/bin/sh
-
- GVF=FIO-VERSION-FILE
--DEF_VER=fio-3.31
-+DEF_VER=fio-3.32
-
- LF='
- '
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
deleted file mode 100644
index 108b2b5..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
+++ /dev/null
@@ -1,77 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libaio zlib coreutils-native"
-DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
-RDEPENDS:${PN} = "python3-core bash"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA:arm = ""
-PACKAGECONFIG_NUMA:armeb = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-SRCREV = "6e44f31b9241cdc56d0857fb10ddb2ec40faa541"
-SRC_URI = "git://git.kernel.dk/fio.git;branch=master \
- file://0001-Fio-3.31.patch \
- file://0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch \
- file://0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch \
- file://0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch \
- file://0005-engines-http-Add-storage-class-option-for-s3.patch \
- file://0006-engines-http-Add-s3-crypto-options-for-s3.patch \
- file://0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch \
- file://0008-README-link-to-GitHub-releases-for-Windows.patch \
- file://0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch \
- file://0010-doc-update-fio-doc-for-xnvme-engine.patch \
- file://0011-test-add-latency-test-using-posixaio-ioengine.patch \
- file://0012-test-fix-hash-for-t0016.patch \
- file://0013-doc-get-rid-of-trailing-whitespace.patch \
- file://0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch \
- file://0015-Revert-Minor-style-fixups.patch \
- file://0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch \
- file://0017-Add-wait-for-handling-SIGBREAK.patch \
- file://0018-engines-io_uring-pass-back-correct-error-value-when-.patch \
- file://0019-Enable-CPU-affinity-support-on-Android.patch \
- file://0020-io_uring-Replace-pthread_self-with-s-tid.patch \
- file://0021-engines-io_uring-delete-debug-code.patch \
- file://0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch \
- file://0023-t-io_uring-add-support-for-async-passthru.patch \
- file://0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch \
- file://0025-test-add-basic-test-for-io_uring-ioengine.patch \
- file://0026-t-io_uring-remove-duplicate-definition-of-gettid.patch \
- file://0027-test-add-some-tests-for-seq-and-rand-offsets.patch \
- file://0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch \
- file://0029-test-get-32-bit-Ubuntu-22.04-build-working.patch \
- file://0030-test-add-tests-for-lfsr-and-norandommap.patch \
- file://0031-backend-revert-bad-memory-leak-fix.patch \
- file://0032-Fio-3.32.patch \
- "
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
- install -d ${D}/${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb
new file mode 100644
index 0000000..90e2834
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
+RDEPENDS:${PN} = "python3-core bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA:arm = ""
+PACKAGECONFIG_NUMA:armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+SRCREV = "db7fc8d864dc4fb607a0379333a0db60431bd649"
+SRC_URI = "git://git.kernel.dk/fio.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.0.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.0.bb
index 3deab25..65fcf0a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.8.0.bb
@@ -5,7 +5,7 @@
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
"
-SRCREV = "6af40181c33bf97bde8cb99cccc4c2168abcd24e"
+SRCREV = "2f959c4596d87461a84f6132ca596754ca0beeda"
SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
index ae54469..b117dcf 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
@@ -1,18 +1,16 @@
-From ecfc8e287eb6811e42c4e2800a913822f554d7c8 Mon Sep 17 00:00:00 2001
+From 6120cee594c543d17ae015bc601012debcf57177 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 31 Aug 2022 19:09:18 -0700
+Date: Mon, 23 Oct 2023 10:43:42 +0100
Subject: [PATCH] include string.h for strncpy()
-Upstream-Status: Pending
-
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
+Upstream-Status: Backport [master: 6120cee594c543d17ae015bc601012debcf57177]
---
interface.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/interface.c b/interface.c
-index 29229ad..9a83c36 100644
+index 29229ad6f53d..9a83c36933e7 100644
--- a/interface.c
+++ b/interface.c
@@ -5,6 +5,7 @@
@@ -23,3 +21,6 @@
#include "interface.h"
struct interface {
+--
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
index e6a3386..3cf3a63 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
@@ -1,6 +1,6 @@
-From 2cc19a679ec37715df546dd9f00d8d9b0ab20059 Mon Sep 17 00:00:00 2001
+From cffb4807ac0b9ff7aea2aa4f3842985b5363d184 Mon Sep 17 00:00:00 2001
From: Luca Fancellu <luca.fancellu@arm.com>
-Date: Wed, 18 Oct 2023 11:10:18 +0100
+Date: Mon, 23 Oct 2023 10:43:43 +0100
Subject: [PATCH] linuxptp: Use ${CC} in incdefs.sh
The Makefile is defining CC and incdefs.sh is using
@@ -8,13 +8,14 @@
compilers depending on what the user pass during make invocation
as CC.
-Align them using ${CC} also inside incdefs.sh
+Align them using ${CC} also inside incdefs.sh.
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
-Upstream-Status: Pending
+Upstream-Status: Backport [master: cffb4807ac0b9ff7aea2aa4f3842985b5363d184]
---
incdefs.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/incdefs.sh b/incdefs.sh
index a9e94f777f6b..391e63c7fac6 100755
@@ -29,6 +30,19 @@
# Look for clock_adjtime().
for d in $dirs; do
+diff --git a/makefile b/makefile
+index 3e3b8b35fc96..7fc5f6fb8fa8 100644
+--- a/makefile
++++ b/makefile
+@@ -39,7 +39,7 @@ OBJECTS = $(OBJ) hwstamp_ctl.o nsm.o phc2sys.o phc_ctl.o pmc.o pmc_agent.o \
+ SRC = $(OBJECTS:.o=.c)
+ DEPEND = $(OBJECTS:.o=.d)
+ srcdir := $(dir $(lastword $(MAKEFILE_LIST)))
+-incdefs := $(shell $(srcdir)/incdefs.sh)
++incdefs := $(shell CC="$(CC)" $(srcdir)/incdefs.sh)
+ version := $(shell $(srcdir)/version.sh $(srcdir))
+ VPATH = $(srcdir)
+
--
2.34.1
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
index 2436b36..fba9a87 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
@@ -8,7 +8,7 @@
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
-
+---
cmake/CMakeLists.txt | 4 ++--
src/samples/CMakeLists.txt | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
@@ -33,19 +33,27 @@
- DESTINATION lib/cmake/${package_name})
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name})
diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt
-index 953f5dc..d26729a 100644
+index 3ca0a75..c915cd5 100644
--- a/src/samples/CMakeLists.txt
+++ b/src/samples/CMakeLists.txt
-@@ -103,7 +103,7 @@ endif()
+@@ -71,7 +71,7 @@ endforeach()
## install binaries
- install(TARGETS ${INSTALL_TARGETS} EXPORT PahoMqttCppSamples
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ install(TARGETS ${EXECUTABLES} EXPORT PahoMqttCppSamples
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
+ ## Build the SSL/TLS samples, if selected
+@@ -89,7 +89,7 @@ if(PAHO_WITH_SSL)
+ endforeach()
+
+ install(TARGETS ${SSL_EXECUTABLES} EXPORT PahoMqttCppSamples
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
+ endif()
+
--
-2.35.1
+2.34.1
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.1.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.2.0.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.1.bb
index bb5aa69..1e1e923 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.1.bb
@@ -2,18 +2,18 @@
DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
HOMEPAGE = "http://www.eclipse.org/paho/"
SECTION = "console/network"
-LICENSE = "EPL-1.0 | EDL-1.0"
+LICENSE = "EPL-2.0 | EDL-1.0"
LIC_FILES_CHKSUM = " \
- file://src/mqtt/message.h;beginline=9;endline=18;md5=5eec304e6066523386c222963ceeb6ff \
+ file://src/mqtt/message.h;beginline=9;endline=18;md5=c5ceecf5ab99d44dcfaaabdce289071b \
file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
- file://epl-v10;md5=659c8e92a40b6df1d9e3dccf5ae45a08 \
+ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
"
SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master \
file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \
"
-SRCREV = "33921c8b68b351828650c36816e7ecf936764379"
+SRCREV = "4691652479bb4b398c7b81bde639482b164ae6d6"
DEPENDS = "openssl paho-mqtt-c"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.0.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.0.bb
index 2507933..2156889 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.0.bb
@@ -9,7 +9,7 @@
SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
-SRC_URI[sha256sum] = "6d60c2eb9e15f6a23743ce7fc3687a8880042d7fca43572e73ca76ed003de258"
+SRC_URI[sha256sum] = "58a7ba97761f96b9228bccf6367c2715c0c0be1f99e0a114d429d8c1fcb9c8b2"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
diff --git a/meta-openembedded/meta-oe/recipes-core/basu/basu_0.2.1.bb b/meta-openembedded/meta-oe/recipes-core/basu/basu_0.2.1.bb
index 500408e..1b4d5a0 100644
--- a/meta-openembedded/meta-oe/recipes-core/basu/basu_0.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/basu/basu_0.2.1.bb
@@ -9,8 +9,8 @@
DEPENDS += "gperf-native"
S = "${WORKDIR}/git"
-PV = "0.2.1"
-SRCREV = "684a41d68cfbb05e38aacb60a8548e21ddfbecdb"
+PV = "0.2.1+git"
+SRCREV = "a08cf5a575325435040d35710dbac3d0c32b1676"
inherit meson pkgconfig
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 0f01356..1a588eb 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
@@ -466,7 +466,6 @@
gtkmm \
${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "libpeas", "", d)} \
pyxdg \
- vte9 \
gnome-theme-adwaita \
"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest
index f6ade0c..2dc6e1e 100755
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest
@@ -4,12 +4,12 @@
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
-${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \
+${SCRIPTPATH}/sdbus-c++-unit-tests 2>&1 | \
sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
-${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \
+${SCRIPTPATH}/sdbus-c++-integration-tests 2>&1 | \
sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-Adjust-for-musl-headers.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-Adjust-for-musl-headers.patch
index 2363679..5e9646c 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-Adjust-for-musl-headers.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-Adjust-for-musl-headers.patch
@@ -1,4 +1,4 @@
-From 4c2e932664ec67662f4a0306cca4a7cd82853bda Mon Sep 17 00:00:00 2001
+From e5f067cb3dc845dd865e450f4e64077b28feb4c0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 21 Jan 2022 22:19:37 -0800
Subject: [PATCH] Adjust for musl headers
@@ -29,20 +29,25 @@
src/network/netdev/vrf.c | 2 +-
src/network/netdev/vxcan.c | 2 +-
src/network/netdev/vxlan.c | 2 +-
+ src/network/netdev/wireguard.c | 2 +-
src/network/netdev/xfrm.c | 2 +-
src/network/networkd-bridge-mdb.c | 4 ++--
src/network/networkd-dhcp-common.c | 3 ++-
src/network/networkd-dhcp-prefix-delegation.c | 4 ++--
src/network/networkd-dhcp-server.c | 2 +-
src/network/networkd-dhcp4.c | 2 +-
+ src/network/networkd-ipv6ll.c | 2 +-
src/network/networkd-link.c | 2 +-
+ src/network/networkd-ndisc.c | 2 +-
src/network/networkd-route.c | 8 ++++----
src/network/networkd-setlink.c | 2 +-
src/shared/linux/ethtool.h | 3 ++-
src/shared/netif-util.c | 2 +-
src/udev/udev-builtin-net_id.c | 2 +-
- 34 files changed, 41 insertions(+), 39 deletions(-)
+ 37 files changed, 44 insertions(+), 42 deletions(-)
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index 57dd91f81f..2b7f4fa3a7 100644
--- a/src/libsystemd-network/sd-dhcp6-client.c
+++ b/src/libsystemd-network/sd-dhcp6-client.c
@@ -5,7 +5,7 @@
@@ -54,6 +59,8 @@
#include <linux/if_infiniband.h>
#include "sd-dhcp6-client.h"
+diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c
+index 24d3afb877..f6241b41ee 100644
--- a/src/network/netdev/bareudp.c
+++ b/src/network/netdev/bareudp.c
@@ -2,7 +2,7 @@
@@ -65,6 +72,8 @@
#include "bareudp.h"
#include "netlink-util.h"
+diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c
+index 7e97619657..50fcffcfdf 100644
--- a/src/network/netdev/batadv.c
+++ b/src/network/netdev/batadv.c
@@ -3,7 +3,7 @@
@@ -76,6 +85,8 @@
#include "batadv.h"
#include "fileio.h"
+diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
+index 601bff0a9c..dfed8d9e54 100644
--- a/src/network/netdev/bond.c
+++ b/src/network/netdev/bond.c
@@ -1,7 +1,7 @@
@@ -87,6 +98,8 @@
#include "alloc-util.h"
#include "bond.h"
+diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
+index b65c3b49fc..6875b4fbdb 100644
--- a/src/network/netdev/bridge.c
+++ b/src/network/netdev/bridge.c
@@ -2,7 +2,7 @@
@@ -98,6 +111,8 @@
#include <linux/if_bridge.h>
#include "bridge.h"
+diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c
+index 00df1d2787..77b506b422 100644
--- a/src/network/netdev/dummy.c
+++ b/src/network/netdev/dummy.c
@@ -1,6 +1,6 @@
@@ -108,6 +123,8 @@
#include "dummy.h"
+diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c
+index 777a32d75c..73bfa2b5c1 100644
--- a/src/network/netdev/geneve.c
+++ b/src/network/netdev/geneve.c
@@ -2,7 +2,7 @@
@@ -119,6 +136,8 @@
#include "alloc-util.h"
#include "conf-parser.h"
+diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c
+index d7ff44cb9e..e037629ae4 100644
--- a/src/network/netdev/ifb.c
+++ b/src/network/netdev/ifb.c
@@ -1,7 +1,7 @@
@@ -130,6 +149,8 @@
#include "ifb.h"
+diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c
+index 5dd9286d57..4036d66dad 100644
--- a/src/network/netdev/ipoib.c
+++ b/src/network/netdev/ipoib.c
@@ -1,6 +1,6 @@
@@ -140,6 +161,8 @@
#include <linux/if_link.h>
#include "ipoib.h"
+diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c
+index 058eadebd7..c470ebb6d7 100644
--- a/src/network/netdev/ipvlan.c
+++ b/src/network/netdev/ipvlan.c
@@ -2,7 +2,7 @@
@@ -151,6 +174,8 @@
#include "conf-parser.h"
#include "ipvlan.h"
+diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
+index 0da3dd4bd2..eb20f04469 100644
--- a/src/network/netdev/macsec.c
+++ b/src/network/netdev/macsec.c
@@ -1,7 +1,7 @@
@@ -162,6 +187,8 @@
#include <linux/if_ether.h>
#include <linux/if_macsec.h>
#include <linux/genetlink.h>
+diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c
+index 1114bb0cb1..6c79a219a4 100644
--- a/src/network/netdev/macvlan.c
+++ b/src/network/netdev/macvlan.c
@@ -2,7 +2,7 @@
@@ -173,6 +200,8 @@
#include "conf-parser.h"
#include "macvlan.h"
+diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
+index 038a27c118..67155f0db7 100644
--- a/src/network/netdev/netdev.c
+++ b/src/network/netdev/netdev.c
@@ -2,7 +2,7 @@
@@ -184,6 +213,8 @@
#include <unistd.h>
#include "alloc-util.h"
+diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c
+index 15d5c132f9..a3ffa48b15 100644
--- a/src/network/netdev/netdevsim.c
+++ b/src/network/netdev/netdevsim.c
@@ -1,6 +1,6 @@
@@ -194,6 +225,8 @@
#include "netdevsim.h"
+diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c
+index ff372092e6..eef66811f4 100644
--- a/src/network/netdev/nlmon.c
+++ b/src/network/netdev/nlmon.c
@@ -1,6 +1,6 @@
@@ -204,6 +237,8 @@
#include "nlmon.h"
+diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c
+index 2addfeecaa..954987f26d 100644
--- a/src/network/netdev/tunnel.c
+++ b/src/network/netdev/tunnel.c
@@ -2,7 +2,7 @@
@@ -215,6 +250,8 @@
#include <linux/if_tunnel.h>
#include <linux/ip.h>
#include <linux/ip6_tunnel.h>
+diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c
+index 380547ee1e..137c1adf8a 100644
--- a/src/network/netdev/vcan.c
+++ b/src/network/netdev/vcan.c
@@ -1,6 +1,6 @@
@@ -225,6 +262,8 @@
#include "vcan.h"
+diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
+index fb00e6667f..f52d9ee89a 100644
--- a/src/network/netdev/veth.c
+++ b/src/network/netdev/veth.c
@@ -3,7 +3,7 @@
@@ -236,6 +275,8 @@
#include <linux/veth.h>
#include "netlink-util.h"
+diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c
+index a3d961dac3..386b567a42 100644
--- a/src/network/netdev/vlan.c
+++ b/src/network/netdev/vlan.c
@@ -2,7 +2,7 @@
@@ -247,6 +288,8 @@
#include <linux/if_vlan.h>
#include "parse-util.h"
+diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c
+index 05ef3ff13d..825fc4a398 100644
--- a/src/network/netdev/vrf.c
+++ b/src/network/netdev/vrf.c
@@ -2,7 +2,7 @@
@@ -258,6 +301,8 @@
#include "vrf.h"
+diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c
+index 83269b0707..39c6dbe29c 100644
--- a/src/network/netdev/vxcan.c
+++ b/src/network/netdev/vxcan.c
@@ -1,7 +1,7 @@
@@ -269,6 +314,8 @@
#include "vxcan.h"
+diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
+index 589161938a..0ec9625b7a 100644
--- a/src/network/netdev/vxlan.c
+++ b/src/network/netdev/vxlan.c
@@ -2,7 +2,7 @@
@@ -280,6 +327,21 @@
#include "conf-parser.h"
#include "alloc-util.h"
+diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
+index 51e7e02990..fc36c0623a 100644
+--- a/src/network/netdev/wireguard.c
++++ b/src/network/netdev/wireguard.c
+@@ -6,7 +6,7 @@
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/ipv6_route.h>
+
+ #include "sd-resolve.h"
+diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c
+index a961d8fef2..6c1815b257 100644
--- a/src/network/netdev/xfrm.c
+++ b/src/network/netdev/xfrm.c
@@ -1,6 +1,6 @@
@@ -290,6 +352,8 @@
#include "missing_network.h"
#include "xfrm.h"
+diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
+index bd1a9745dc..949d3da029 100644
--- a/src/network/networkd-bridge-mdb.c
+++ b/src/network/networkd-bridge-mdb.c
@@ -1,7 +1,5 @@
@@ -309,6 +373,8 @@
#define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
+diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
+index ca9a825e7b..8735e261ad 100644
--- a/src/network/networkd-dhcp-common.c
+++ b/src/network/networkd-dhcp-common.c
@@ -1,7 +1,8 @@
@@ -320,7 +386,9 @@
+#include <net/if.h>
#include "bus-error.h"
- #include "dhcp-identifier.h"
+ #include "bus-locator.h"
+diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
+index 66c5e979d9..581b6b8c29 100644
--- a/src/network/networkd-dhcp-prefix-delegation.c
+++ b/src/network/networkd-dhcp-prefix-delegation.c
@@ -1,7 +1,5 @@
@@ -340,6 +408,8 @@
bool link_dhcp_pd_is_enabled(Link *link) {
assert(link);
+diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
+index 620fbbddc7..c8af20fb34 100644
--- a/src/network/networkd-dhcp-server.c
+++ b/src/network/networkd-dhcp-server.c
@@ -1,7 +1,7 @@
@@ -351,6 +421,8 @@
#include <linux/if.h>
#include "sd-dhcp-server.h"
+diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
+index d4b4942173..3d78da5609 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -3,7 +3,7 @@
@@ -362,6 +434,21 @@
#include "alloc-util.h"
#include "dhcp-client-internal.h"
+diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c
+index 32229a3fc7..662a345d6e 100644
+--- a/src/network/networkd-ipv6ll.c
++++ b/src/network/networkd-ipv6ll.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "in-addr-util.h"
+ #include "networkd-address.h"
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 019bef0590..657fc41ae6 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -3,7 +3,7 @@
@@ -373,6 +460,21 @@
#include <linux/if_link.h>
#include <linux/netdevice.h>
#include <sys/socket.h>
+diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
+index 99a07e16fc..e51cd81d96 100644
+--- a/src/network/networkd-ndisc.c
++++ b/src/network/networkd-ndisc.c
+@@ -6,7 +6,7 @@
+ #include <arpa/inet.h>
+ #include <netinet/icmp6.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "sd-ndisc.h"
+
+diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
+index 5214a8ad2c..9dd758daae 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -1,9 +1,5 @@
@@ -396,6 +498,8 @@
int route_new(Route **ret) {
_cleanup_(route_freep) Route *route = NULL;
+diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
+index 541c4b8a72..06ebda8f0f 100644
--- a/src/network/networkd-setlink.c
+++ b/src/network/networkd-setlink.c
@@ -2,7 +2,7 @@
@@ -407,28 +511,35 @@
#include <linux/if_bridge.h>
#include "missing_network.h"
+diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h
+index 1458de3627..d5c2d2e0ac 100644
--- a/src/shared/linux/ethtool.h
+++ b/src/shared/linux/ethtool.h
@@ -16,7 +16,8 @@
- #include <linux/kernel.h>
+ #include <linux/const.h>
#include <linux/types.h>
-#include <linux/if_ether.h>
+#include <netinet/if_ether.h>
+//#include <linux/if_ether.h>
- #ifndef __KERNEL__
#include <limits.h> /* for INT_MAX */
+
+diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c
+index f56c5646c1..5af28ff119 100644
--- a/src/shared/netif-util.c
+++ b/src/shared/netif-util.c
-@@ -1,6 +1,6 @@
+@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #include <linux/if.h>
-#include <linux/if_arp.h>
+//#include <linux/if_arp.h>
#include "arphrd-util.h"
#include "device-util.h"
+diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
+index a48d5dedf8..31a8bc1b3c 100644
--- a/src/udev/udev-builtin-net_id.c
+++ b/src/udev/udev-builtin-net_id.c
@@ -18,7 +18,7 @@
@@ -440,14 +551,6 @@
#include <linux/netdevice.h>
#include <linux/pci_regs.h>
---- a/src/network/netdev/wireguard.c
-+++ b/src/network/netdev/wireguard.c
-@@ -6,7 +6,7 @@
- #include <sys/ioctl.h>
- #include <net/if.h>
- #include <netinet/in.h>
--#include <linux/if_arp.h>
-+//#include <linux/if_arp.h>
- #include <linux/ipv6_route.h>
-
- #include "sd-resolve.h"
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch
deleted file mode 100644
index 517886c..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 19cc68d4a89b59889be442d2997ff030cdc3de73 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 20 Dec 2022 20:11:17 -0800
-Subject: [PATCH] dirent-util: Remove asserts on dirent64 == dirent
-
-We already have assert_cc(_FILE_OFFSET_BITS == 64) which ensures that 64bit LFS functions are same as their original counterparts
-
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/25809]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/basic/dirent-util.h | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/src/basic/dirent-util.h b/src/basic/dirent-util.h
-index 04bc53003f..4cb317184d 100644
---- a/src/basic/dirent-util.h
-+++ b/src/basic/dirent-util.h
-@@ -35,17 +35,6 @@ struct dirent *readdir_no_dot(DIR *dirp);
- /* Only if 64bit off_t is enabled struct dirent + struct dirent64 are actually the same. We require this, and
- * we want them to be interchangeable to make getdents64() work, hence verify that. */
- assert_cc(_FILE_OFFSET_BITS == 64);
--assert_cc(sizeof(struct dirent) == sizeof(struct dirent64));
--assert_cc(offsetof(struct dirent, d_ino) == offsetof(struct dirent64, d_ino));
--assert_cc(sizeof_field(struct dirent, d_ino) == sizeof_field(struct dirent64, d_ino));
--assert_cc(offsetof(struct dirent, d_off) == offsetof(struct dirent64, d_off));
--assert_cc(sizeof_field(struct dirent, d_off) == sizeof_field(struct dirent64, d_off));
--assert_cc(offsetof(struct dirent, d_reclen) == offsetof(struct dirent64, d_reclen));
--assert_cc(sizeof_field(struct dirent, d_reclen) == sizeof_field(struct dirent64, d_reclen));
--assert_cc(offsetof(struct dirent, d_type) == offsetof(struct dirent64, d_type));
--assert_cc(sizeof_field(struct dirent, d_type) == sizeof_field(struct dirent64, d_type));
--assert_cc(offsetof(struct dirent, d_name) == offsetof(struct dirent64, d_name));
--assert_cc(sizeof_field(struct dirent, d_name) == sizeof_field(struct dirent64, d_name));
-
- #define FOREACH_DIRENT_IN_BUFFER(de, buf, sz) \
- for (void *_end = (uint8_t*) ({ (de) = (buf); }) + (sz); \
---
-2.39.0
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-Add-sys-stat.h-for-S_IFDIR.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-Add-sys-stat.h-for-S_IFDIR.patch
deleted file mode 100644
index 7dfa1a0..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-Add-sys-stat.h-for-S_IFDIR.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d16f7b37c917b91e951b9313e2c8264c72ed93e5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 21 Jan 2022 15:17:37 -0800
-Subject: [PATCH 2/2] Add sys/stat.h for S_IFDIR
-
-../git/src/shared/mkdir-label.c:13:61: error: use of undeclared identifier 'S_IFDIR'
- r = mac_selinux_create_file_prepare_at(dirfd, path, S_IFDIR);
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/shared/mkdir-label.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c
-index d36a6466d7..63b764cd83 100644
---- a/src/shared/mkdir-label.c
-+++ b/src/shared/mkdir-label.c
-@@ -4,6 +4,7 @@
- #include "selinux-util.h"
- #include "smack-util.h"
- #include "user-util.h"
-+#include <sys/stat.h>
-
- int mkdirat_label(int dirfd, const char *path, mode_t mode) {
- int r;
---
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-don-t-use-glibc-specific-qsort_r.patch
deleted file mode 100644
index 5027682..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 5d730902f47498a2866b46875352f6810a01d67c Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 13:41:41 +0800
-Subject: [PATCH] don't use glibc-specific qsort_r
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Rebased for v241]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[Rebased for v242]
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-[Rebased for v247]
-Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
-
----
- src/basic/sort-util.h | 14 --------------
- src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
- src/shared/hwdb-util.c | 19 ++++++++++++++-----
- 3 files changed, 38 insertions(+), 31 deletions(-)
-
---- a/src/basic/sort-util.h
-+++ b/src/basic/sort-util.h
-@@ -61,18 +61,4 @@ static inline void _qsort_safe(void *bas
- _qsort_safe((p), (n), sizeof((p)[0]), (comparison_fn_t) _func_); \
- })
-
--static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, comparison_userdata_fn_t compar, void *userdata) {
-- if (nmemb <= 1)
-- return;
--
-- assert(base);
-- qsort_r(base, nmemb, size, compar, userdata);
--}
--
--#define typesafe_qsort_r(p, n, func, userdata) \
-- ({ \
-- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
-- qsort_r_safe((p), (n), sizeof((p)[0]), (comparison_userdata_fn_t) _func_, userdata); \
-- })
--
- int cmp_int(const int *a, const int *b);
---- a/src/shared/format-table.c
-+++ b/src/shared/format-table.c
-@@ -1324,30 +1324,32 @@ static int cell_data_compare(TableData *
- return CMP(index_a, index_b);
- }
-
--static int table_data_compare(const size_t *a, const size_t *b, Table *t) {
-+static Table *user_table;
-+static int table_data_compare(const void *x, const void *y) {
-+ const size_t *a = x, *b=y;
- int r;
-
-- assert(t);
-- assert(t->sort_map);
-+ assert(user_table);
-+ assert(user_table->sort_map);
-
- /* Make sure the header stays at the beginning */
-- if (*a < t->n_columns && *b < t->n_columns)
-+ if (*a < user_table->n_columns && *b < user_table->n_columns)
- return 0;
-- if (*a < t->n_columns)
-+ if (*a < user_table->n_columns)
- return -1;
-- if (*b < t->n_columns)
-+ if (*b < user_table->n_columns)
- return 1;
-
- /* Order other lines by the sorting map */
-- for (size_t i = 0; i < t->n_sort_map; i++) {
-+ for (size_t i = 0; i < user_table->n_sort_map; i++) {
- TableData *d, *dd;
-
-- d = t->data[*a + t->sort_map[i]];
-- dd = t->data[*b + t->sort_map[i]];
-+ d = user_table->data[*a + user_table->sort_map[i]];
-+ dd = user_table->data[*b + user_table->sort_map[i]];
-
- r = cell_data_compare(d, *a, dd, *b);
- if (r != 0)
-- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r;
-+ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r;
- }
-
- /* Order identical lines by the order there were originally added in */
-@@ -2009,7 +2011,12 @@ int table_print(Table *t, FILE *f) {
- for (size_t i = 0; i < n_rows; i++)
- sorted[i] = i * t->n_columns;
-
-- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
-+ if (n_rows <= 1)
-+ return 0;
-+ assert(sorted);
-+ user_table = t;
-+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
-+ user_table = NULL;
- }
-
- if (t->display_map)
-@@ -2647,7 +2654,12 @@ int table_to_json(Table *t, JsonVariant
- for (size_t i = 0; i < n_rows; i++)
- sorted[i] = i * t->n_columns;
-
-- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
-+ if (n_rows <= 1)
-+ return 0;
-+ assert(sorted);
-+ user_table = t;
-+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
-+ user_table = NULL;
- }
-
- if (t->display_map)
---- a/src/shared/hwdb-util.c
-+++ b/src/shared/hwdb-util.c
-@@ -127,9 +127,13 @@ static struct trie* trie_free(struct tri
-
- DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-
--static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
-- return strcmp(trie->strings->buf + a->key_off,
-- trie->strings->buf + b->key_off);
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
-+ const struct trie_value_entry *a = v1;
-+ const struct trie_value_entry *b = v2;
-+
-+ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
-+ trie_node_add_value_trie->strings->buf + b->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -157,7 +161,10 @@ static int trie_node_add_value(struct tr
- .value_off = v,
- };
-
-- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
-+
- if (val) {
- /* At this point we have 2 identical properties on the same match-string.
- * Since we process files in order, we just replace the previous value. */
-@@ -183,7 +190,9 @@ static int trie_node_add_value(struct tr
- .line_number = line_number,
- };
- node->values_count++;
-- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- return 0;
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch
new file mode 100644
index 0000000..fcc56a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch
@@ -0,0 +1,41 @@
+From f629a76e0fba300a9d511614160fee38dd4a5e57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Jan 2023 23:39:46 -0800
+Subject: [PATCH] errno-util: Make STRERROR portable for musl
+
+Sadly, systemd has decided to use yet another GNU extention in a macro
+lets make this such that we can use XSI compliant strerror_r() for
+non-glibc hosts
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/errno-util.h | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
+index 091f99c590..eb5c1f9961 100644
+--- a/src/basic/errno-util.h
++++ b/src/basic/errno-util.h
+@@ -14,8 +14,16 @@
+ * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks
+ *
+ * Note that we use the GNU variant of strerror_r() here. */
+-#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
++static inline const char * STRERROR(int errnum);
+
++static inline const char * STRERROR(int errnum) {
++#ifdef __GLIBC__
++ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);
++#else
++ static __thread char buf[ERRNO_BUF_LEN];
++ return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf;
++#endif
++}
+ /* A helper to print an error message or message for functions that return 0 on EOF.
+ * Note that we can't use ({ … }) to define a temporary variable, so errnum is
+ * evaluated twice. */
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-pass-correct-parameters-to-getdents64.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-pass-correct-parameters-to-getdents64.patch
new file mode 100644
index 0000000..c634d8e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-pass-correct-parameters-to-getdents64.patch
@@ -0,0 +1,37 @@
+From 17766c64ecc7dedf09ed2d361690fc4eda77bf42 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Jan 2022 15:15:11 -0800
+Subject: [PATCH] pass correct parameters to getdents64
+
+Fixes
+../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
+ n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
+ n = getdents64(fd, &buffer, sizeof(buffer));
+ ^~~~~~~
+
+Upstream-Status: Inappropriate [musl specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
+---
+ src/basic/recurse-dir.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
+index 5e98b7a5d8..aef065047b 100644
+--- a/src/basic/recurse-dir.c
++++ b/src/basic/recurse-dir.c
+@@ -55,7 +55,7 @@ int readdir_all(int dir_fd,
+ bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX);
+ assert(bs > de->buffer_size);
+
+- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
++ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size);
+ if (n < 0)
+ return -errno;
+ if (n == 0)
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
new file mode 100644
index 0000000..96322e5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
@@ -0,0 +1,52 @@
+From fa598869cca684c001f3dc23ce2198f5a6169e2a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Nov 2022 13:31:34 -0800
+Subject: [PATCH] test-bus-error: strerror() is assumed to be GNU specific
+ version mark it so
+
+Upstream-Status: Inappropriate [Upstream systemd only supports glibc]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsystemd/sd-bus/test-bus-error.c | 2 ++
+ src/test/test-errno-util.c | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c
+index a55f3f9856..4123bf3da0 100644
+--- a/src/libsystemd/sd-bus/test-bus-error.c
++++ b/src/libsystemd/sd-bus/test-bus-error.c
+@@ -99,7 +99,9 @@ TEST(error) {
+ assert_se(!sd_bus_error_is_set(&error));
+ assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY);
+ assert_se(streq(error.name, "System.Error.EBUSY"));
++#ifdef __GLIBC__
+ assert_se(streq(error.message, STRERROR(EBUSY)));
++#endif
+ assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY"));
+ assert_se(sd_bus_error_get_errno(&error) == EBUSY);
+ assert_se(sd_bus_error_is_set(&error));
+diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c
+index d3d022c33f..74e95c804d 100644
+--- a/src/test/test-errno-util.c
++++ b/src/test/test-errno-util.c
+@@ -4,7 +4,7 @@
+ #include "stdio-util.h"
+ #include "string-util.h"
+ #include "tests.h"
+-
++#ifdef __GLIBC__
+ TEST(strerror_not_threadsafe) {
+ /* Just check that strerror really is not thread-safe. */
+ log_info("strerror(%d) → %s", 200, strerror(200));
+@@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) {
+ log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM));
+ log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM));
+ }
++#endif /* __GLIBC__ */
+
+ TEST(PROTECT_ERRNO) {
+ errno = 12;
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-add-missing-FTW_-macros-for-musl.patch
deleted file mode 100644
index 57e18a5..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-add-missing-FTW_-macros-for-musl.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7ca9887f84adba065dc2e59b3de55ace2fc72ec0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:00:06 +0800
-Subject: [PATCH] add missing FTW_ macros for musl
-
-This is to avoid build failures like below for musl.
-
- locale-util.c:296:24: error: 'FTW_STOP' undeclared
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/basic/missing_type.h | 20 ++++++++++++++++++++
- src/shared/mount-setup.c | 1 +
- 2 files changed, 21 insertions(+)
-
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -19,3 +19,23 @@ typedef int (*comparison_fn_t)(const voi
- #define __COMPAR_FN_T
- typedef int (*__compar_fn_t)(const void *, const void *);
- #endif
-+
-+#ifndef FTW_ACTIONRETVAL
-+#define FTW_ACTIONRETVAL 16
-+#endif
-+
-+#ifndef FTW_CONTINUE
-+#define FTW_CONTINUE 0
-+#endif
-+
-+#ifndef FTW_STOP
-+#define FTW_STOP 1
-+#endif
-+
-+#ifndef FTW_SKIP_SUBTREE
-+#define FTW_SKIP_SUBTREE 2
-+#endif
-+
-+#ifndef FTW_SKIP_SIBLINGS
-+#define FTW_SKIP_SIBLINGS 3
-+#endif
---- a/src/shared/mount-setup.c
-+++ b/src/shared/mount-setup.c
-@@ -32,6 +32,7 @@
- #include "strv.h"
- #include "user-util.h"
- #include "virt.h"
-+#include "missing_type.h"
-
- typedef enum MountMode {
- MNT_NONE = 0,
---- a/src/test/test-recurse-dir.c
-+++ b/src/test/test-recurse-dir.c
-@@ -6,6 +6,7 @@
- #include "recurse-dir.h"
- #include "strv.h"
- #include "tests.h"
-+#include "missing_type.h"
-
- static char **list_nftw = NULL;
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
deleted file mode 100644
index 0fc3204..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c7453b716ae308b89cf4b2b231a36ddd38a49752 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:03:47 +0800
-Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/basic/process-util.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 461bbfe9a5..2d06f9f60a 100644
---- a/src/basic/process-util.c
-+++ b/src/basic/process-util.c
-@@ -18,6 +18,9 @@
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
- #endif
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
-
- #include "alloc-util.h"
- #include "architecture.h"
-@@ -1202,11 +1205,15 @@ void reset_cached_pid(void) {
- cached_pid = CACHED_PID_UNSET;
- }
-
-+#ifdef __GLIBC__
- /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
- * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
- * libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
- extern void* __dso_handle _weak_;
-+#else
-+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
-+#endif
-
- pid_t getpid_cached(void) {
- static bool installed = false;
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-missing_type.h-add-comparison_fn_t.patch
similarity index 64%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-missing_type.h-add-comparison_fn_t.patch
index f3edc7d..e50b47a 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-missing_type.h-add-comparison_fn_t.patch
@@ -1,10 +1,9 @@
-From 3b42a888685aee1776a12cff84a5fe0063378483 Mon Sep 17 00:00:00 2001
+From 542f999a846dfd49d9373d30fffb2a44168d7b5e Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:55:12 +0800
-Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
+Subject: [PATCH] missing_type.h: add comparison_fn_t
-Make it work with musl where comparison_fn_t and __compare_fn_t
-is not provided.
+Make it work with musl where comparison_fn_t and is not provided.
Upstream-Status: Inappropriate [musl specific]
@@ -13,17 +12,19 @@
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[Rebased for v242]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
+[Rebased for v250, Drop __compare_fn_t]
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
- src/basic/missing_type.h | 9 +++++++++
+ src/basic/missing_type.h | 4 ++++
src/basic/sort-util.h | 1 +
- src/core/kmod-setup.c | 1 +
src/libsystemd/sd-journal/catalog.c | 1 +
- 4 files changed, 12 insertions(+)
+ 3 files changed, 6 insertions(+)
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index f6233090a9..6c0456349d 100644
--- a/src/basic/missing_type.h
+++ b/src/basic/missing_type.h
-@@ -10,3 +10,12 @@
+@@ -10,3 +10,7 @@
#if !HAVE_CHAR16_T
#define char16_t uint16_t
#endif
@@ -31,11 +32,8 @@
+#ifndef __GLIBC__
+typedef int (*comparison_fn_t)(const void *, const void *);
+#endif
-+
-+#ifndef __COMPAR_FN_T
-+#define __COMPAR_FN_T
-+typedef int (*__compar_fn_t)(const void *, const void *);
-+#endif
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index f0bf246aa3..33669c7a75 100644
--- a/src/basic/sort-util.h
+++ b/src/basic/sort-util.h
@@ -4,6 +4,7 @@
@@ -46,16 +44,8 @@
/* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the
* external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that
---- a/src/core/kmod-setup.c
-+++ b/src/core/kmod-setup.c
-@@ -10,6 +10,7 @@
- #include "macro.h"
- #include "recurse-dir.h"
- #include "string-util.h"
-+#include "missing_type.h"
-
- #if HAVE_KMOD
- #include "module-util.h"
+diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
+index 7527abf636..f33383e57f 100644
--- a/src/libsystemd/sd-journal/catalog.c
+++ b/src/libsystemd/sd-journal/catalog.c
@@ -28,6 +28,7 @@
@@ -66,3 +56,6 @@
const char * const catalog_file_dirs[] = {
"/usr/local/lib/systemd/catalog/",
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-add-fallback-parse_printf_format-implementation.patch
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-add-fallback-parse_printf_format-implementation.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-add-fallback-parse_printf_format-implementation.patch
index d93f630..4143ab4 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-add-fallback-parse_printf_format-implementation.patch
@@ -1,4 +1,4 @@
-From 3e0df2c22bfd37bc62bf09a01ec498e40d3599de Mon Sep 17 00:00:00 2001
+From 383e85e15f16a46aac925aa439b8b60f58b40aa6 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Sat, 22 May 2021 20:26:24 +0200
Subject: [PATCH] add fallback parse_printf_format implementation
@@ -10,7 +10,6 @@
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
---
meson.build | 1 +
src/basic/meson.build | 5 +
@@ -24,17 +23,17 @@
--- a/meson.build
+++ b/meson.build
-@@ -686,6 +686,7 @@ endif
+@@ -781,6 +781,7 @@ endif
foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
+ 'printf.h',
'sys/auxv.h',
+ 'threads.h',
'valgrind/memcheck.h',
- 'valgrind/valgrind.h',
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -335,6 +335,11 @@ endforeach
+@@ -179,6 +179,11 @@ endforeach
basic_sources += generated_gperf_headers
@@ -384,7 +383,7 @@
+#endif /* HAVE_PRINTF_H */
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
-@@ -1,13 +1,13 @@
+@@ -1,12 +1,12 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
@@ -394,11 +393,10 @@
#include <sys/types.h>
#include "macro.h"
- #include "memory-util.h"
+#include "parse-printf-format.h"
- #define snprintf_ok(buf, len, fmt, ...) \
- ({ \
+ _printf_(3, 4)
+ static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) {
--- a/src/libsystemd/sd-journal/journal-send.c
+++ b/src/libsystemd/sd-journal/journal-send.c
@@ -2,7 +2,6 @@
@@ -409,7 +407,7 @@
#include <stddef.h>
#include <sys/un.h>
#include <unistd.h>
-@@ -21,6 +20,7 @@
+@@ -27,6 +26,7 @@
#include "stdio-util.h"
#include "string-util.h"
#include "tmpfile-util.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
index 005ef02..ec451cd 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,4 +1,4 @@
-From cef23a651ea200e30e1e6ed2a2564505e3a42d46 Mon Sep 17 00:00:00 2001
+From ee5c8b494a3269edd154a0b799a03b39dba2ceb0 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:18:21 +0800
Subject: [PATCH] src/basic/missing.h: check for missing strndupa
@@ -17,7 +17,7 @@
[rebased for systemd 244]
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
-
+[Rebased for v254]
---
meson.build | 1 +
src/backlight/backlight.c | 1 +
@@ -41,6 +41,7 @@
src/core/kmod-setup.c | 1 +
src/core/service.c | 1 +
src/coredump/coredump-vacuum.c | 1 +
+ src/fstab-generator/fstab-generator.c | 1 +
src/journal-remote/journal-remote-main.c | 1 +
src/journal/journalctl.c | 1 +
src/libsystemd/sd-bus/bus-message.c | 1 +
@@ -49,7 +50,6 @@
src/libsystemd/sd-bus/sd-bus.c | 1 +
src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
src/libsystemd/sd-journal/sd-journal.c | 1 +
- src/locale/keymap-util.c | 1 +
src/login/pam_systemd.c | 1 +
src/network/generator/network-generator.c | 1 +
src/nspawn/nspawn-settings.c | 1 +
@@ -64,17 +64,18 @@
src/shared/journal-importer.c | 1 +
src/shared/logs-show.c | 1 +
src/shared/pager.c | 1 +
- src/shared/uid-range.c | 1 +
src/socket-proxy/socket-proxyd.c | 1 +
src/test/test-hexdecoct.c | 1 +
src/udev/udev-builtin-path_id.c | 1 +
src/udev/udev-event.c | 1 +
src/udev/udev-rules.c | 1 +
- 51 files changed, 62 insertions(+)
+ 50 files changed, 61 insertions(+)
+diff --git a/meson.build b/meson.build
+index fb96143c37..739b2f7f72 100644
--- a/meson.build
+++ b/meson.build
-@@ -507,6 +507,7 @@ foreach ident : ['secure_getenv', '__sec
+@@ -595,6 +595,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
endforeach
foreach ident : [
@@ -82,19 +83,23 @@
['memfd_create', '''#include <sys/mman.h>'''],
['gettid', '''#include <sys/types.h>
#include <unistd.h>'''],
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index e66477f328..2613d1e3f9 100644
--- a/src/backlight/backlight.c
+++ b/src/backlight/backlight.c
@@ -19,6 +19,7 @@
#include "string-util.h"
#include "strv.h"
- #include "util.h"
+ #include "terminal-util.h"
+#include "missing_stdlib.h"
- static int help(void) {
- _cleanup_free_ char *link = NULL;
+ #define PCI_CLASS_GRAPHICS_CARD 0x30000
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index feda596939..11b4375ed5 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
-@@ -37,6 +37,7 @@
+@@ -38,6 +38,7 @@
#include "unit-name.h"
#include "user-util.h"
#include "xattr-util.h"
@@ -102,6 +107,8 @@
static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
_cleanup_free_ char *fs = NULL;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index 55ac11a512..7ccb1d7887 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -19,6 +19,7 @@
@@ -112,16 +119,20 @@
/* We follow bash for the character set. Different shells have different rules. */
#define VALID_BASH_ENV_NAME_CHARS \
+diff --git a/src/basic/log.c b/src/basic/log.c
+index fc5793139e..515218fca8 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
-@@ -36,6 +36,7 @@
+@@ -40,6 +40,7 @@
#include "terminal-util.h"
#include "time-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
#define SNDBUF_SIZE (8*1024*1024)
-
+ #define IOVEC_MAX 256U
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 8c76f93eb2..9068bfb4f0 100644
--- a/src/basic/missing_stdlib.h
+++ b/src/basic/missing_stdlib.h
@@ -11,3 +11,15 @@
@@ -140,6 +151,8 @@
+ (char *)memcpy(__new, __old, __len); \
+ })
+#endif
+diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
+index 7ad19ee33b..cc1d5e1e5b 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -15,6 +15,7 @@
@@ -148,11 +161,13 @@
#include "user-util.h"
+#include "missing_stdlib.h"
- int mkdir_safe_internal(
- const char *path,
+ int mkdirat_safe_internal(
+ int dir_fd,
+diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
+index bc74fbef8f..cdb609bb84 100644
--- a/src/basic/mountpoint-util.c
+++ b/src/basic/mountpoint-util.c
-@@ -13,6 +13,7 @@
+@@ -18,6 +18,7 @@
#include "missing_stat.h"
#include "missing_syscall.h"
#include "mkdir.h"
@@ -160,6 +175,8 @@
#include "mountpoint-util.h"
#include "nulstr-util.h"
#include "parse-util.h"
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index 3445d31307..d82b4415d9 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -18,6 +18,7 @@
@@ -170,6 +187,8 @@
int parse_boolean(const char *v) {
if (!v)
+diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
+index c99e9d8786..71a917a0b0 100644
--- a/src/basic/path-lookup.c
+++ b/src/basic/path-lookup.c
@@ -16,6 +16,7 @@
@@ -180,6 +199,8 @@
int xdg_user_runtime_dir(char **ret, const char *suffix) {
const char *e;
+diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
+index cab9d0eaea..5f6ca258e9 100644
--- a/src/basic/percent-util.c
+++ b/src/basic/percent-util.c
@@ -3,6 +3,7 @@
@@ -190,16 +211,20 @@
static int parse_parts_value_whole(const char *p, const char *symbol) {
const char *pc, *n;
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index eea70d8606..ae3abd8402 100644
--- a/src/basic/proc-cmdline.c
+++ b/src/basic/proc-cmdline.c
-@@ -15,6 +15,7 @@
+@@ -16,6 +16,7 @@
#include "string-util.h"
- #include "util.h"
+ #include "strv.h"
#include "virt.h"
+#include "missing_stdlib.h"
- int proc_cmdline(char **ret) {
- const char *e;
+ int proc_cmdline_filter_pid1_args(char **argv, char ***ret) {
+ enum {
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index bcba5a5208..64a95dd866 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -12,6 +12,7 @@
@@ -210,9 +235,11 @@
int procfs_get_pid_max(uint64_t *ret) {
_cleanup_free_ char *value = NULL;
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index b700f364ef..48a26bcec9 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
#include "string-util.h"
#include "strv.h"
#include "time-util.h"
@@ -220,19 +247,35 @@
static clockid_t map_clock_id(clockid_t c) {
+diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
+index 59f02b761a..7496646350 100644
--- a/src/boot/bless-boot.c
+++ b/src/boot/bless-boot.c
-@@ -19,6 +19,7 @@
- #include "util.h"
+@@ -22,6 +22,7 @@
+ #include "terminal-util.h"
#include "verbs.h"
#include "virt.h"
+#include "missing_stdlib.h"
static char **arg_path = NULL;
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index b5484eda78..54ed62c790 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -23,6 +23,7 @@
+ #include "parse-util.h"
+ #include "path-util.h"
+ #include "percent-util.h"
++#include "missing_stdlib.h"
+ #include "socket-util.h"
+
+ BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index f514b8fd12..4febd0d496 100644
--- a/src/core/dbus-execute.c
+++ b/src/core/dbus-execute.c
-@@ -44,6 +44,7 @@
+@@ -48,6 +48,7 @@
#include "unit-printf.h"
#include "user-util.h"
#include "utf8.h"
@@ -240,6 +283,8 @@
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index edfa0eb69a..6fd2ec9062 100644
--- a/src/core/dbus-util.c
+++ b/src/core/dbus-util.c
@@ -9,6 +9,7 @@
@@ -250,9 +295,11 @@
int bus_property_get_triggered_unit(
sd_bus *bus,
+diff --git a/src/core/execute.c b/src/core/execute.c
+index 853e87450f..8ef76de9ab 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
-@@ -102,6 +102,7 @@
+@@ -113,6 +113,7 @@
#include "unit-serialize.h"
#include "user-util.h"
#include "utmp-wtmp.h"
@@ -260,29 +307,35 @@
#define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
#define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index e843743777..e149807492 100644
--- a/src/core/kmod-setup.c
+++ b/src/core/kmod-setup.c
-@@ -11,6 +11,7 @@
- #include "recurse-dir.h"
+@@ -13,6 +13,7 @@
#include "string-util.h"
- #include "missing_type.h"
+ #include "strv.h"
+ #include "virt.h"
+#include "missing_stdlib.h"
#if HAVE_KMOD
#include "module-util.h"
+diff --git a/src/core/service.c b/src/core/service.c
+index 9ad3c3d995..b112d64919 100644
--- a/src/core/service.c
+++ b/src/core/service.c
-@@ -42,6 +42,7 @@
+@@ -45,6 +45,7 @@
+ #include "unit-name.h"
#include "unit.h"
#include "utf8.h"
- #include "util.h"
+#include "missing_stdlib.h"
- static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
- [SERVICE_DEAD] = UNIT_INACTIVE,
+ #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__)
+
+diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
+index c6e201ecf2..ab034475e2 100644
--- a/src/coredump/coredump-vacuum.c
+++ b/src/coredump/coredump-vacuum.c
-@@ -16,6 +16,7 @@
+@@ -17,6 +17,7 @@
#include "string-util.h"
#include "time-util.h"
#include "user-util.h"
@@ -290,9 +343,23 @@
#define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
#define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
+diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
+index efc553b698..acea922311 100644
+--- a/src/fstab-generator/fstab-generator.c
++++ b/src/fstab-generator/fstab-generator.c
+@@ -37,6 +37,7 @@
+ #include "unit-name.h"
+ #include "virt.h"
+ #include "volatile-util.h"
++#include "missing_stdlib.h"
+
+ typedef enum MountPointFlags {
+ MOUNT_NOAUTO = 1 << 0,
+diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
+index 7df264fb53..9463a0e9fb 100644
--- a/src/journal-remote/journal-remote-main.c
+++ b/src/journal-remote/journal-remote-main.c
-@@ -24,6 +24,7 @@
+@@ -26,6 +26,7 @@
#include "stat-util.h"
#include "string-table.h"
#include "strv.h"
@@ -300,9 +367,11 @@
#define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
#define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index da0fac548e..c1c043e0e0 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
-@@ -73,6 +73,7 @@
+@@ -77,6 +77,7 @@
#include "unit-name.h"
#include "user-util.h"
#include "varlink.h"
@@ -310,16 +379,20 @@
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
#define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index 9719f97c02..75decd9834 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -20,6 +20,7 @@
+@@ -19,6 +19,7 @@
#include "strv.h"
#include "time-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
-
+ static int message_parse_fields(sd_bus_message *m);
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index 2ad7a9993d..bba72f99f4 100644
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
@@ -11,6 +11,7 @@
@@ -330,6 +403,8 @@
static int node_vtable_get_userdata(
sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
+index 64037e4fe0..9b9ce0aaa9 100644
--- a/src/libsystemd/sd-bus/bus-socket.c
+++ b/src/libsystemd/sd-bus/bus-socket.c
@@ -28,6 +28,7 @@
@@ -340,9 +415,11 @@
#define SNDBUF_SIZE (8*1024*1024)
+diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
+index f6a5e4aa06..b36faa79a3 100644
--- a/src/libsystemd/sd-bus/sd-bus.c
+++ b/src/libsystemd/sd-bus/sd-bus.c
-@@ -43,6 +43,7 @@
+@@ -46,6 +46,7 @@
#include "string-util.h"
#include "strv.h"
#include "user-util.h"
@@ -350,39 +427,35 @@
#define log_debug_bus_message(m) \
do { \
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index 1eb6edd329..d434a3c178 100644
--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
-@@ -14,6 +14,7 @@
+@@ -13,6 +13,7 @@
+ #include "missing_resource.h"
#include "string-util.h"
#include "time-util.h"
- #include "util.h"
+#include "missing_stdlib.h"
#define MAX_SIZE (2*1024*1024)
+diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
+index 9947947ef2..8dc6f93159 100644
--- a/src/libsystemd/sd-journal/sd-journal.c
+++ b/src/libsystemd/sd-journal/sd-journal.c
-@@ -41,6 +41,7 @@
- #include "string-util.h"
+@@ -44,6 +44,7 @@
#include "strv.h"
#include "syslog-util.h"
+ #include "uid-alloc-range.h"
+#include "missing_stdlib.h"
- #define JOURNAL_FILES_MAX 7168
+ #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC)
---- a/src/locale/keymap-util.c
-+++ b/src/locale/keymap-util.c
-@@ -24,6 +24,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "tmpfile-util.h"
-+#include "missing_stdlib.h"
-
- static bool startswith_comma(const char *s, const char *prefix) {
- s = startswith(s, prefix);
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index ba2fca32c6..e1f9caa13b 100644
--- a/src/login/pam_systemd.c
+++ b/src/login/pam_systemd.c
-@@ -31,6 +31,7 @@
+@@ -34,6 +34,7 @@
#include "locale-util.h"
#include "login-util.h"
#include "macro.h"
@@ -390,9 +463,11 @@
#include "pam-util.h"
#include "parse-util.h"
#include "path-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index 1090934bfc..69a77f66e2 100644
--- a/src/network/generator/network-generator.c
+++ b/src/network/generator/network-generator.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
#include "string-table.h"
#include "string-util.h"
#include "strv.h"
@@ -400,16 +475,20 @@
/*
# .network
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index 05bde1c756..aa29587868 100644
--- a/src/nspawn/nspawn-settings.c
+++ b/src/nspawn/nspawn-settings.c
-@@ -17,6 +17,7 @@
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
#include "strv.h"
#include "user-util.h"
- #include "util.h"
+#include "missing_stdlib.h"
Settings *settings_new(void) {
Settings *s;
+diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
+index c64e79bdff..eda26b0b9a 100644
--- a/src/nss-mymachines/nss-mymachines.c
+++ b/src/nss-mymachines/nss-mymachines.c
@@ -21,6 +21,7 @@
@@ -420,9 +499,11 @@
static void setup_logging_once(void) {
static pthread_once_t once = PTHREAD_ONCE_INIT;
+diff --git a/src/portable/portable.c b/src/portable/portable.c
+index 7811833fac..c6414da91c 100644
--- a/src/portable/portable.c
+++ b/src/portable/portable.c
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,7 @@
#include "strv.h"
#include "tmpfile-util.h"
#include "user-util.h"
@@ -430,16 +511,20 @@
/* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
* dropped there by the portable service logic and b) for which image it was dropped there. */
+diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
+index 2638e985fb..82c903fd66 100644
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
-@@ -43,6 +43,7 @@
- #include "utf8.h"
+@@ -48,6 +48,7 @@
+ #include "varlink.h"
#include "verb-log-control.h"
#include "verbs.h"
+#include "missing_stdlib.h"
static int arg_family = AF_UNSPEC;
static int arg_ifindex = 0;
+diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
+index 8b4f66b22e..5926e4c61b 100644
--- a/src/shared/bus-get-properties.c
+++ b/src/shared/bus-get-properties.c
@@ -4,6 +4,7 @@
@@ -450,9 +535,11 @@
int bus_property_get_bool(
sd_bus *bus,
+diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
+index 8b462b5627..183ce1c18e 100644
--- a/src/shared/bus-unit-procs.c
+++ b/src/shared/bus-unit-procs.c
-@@ -10,6 +10,7 @@
+@@ -11,6 +11,7 @@
#include "sort-util.h"
#include "string-util.h"
#include "terminal-util.h"
@@ -460,9 +547,11 @@
struct CGroupInfo {
char *cgroup_path;
+diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
+index 1e95e36678..640ee031d5 100644
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
-@@ -49,6 +49,7 @@
+@@ -51,6 +51,7 @@
#include "unit-def.h"
#include "user-util.h"
#include "utf8.h"
@@ -470,19 +559,23 @@
int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
assert(message);
+diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
+index d09ec5148d..f38a8f7cc1 100644
--- a/src/shared/bus-util.c
+++ b/src/shared/bus-util.c
-@@ -21,6 +21,7 @@
+@@ -24,6 +24,7 @@
#include "path-util.h"
#include "socket-util.h"
#include "stdio-util.h"
+#include "missing_stdlib.h"
static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
- sd_event *e = userdata;
+ sd_event *e = ASSERT_PTR(userdata);
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index 620b156563..5ee5b09186 100644
--- a/src/shared/dns-domain.c
+++ b/src/shared/dns-domain.c
-@@ -17,6 +17,7 @@
+@@ -18,6 +18,7 @@
#include "string-util.h"
#include "strv.h"
#include "utf8.h"
@@ -490,56 +583,56 @@
int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index d9eabec886..534c6cf7e3 100644
--- a/src/shared/journal-importer.c
+++ b/src/shared/journal-importer.c
-@@ -15,6 +15,7 @@
- #include "parse-util.h"
+@@ -16,6 +16,7 @@
#include "string-util.h"
+ #include "strv.h"
#include "unaligned.h"
+#include "missing_stdlib.h"
enum {
IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index b72e516c8d..6e832b74c3 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
-@@ -42,6 +42,7 @@
+@@ -41,6 +41,7 @@
+ #include "time-util.h"
#include "utf8.h"
- #include "util.h"
#include "web-util.h"
+#include "missing_stdlib.h"
/* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
#define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 6ed35a3ca9..99d9d36140 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
-@@ -26,6 +26,7 @@
+@@ -25,6 +25,7 @@
+ #include "string-util.h"
#include "strv.h"
#include "terminal-util.h"
- #include "util.h"
+#include "missing_stdlib.h"
static pid_t pager_pid = 0;
---- a/src/shared/uid-range.c
-+++ b/src/shared/uid-range.c
-@@ -9,6 +9,7 @@
- #include "sort-util.h"
- #include "uid-range.h"
- #include "user-util.h"
-+#include "missing_stdlib.h"
-
- static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
- assert(range);
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index 821049e667..08a5bdae3d 100644
--- a/src/socket-proxy/socket-proxyd.c
+++ b/src/socket-proxy/socket-proxyd.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
+ #include "set.h"
#include "socket-util.h"
#include "string-util.h"
- #include "util.h"
+#include "missing_stdlib.h"
#define BUFFER_SIZE (256 * 1024)
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index 9d71db6ae1..a9938c1e6e 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -7,6 +7,7 @@
@@ -550,9 +643,11 @@
#include "tests.h"
TEST(hexchar) {
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index 8e4d57ee72..6b4555b4d5 100644
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
-@@ -22,6 +22,7 @@
+@@ -24,6 +24,7 @@
#include "sysexits.h"
#include "udev-builtin.h"
#include "udev-util.h"
@@ -560,9 +655,11 @@
_printf_(2,3)
static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index ec4ad30824..bc40303a46 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
-@@ -35,6 +35,7 @@
+@@ -34,6 +34,7 @@
#include "udev-util.h"
#include "udev-watch.h"
#include "user-util.h"
@@ -570,33 +667,18 @@
typedef struct Spawn {
sd_device *device;
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 5bd09a64d1..0ce79f815c 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
-@@ -34,6 +34,7 @@
+@@ -35,6 +35,7 @@
#include "udev-util.h"
#include "user-util.h"
#include "virt.h"
+#include "missing_stdlib.h"
- #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
+ #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d"))
---- a/src/core/dbus-cgroup.c
-+++ b/src/core/dbus-cgroup.c
-@@ -21,6 +21,7 @@
- #include "parse-util.h"
- #include "path-util.h"
- #include "percent-util.h"
-+#include "missing_stdlib.h"
- #include "socket-util.h"
-
- BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
---- a/src/fstab-generator/fstab-generator.c
-+++ b/src/fstab-generator/fstab-generator.c
-@@ -29,6 +29,7 @@
- #include "util.h"
- #include "virt.h"
- #include "volatile-util.h"
-+#include "missing_stdlib.h"
-
- typedef enum MountPointFlags {
- MOUNT_NOAUTO = 1 << 0,
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
deleted file mode 100644
index 327084b..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ad395dda5db9b1ae156be121cfc8a38960de6c55 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/test/test-sizeof.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -55,8 +55,10 @@ int main(void) {
- info(unsigned);
- info(long unsigned);
- info(long long unsigned);
-+#ifdef __GLIBC__
- info(__syscall_ulong_t);
- info(__syscall_slong_t);
-+#endif
- info(intmax_t);
- info(uintmax_t);
-
-@@ -76,7 +78,9 @@ int main(void) {
- info(ssize_t);
- info(time_t);
- info(usec_t);
-+#ifdef __GLIBC__
- info(__time_t);
-+#endif
- info(pid_t);
- info(uid_t);
- info(gid_t);
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index 846c01b..0d69e8e 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,4 +1,4 @@
-From fb068403b25002156435350165ea418a6338a313 Mon Sep 17 00:00:00 2001
+From 747ff78ecda6afe01c7eab4d7c27aea6af810c86 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:56:21 +0800
Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
@@ -16,13 +16,14 @@
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
---
src/basic/glob-util.c | 12 ++++++++++++
src/test/test-glob-util.c | 16 ++++++++++++++++
src/tmpfiles/tmpfiles.c | 10 ++++++++++
3 files changed, 38 insertions(+)
+diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
+index fd60a6eda2..c73edc41ea 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
@@ -12,6 +12,12 @@
@@ -46,7 +47,7 @@
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
assert(!(flags & GLOB_ALTDIRFUNC));
-@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flag
+@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
@@ -61,11 +62,13 @@
if (k == GLOB_NOMATCH)
return -ENOENT;
if (k == GLOB_NOSPACE)
+diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
+index 9b3e73cce0..3790ba3be5 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
-@@ -13,6 +13,12 @@
- #include "tests.h"
- #include "tmpfile-util.h"
+@@ -34,6 +34,12 @@ TEST(glob_first) {
+ assert_se(first == NULL);
+ }
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
@@ -75,8 +78,8 @@
+
TEST(glob_exists) {
char name[] = "/tmp/test-glob_exists.XXXXXX";
- int fd = -1;
-@@ -40,11 +46,13 @@ TEST(glob_no_dot) {
+ int fd = -EBADF;
+@@ -61,11 +67,13 @@ TEST(glob_no_dot) {
const char *fn;
_cleanup_globfree_ glob_t g = {
@@ -90,7 +93,7 @@
};
int r;
-@@ -52,11 +60,19 @@ TEST(glob_no_dot) {
+@@ -73,11 +81,19 @@ TEST(glob_no_dot) {
assert_se(mkdtemp(template));
fn = strjoina(template, "/*");
@@ -110,11 +113,13 @@
assert_se(r == GLOB_NOMATCH);
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 458aed7054..2cf24b38c0 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
-@@ -67,6 +67,12 @@
- #include "umask-util.h"
+@@ -73,6 +73,12 @@
#include "user-util.h"
+ #include "virt.h"
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
@@ -125,7 +130,7 @@
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
* them in the file system. This is intended to be used to create
* properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1961,7 +1967,9 @@ finish:
+@@ -2355,7 +2361,9 @@ finish:
static int glob_item(Item *i, action_t action) {
_cleanup_globfree_ glob_t g = {
@@ -134,8 +139,8 @@
+#endif
};
int r = 0, k;
- char **fn;
-@@ -1981,7 +1989,9 @@ static int glob_item(Item *i, action_t a
+
+@@ -2375,7 +2383,9 @@ static int glob_item(Item *i, action_t action) {
static int glob_item_recursively(Item *i, fdaction_t action) {
_cleanup_globfree_ glob_t g = {
@@ -144,4 +149,7 @@
+#endif
};
int r = 0, k;
- char **fn;
+
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-add-missing-FTW_-macros-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-add-missing-FTW_-macros-for-musl.patch
new file mode 100644
index 0000000..d6aaadc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-add-missing-FTW_-macros-for-musl.patch
@@ -0,0 +1,44 @@
+From efd7b41cf270c7b07ee3b9aec0fedd8e52dd422f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:00:06 +0800
+Subject: [PATCH] add missing FTW_ macros for musl
+
+This is to avoid build failures like below for musl.
+
+ locale-util.c:296:24: error: 'FTW_STOP' undeclared
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 4 ++++
+ src/test/test-recurse-dir.c | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 6c0456349d..73a5b90e3c 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -14,3 +14,7 @@
+ #ifndef __GLIBC__
+ typedef int (*comparison_fn_t)(const void *, const void *);
+ #endif
++
++#ifndef FTW_CONTINUE
++#define FTW_CONTINUE 0
++#endif
+diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c
+index 2c2120b136..bc60a178a2 100644
+--- a/src/test/test-recurse-dir.c
++++ b/src/test/test-recurse-dir.c
+@@ -6,6 +6,7 @@
+ #include "recurse-dir.h"
+ #include "strv.h"
+ #include "tests.h"
++#include "missing_type.h"
+
+ static char **list_nftw = NULL;
+
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
index 029f413..2071f4f 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,4 +1,4 @@
-From 856010e268a6aca8e5f02502457afe289bd877f1 Mon Sep 17 00:00:00 2001
+From 60f7d2c62bc3718023df93c01688d3ee1625d64d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:12:41 +0800
Subject: [PATCH] Use uintmax_t for handling rlim_t
@@ -20,7 +20,6 @@
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Rebased for v241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
---
src/basic/format-util.h | 8 +-------
src/basic/rlimit-util.c | 12 ++++++------
@@ -73,9 +72,9 @@
if (r < 0)
return -ENOMEM;
-@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
-
- rl.rlim_cur = FD_SETSIZE;
+@@ -407,7 +407,7 @@ int rlimit_nofile_safe(void) {
+ rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open());
+ rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max);
if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
+ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
@@ -84,7 +83,7 @@
}
--- a/src/core/execute.c
+++ b/src/core/execute.c
-@@ -5639,9 +5639,9 @@ void exec_context_dump(const ExecContext
+@@ -6707,9 +6707,9 @@ void exec_context_dump(const ExecContext
for (unsigned i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
deleted file mode 100644
index 878914b..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 873202f63f9f117c6e5a98e444cc709057042979 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
- strerror_r
-
-XSI-compliant strerror_r and GNU-specifi strerror_r are different.
-
- int strerror_r(int errnum, char *buf, size_t buflen);
- /* XSI-compliant */
-
- char *strerror_r(int errnum, char *buf, size_t buflen);
- /* GNU-specific */
-
-We need to distinguish between them. Otherwise, we'll get an int value
-assigned to (char *) variable, resulting in segment fault.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/libsystemd/sd-bus/bus-error.c | 5 +++++
- src/libsystemd/sd-journal/journal-send.c | 5 +++++
- 2 files changed, 10 insertions(+)
-
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -409,7 +409,12 @@ static void bus_error_strerror(sd_bus_er
- return;
-
- errno = 0;
-+#ifndef __GLIBC__
-+ strerror_r(error, m, k);
-+ x = m;
-+#else
- x = strerror_r(error, m, k);
-+#endif
- if (errno == ERANGE || strlen(x) >= k - 1) {
- free(m);
- k *= 2;
---- a/src/libsystemd/sd-journal/journal-send.c
-+++ b/src/libsystemd/sd-journal/journal-send.c
-@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(co
- char* j;
-
- errno = 0;
-+#ifndef __GLIBC__
-+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+ j = buffer + 8 + k;
-+#else
- j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+#endif
- if (errno == 0) {
- char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
deleted file mode 100644
index e6507c5..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e7441559266074e7a33e3c11ff5cdaf5ba9c0e24 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:18:00 +0800
-Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
-
-for currently unknown reasons they get exported to the shared libries
-even without being listed in the sym file
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Rebased for v241]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/libsystemd/sd-bus/bus-error.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index c49be29e46..90731bd7e7 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -55,8 +55,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
- };
-
- /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
--extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[];
--extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[];
-+extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
-+extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
-
- /* Additional maps registered with sd_bus_error_add_map() are in this
- * NULL terminated array */
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index 0026a7b..543fba7 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,4 +1,4 @@
-From 5d4c6b2f4b88b69b31f967371d2a6136c65dc3fd Mon Sep 17 00:00:00 2001
+From 26b02348e39fe72b73dd61bba8a0cefb0352717d Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
@@ -25,15 +25,16 @@
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
---
- src/basic/fs-util.h | 23 +++++++++++++++++++++--
+ src/basic/fs-util.h | 21 ++++++++++++++++++++-
src/shared/base-filesystem.c | 6 +++---
- 2 files changed, 24 insertions(+), 5 deletions(-)
+ 2 files changed, 23 insertions(+), 4 deletions(-)
+diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
+index 932d003f19..33215dbf5f 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
-@@ -46,8 +46,27 @@ int futimens_opath(int fd, const struct
+@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
int fd_warn_permissions(const char *path, int fd);
int stat_warn_permissions(const char *path, const struct stat *st);
@@ -61,19 +62,21 @@
+ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0))
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
- int touch(const char *path);
+
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index be6dd1654a..2726dc946a 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
-@@ -117,7 +117,7 @@ int base_filesystem_create(const char *r
- return log_error_errno(errno, "Failed to open root file system: %m");
+@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
+ /* The "root" parameter is decoration only – it's only used as part of log messages */
for (size_t i = 0; i < ELEMENTSOF(table); i++) {
- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
+ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
continue;
- if (table[i].target) {
-@@ -125,7 +125,7 @@ int base_filesystem_create(const char *r
+ if (table[i].target) { /* Create as symlink? */
+@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
/* check if one of the targets exists */
NULSTR_FOREACH(s, table[i].target) {
@@ -82,7 +85,7 @@
continue;
/* check if a specific file exists at the target path */
-@@ -136,7 +136,7 @@ int base_filesystem_create(const char *r
+@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
if (!p)
return log_oom();
@@ -91,3 +94,6 @@
continue;
}
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch
similarity index 75%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 612a535..7d74cfc 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,4 +1,4 @@
-From 1803ea271b93370fdcf7ec497277344f1e775429 Mon Sep 17 00:00:00 2001
+From fdc7fb940bb41020271b9db41d5608004efdbde5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 27 May 2018 08:36:44 -0700
Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
@@ -9,16 +9,17 @@
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
src/machine/machine-dbus.c | 5 +++++
1 file changed, 5 insertions(+)
+diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
+index 45bc056326..aee51d5da5 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
-@@ -10,6 +10,11 @@
- #include <libgen.h>
- #undef basename
+@@ -4,6 +4,11 @@
+ #include <sys/mount.h>
+ #include <sys/wait.h>
+#if !defined(__GLIBC__)
+#include <string.h>
@@ -28,3 +29,6 @@
#include "alloc-util.h"
#include "bus-common-errors.h"
#include "bus-get-properties.h"
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
deleted file mode 100644
index eeff693..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 64f4d2eb976b9f23ce85b3655a876f7299eafd58 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:27:54 +0800
-Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
-
-Fix the following compile failure:
-src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/basic/missing_type.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index 3df1084ef2..697aa7f58a 100644
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -13,6 +13,7 @@
-
- #ifndef __GLIBC__
- typedef int (*comparison_fn_t)(const void *, const void *);
-+typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
- #endif
-
- #ifndef __COMPAR_FN_T
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index baf4903..8162bc2 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,4 +1,4 @@
-From 30b08f76ea7f5c324afedf97f0867b76dac9f128 Mon Sep 17 00:00:00 2001
+From 32fd0dc67b6df531f0769dbb099dbe8f30c28514 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 4 Jul 2018 15:00:44 +0800
Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
@@ -19,14 +19,15 @@
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
---
src/basic/process-util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/src/basic/process-util.c b/src/basic/process-util.c
+index 0747c14c1c..8d0c5aae92 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
-@@ -1489,7 +1489,7 @@ int set_oom_score_adjust(int value) {
+@@ -1516,7 +1516,7 @@ int set_oom_score_adjust(int value) {
xsprintf(t, "%i", value);
return write_string_file("/proc/self/oom_score_adj", t,
@@ -35,3 +36,6 @@
}
int get_oom_score_adjust(int *ret) {
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-Handle-missing-LOCK_EX.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-Handle-missing-LOCK_EX.patch
deleted file mode 100644
index d51ac42..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-Handle-missing-LOCK_EX.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 2284f2f44b1b30f10b9196e0f5c6d0a2e0c1871f Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Fri, 7 Aug 2020 15:19:27 +0000
-Subject: [PATCH] Handle missing LOCK_EX
-
-Upstream-Status: Inappropriate [musl specific]
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
-
----
- src/partition/makefs.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/partition/makefs.c b/src/partition/makefs.c
-index 7c94fbfedb..42f966722d 100644
---- a/src/partition/makefs.c
-+++ b/src/partition/makefs.c
-@@ -6,6 +6,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <unistd.h>
-+#include <sys/file.h>
-
- #include "alloc-util.h"
- #include "blockdev-util.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
new file mode 100644
index 0000000..f6d908f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -0,0 +1,76 @@
+From ed46afcbc6bc1f6277a0a54c3db8cf1b056bca1e Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 10 Jul 2018 15:40:17 +0800
+Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
+ strerror_r
+
+XSI-compliant strerror_r and GNU-specifi strerror_r are different.
+
+ int strerror_r(int errnum, char *buf, size_t buflen);
+ /* XSI-compliant */
+
+ char *strerror_r(int errnum, char *buf, size_t buflen);
+ /* GNU-specific */
+
+We need to distinguish between them. Otherwise, we'll get an int value
+assigned to (char *) variable, resulting in segment fault.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++-
+ src/libsystemd/sd-journal/journal-send.c | 5 +++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
+index 413e2dd43f..805e5da0c0 100644
+--- a/src/libsystemd/sd-bus/bus-error.c
++++ b/src/libsystemd/sd-bus/bus-error.c
+@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+ return;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(error, m, k);
++ x = m;
++#else
+ x = strerror_r(error, m, k);
++#endif
+ if (errno == ERANGE || strlen(x) >= k - 1) {
+ free(m);
+ k *= 2;
+@@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static
+
+ if (e && e->message)
+ return e->message;
+-
++#ifndef __GLIBC__
++ strerror_r(abs(error), buf, ERRNO_BUF_LEN);
++ return buf;
++#else
+ return strerror_r(abs(error), buf, ERRNO_BUF_LEN);
++#endif
+ }
+
+ static bool map_ok(const sd_bus_error_map *map) {
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
+index 136ebcb153..8a75ba4ecd 100644
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
+@@ -360,7 +360,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+ char* j;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++ j = buffer + 8 + k;
++#else
+ j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++#endif
+ if (errno == 0) {
+ char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
+
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
deleted file mode 100644
index 1ba5c12..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From a6a25e1ecae91f48a4f87bf0cc17eaaf0a919ffe Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Fri, 7 Aug 2020 15:20:17 +0000
-Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
-
-| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
-| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
-| 4893 | if (connect(fd, &sa.un, SOCKADDR_UN_LEN(sa.un)) < 0) {
-| | ^~~~~~
-| | |
-| | struct sockaddr_un *
-| In file included from ../../../../../../workspace/sources/systemd/src/systemd/sd-daemon.h:22,
-| from ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:21:
-| /home/ubuntu/poky/build/tmp/work/core2-64-poky-linux-musl/systemd/1_246-r0/recipe-sysroot/usr/include/sys/socket.h:384:19: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_un *'
-| 384 | int connect (int, const struct sockaddr *, socklen_t);
-| | ^~~~~~~~~~~~~~~~~~~~~~~
-| cc1: some warnings being treated as errors
-
-Upstream-Status: Inappropriate [musl specific]
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
-
----
- src/nspawn/nspawn.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/nspawn/nspawn.c
-+++ b/src/nspawn/nspawn.c
-@@ -5389,7 +5389,7 @@ static int cant_be_in_netns(void) {
- if (fd < 0)
- return log_error_errno(errno, "Failed to allocate udev control socket: %m");
-
-- if (connect(fd, &sa.sa, SOCKADDR_UN_LEN(sa.un)) < 0) {
-+ if (connect(fd, (struct sockaddr *)&sa.sa, SOCKADDR_UN_LEN(sa.un)) < 0) {
-
- if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
- return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-avoid-redefinition-of-prctl_mm_map-structure.patch
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-avoid-redefinition-of-prctl_mm_map-structure.patch
index 5ca5386..e5f0173 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,4 +1,4 @@
-From d95330f328c23c1cd6c51aeca43f081746cf2899 Mon Sep 17 00:00:00 2001
+From 277b680d07a178b8278862b60417052d05c1376f Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:44:54 +0800
Subject: [PATCH] avoid redefinition of prctl_mm_map structure
@@ -9,7 +9,6 @@
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
---
src/basic/missing_prctl.h | 2 ++
1 file changed, 2 insertions(+)
@@ -28,3 +27,6 @@
/* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
#ifndef PR_CAP_AMBIENT
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-do-not-disable-buffer-in-writing-files.patch
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-do-not-disable-buffer-in-writing-files.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-do-not-disable-buffer-in-writing-files.patch
index d389e1d..c850872 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-do-not-disable-buffer-in-writing-files.patch
@@ -1,4 +1,4 @@
-From 0f9422780a569c79a4b28e44c79c70b4a354bd92 Mon Sep 17 00:00:00 2001
+From aa6e5588e6d01c12e2f101d140cc710ab199df16 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 1 Mar 2019 15:22:15 +0800
Subject: [PATCH] do not disable buffer in writing files
@@ -18,29 +18,33 @@
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
+[rebased for systemd 254]
---
- src/basic/cgroup-util.c | 10 +++++-----
- src/basic/procfs-util.c | 4 ++--
- src/basic/sysctl-util.c | 2 +-
- src/basic/util.c | 2 +-
- src/binfmt/binfmt.c | 6 +++---
- src/core/main.c | 4 ++--
- src/core/smack-setup.c | 8 ++++----
- src/hibernate-resume/hibernate-resume.c | 2 +-
- src/libsystemd/sd-device/sd-device.c | 2 +-
- src/nspawn/nspawn-cgroup.c | 2 +-
- src/nspawn/nspawn.c | 6 +++---
- src/shared/cgroup-setup.c | 4 ++--
- src/shared/mount-util.c | 4 ++--
- src/shared/smack-util.c | 2 +-
- src/sleep/sleep.c | 8 ++++----
- src/vconsole/vconsole-setup.c | 2 +-
- 16 files changed, 34 insertions(+), 34 deletions(-)
+ src/basic/cgroup-util.c | 12 ++++++------
+ src/basic/namespace-util.c | 4 ++--
+ src/basic/procfs-util.c | 4 ++--
+ src/basic/sysctl-util.c | 2 +-
+ src/binfmt/binfmt.c | 6 +++---
+ src/core/cgroup.c | 2 +-
+ src/core/main.c | 2 +-
+ src/core/smack-setup.c | 8 ++++----
+ src/home/homework.c | 2 +-
+ src/libsystemd/sd-device/sd-device.c | 2 +-
+ src/nspawn/nspawn-cgroup.c | 2 +-
+ src/nspawn/nspawn.c | 6 +++---
+ src/shared/binfmt-util.c | 2 +-
+ src/shared/cgroup-setup.c | 4 ++--
+ src/shared/coredump-util.c | 2 +-
+ src/shared/sleep-util.c | 4 ++--
+ src/shared/smack-util.c | 2 +-
+ src/sleep/sleep.c | 4 ++--
+ src/udev/udev-rules.c | 1 -
+ src/vconsole/vconsole-setup.c | 2 +-
+ 20 files changed, 36 insertions(+), 37 deletions(-)
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
-@@ -390,7 +390,7 @@ int cg_kill_kernel_sigkill(const char *c
+@@ -400,7 +400,7 @@ int cg_kill_kernel_sigkill(const char *c
if (r < 0)
return r;
@@ -49,7 +53,7 @@
if (r < 0)
return r;
-@@ -803,7 +803,7 @@ int cg_install_release_agent(const char
+@@ -806,7 +806,7 @@ int cg_install_release_agent(const char
sc = strstrip(contents);
if (isempty(sc)) {
@@ -58,7 +62,7 @@
if (r < 0)
return r;
} else if (!path_equal(sc, agent))
-@@ -821,7 +821,7 @@ int cg_install_release_agent(const char
+@@ -824,7 +824,7 @@ int cg_install_release_agent(const char
sc = strstrip(contents);
if (streq(sc, "0")) {
@@ -67,7 +71,7 @@
if (r < 0)
return r;
-@@ -848,7 +848,7 @@ int cg_uninstall_release_agent(const cha
+@@ -851,7 +851,7 @@ int cg_uninstall_release_agent(const cha
if (r < 0)
return r;
@@ -76,7 +80,7 @@
if (r < 0)
return r;
-@@ -858,7 +858,7 @@ int cg_uninstall_release_agent(const cha
+@@ -861,7 +861,7 @@ int cg_uninstall_release_agent(const cha
if (r < 0)
return r;
@@ -85,7 +89,7 @@
if (r < 0)
return r;
-@@ -1704,7 +1704,7 @@ int cg_set_attribute(const char *control
+@@ -1764,7 +1764,7 @@ int cg_set_attribute(const char *control
if (r < 0)
return r;
@@ -94,6 +98,23 @@
}
int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
+--- a/src/basic/namespace-util.c
++++ b/src/basic/namespace-util.c
+@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map,
+ freeze();
+
+ xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
+- r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, uid_map, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+ xsprintf(path, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, gid_map, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi
@@ -123,20 +144,9 @@
}
int sysctl_writef(const char *property, const char *format, ...) {
---- a/src/basic/util.c
-+++ b/src/basic/util.c
-@@ -168,7 +168,7 @@ void disable_coredumps(void) {
- if (detect_container() > 0)
- return;
-
-- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
- if (r < 0)
- log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
- }
--- a/src/binfmt/binfmt.c
+++ b/src/binfmt/binfmt.c
-@@ -29,7 +29,7 @@ static bool arg_unregister = false;
+@@ -30,7 +30,7 @@ static bool arg_unregister = false;
static int delete_rule(const char *rulename) {
const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename);
@@ -145,7 +155,7 @@
}
static int apply_rule(const char *filename, unsigned line, const char *rule) {
-@@ -59,7 +59,7 @@ static int apply_rule(const char *filena
+@@ -58,7 +58,7 @@ static int apply_rule(const char *filena
if (r >= 0)
log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename);
@@ -154,8 +164,8 @@
if (r < 0)
return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m",
filename, line, rulename);
-@@ -226,7 +226,7 @@ static int run(int argc, char *argv[]) {
- }
+@@ -244,7 +244,7 @@ static int run(int argc, char *argv[]) {
+ return r;
/* Flush out all rules */
- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
@@ -163,17 +173,19 @@
if (r < 0)
log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m");
else
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -4349,7 +4349,7 @@ int unit_cgroup_freezer_action(Unit *u,
+ u->freezer_state = FREEZER_THAWING;
+ }
+
+- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0);
+ if (r < 0)
+ return r;
+
--- a/src/core/main.c
+++ b/src/core/main.c
-@@ -1466,7 +1466,7 @@ static int bump_unix_max_dgram_qlen(void
- if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
- return 0;
-
-- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER,
-+ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0,
- "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
- if (r < 0)
- return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
@@ -1737,7 +1737,7 @@ static void initialize_core_pattern(bool
if (getpid_cached() != 1)
return;
@@ -185,7 +197,7 @@
arg_early_core_pattern);
--- a/src/core/smack-setup.c
+++ b/src/core/smack-setup.c
-@@ -320,17 +320,17 @@ int mac_smack_setup(bool *loaded_policy)
+@@ -319,17 +319,17 @@ int mac_smack_setup(bool *loaded_policy)
}
#if HAVE_SMACK_RUN_LABEL
@@ -207,20 +219,20 @@
if (r < 0)
log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
#endif
---- a/src/hibernate-resume/hibernate-resume.c
-+++ b/src/hibernate-resume/hibernate-resume.c
-@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
- return EXIT_FAILURE;
- }
+--- a/src/home/homework.c
++++ b/src/home/homework.c
+@@ -278,7 +278,7 @@ static void drop_caches_now(void) {
+ * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but
+ * not more. */
-- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume", major_minor, 0);
- if (r < 0) {
- log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
- return EXIT_FAILURE;
+- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to drop caches, ignoring: %m");
+ else
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -2108,7 +2108,7 @@ _public_ int sd_device_set_sysattr_value
+@@ -2515,7 +2515,7 @@ _public_ int sd_device_set_sysattr_value
if (!value)
return -ENOMEM;
@@ -231,7 +243,7 @@
device_remove_cached_sysattr_value(device, sysattr);
--- a/src/nspawn/nspawn-cgroup.c
+++ b/src/nspawn/nspawn-cgroup.c
-@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified
+@@ -122,7 +122,7 @@ int sync_cgroup(pid_t pid, CGroupUnified
fn = strjoina(tree, cgroup, "/cgroup.procs");
sprintf(pid_string, PID_FMT, pid);
@@ -242,7 +254,7 @@
goto finish;
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
-@@ -2757,7 +2757,7 @@ static int reset_audit_loginuid(void) {
+@@ -2774,7 +2774,7 @@ static int reset_audit_loginuid(void) {
if (streq(p, "4294967295"))
return 0;
@@ -251,7 +263,7 @@
if (r < 0) {
log_error_errno(r,
"Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -4163,7 +4163,7 @@ static int setup_uid_map(
+@@ -4214,7 +4214,7 @@ static int setup_uid_map(
return log_oom();
xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
@@ -260,7 +272,7 @@
if (r < 0)
return log_error_errno(r, "Failed to write UID map: %m");
-@@ -4173,7 +4173,7 @@ static int setup_uid_map(
+@@ -4224,7 +4224,7 @@ static int setup_uid_map(
return log_oom();
xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
@@ -269,18 +281,29 @@
if (r < 0)
return log_error_errno(r, "Failed to write GID map: %m");
+--- a/src/shared/binfmt-util.c
++++ b/src/shared/binfmt-util.c
+@@ -46,7 +46,7 @@ int disable_binfmt(void) {
+ return 0;
+ }
+
+- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
+
--- a/src/shared/cgroup-setup.c
+++ b/src/shared/cgroup-setup.c
-@@ -345,7 +345,7 @@ int cg_attach(const char *controller, co
+@@ -351,7 +351,7 @@ int cg_attach(const char *controller, co
xsprintf(c, PID_FMT "\n", pid);
- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
+ r = write_string_file(fs, c, 0);
- if (r < 0)
- return r;
-
-@@ -877,7 +877,7 @@ int cg_enable_everywhere(
+ if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0)
+ /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
+ return -EUCLEAN;
+@@ -964,7 +964,7 @@ int cg_enable_everywhere(
return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
}
@@ -289,9 +312,40 @@
if (r < 0) {
log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+--- a/src/shared/coredump-util.c
++++ b/src/shared/coredump-util.c
+@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value)
+ xsprintf(t, "0x%"PRIx64, value);
+
+ return write_string_file("/proc/self/coredump_filter", t,
+- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
++ 0);
+ }
+
+ /* Turn off core dumps but only if we're running outside of a container. */
+--- a/src/shared/sleep-util.c
++++ b/src/shared/sleep-util.c
+@@ -1044,7 +1044,7 @@ int write_resume_config(dev_t devno, uin
+
+ /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
+ * fail gracefully if it doesn't exist and we're only overwriting it with 0. */
+- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
+ if (r == -ENOENT) {
+ if (offset != 0)
+ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+@@ -1060,7 +1060,7 @@ int write_resume_config(dev_t devno, uin
+ log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
+ offset_str, device);
+
+- r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", devno_str, 0);
+ if (r < 0)
+ return log_error_errno(r,
+ "Failed to write device '%s' (%s) to /sys/power/resume: %m",
--- a/src/shared/smack-util.c
+++ b/src/shared/smack-util.c
-@@ -114,7 +114,7 @@ int mac_smack_apply_pid(pid_t pid, const
+@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const
return 0;
p = procfs_file_alloca(pid, "attr/current");
@@ -302,25 +356,7 @@
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
-@@ -46,7 +46,7 @@ static int write_hibernate_location_info
- assert(hibernate_location->swap);
-
- xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno));
-- r = write_string_file("/sys/power/resume", resume_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume", resume_str, 0);
- if (r < 0)
- return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m",
- hibernate_location->swap->device, resume_str);
-@@ -73,7 +73,7 @@ static int write_hibernate_location_info
- }
-
- xsprintf(offset_str, "%" PRIu64, hibernate_location->offset);
-- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
- if (r < 0)
- return log_debug_errno(r, "Failed to write swap file offset to /sys/power/resume_offset for '%s': '%s': %m",
- hibernate_location->swap->device, offset_str);
-@@ -90,7 +90,7 @@ static int write_mode(char **modes) {
+@@ -139,7 +139,7 @@ static int write_mode(char **modes) {
STRV_FOREACH(mode, modes) {
int k;
@@ -329,7 +365,7 @@
if (k >= 0)
return 0;
-@@ -112,7 +112,7 @@ static int write_state(FILE **f, char **
+@@ -160,7 +160,7 @@ static int write_state(FILE **f, char **
STRV_FOREACH(state, states) {
int k;
@@ -338,9 +374,19 @@
if (k >= 0)
return 0;
log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2634,7 +2634,6 @@ static int udev_rule_apply_token_to_even
+ log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value);
+ r = write_string_file(buf, value,
+ WRITE_STRING_FILE_VERIFY_ON_FAILURE |
+- WRITE_STRING_FILE_DISABLE_BUFFER |
+ WRITE_STRING_FILE_AVOID_NEWLINE |
+ WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
+ if (r < 0)
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
-@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *na
+@@ -260,7 +260,7 @@ static int toggle_utf8_vc(const char *na
static int toggle_utf8_sysfs(bool utf8) {
int r;
@@ -349,72 +395,3 @@
if (r < 0)
return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
---- a/src/basic/namespace-util.c
-+++ b/src/basic/namespace-util.c
-@@ -202,12 +202,12 @@ int userns_acquire(const char *uid_map,
- freeze();
-
- xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
-- r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(path, uid_map, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write UID map: %m");
-
- xsprintf(path, "/proc/" PID_FMT "/gid_map", pid);
-- r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(path, gid_map, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write GID map: %m");
-
---- a/src/core/cgroup.c
-+++ b/src/core/cgroup.c
-@@ -4140,7 +4140,7 @@ int unit_cgroup_freezer_action(Unit *u,
- else
- u->freezer_state = FREEZER_THAWING;
-
-- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0);
- if (r < 0)
- return r;
-
---- a/src/home/homework.c
-+++ b/src/home/homework.c
-@@ -284,7 +284,7 @@ static void drop_caches_now(void) {
- * details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but not
- * more. */
-
-- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0);
- if (r < 0)
- log_warning_errno(r, "Failed to drop caches, ignoring: %m");
- else
---- a/src/shared/binfmt-util.c
-+++ b/src/shared/binfmt-util.c
-@@ -26,7 +26,7 @@ int disable_binfmt(void) {
- if (r < 0)
- return log_warning_errno(r, "Failed to determine whether binfmt_misc is mounted: %m");
-
-- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
- if (r < 0)
- return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
-
---- a/src/shared/coredump-util.c
-+++ b/src/shared/coredump-util.c
-@@ -70,5 +70,5 @@ int set_coredump_filter(uint64_t value)
- sprintf(t, "0x%"PRIx64, value);
-
- return write_string_file("/proc/self/coredump_filter", t,
-- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
-+ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
- }
---- a/src/udev/udev-rules.c
-+++ b/src/udev/udev-rules.c
-@@ -2181,7 +2181,6 @@ static int udev_rule_apply_token_to_even
- log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value);
- r = write_string_file(buf, value,
- WRITE_STRING_FILE_VERIFY_ON_FAILURE |
-- WRITE_STRING_FILE_DISABLE_BUFFER |
- WRITE_STRING_FILE_AVOID_NEWLINE |
- WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
- if (r < 0)
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-test-json.c-define-M_PIl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-test-json.c-define-M_PIl.patch
deleted file mode 100644
index dfab8fb..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-test-json.c-define-M_PIl.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 47472da6e8900773c26da8fd26699367447d97a6 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 16:53:06 +0800
-Subject: [PATCH] test-json.c: define M_PIl
-
-Fix the following compile failure:
-src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/test/test-json.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/src/test/test-json.c
-+++ b/src/test/test-json.c
-@@ -14,6 +14,10 @@
- #include "tests.h"
- #include "util.h"
-
-+#ifndef M_PIl
-+#define M_PIl 3.141592653589793238462643383279502884L
-+#endif
-+
- static void test_tokenizer_one(const char *data, ...) {
- unsigned line = 0, column = 0;
- void *state = NULL;
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0025-Handle-__cpu_mask-usage.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-Handle-__cpu_mask-usage.patch
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0025-Handle-__cpu_mask-usage.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-Handle-__cpu_mask-usage.patch
index e001ed5..580aff3 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0025-Handle-__cpu_mask-usage.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-Handle-__cpu_mask-usage.patch
@@ -1,4 +1,4 @@
-From e4f9ef547fa342102db15188544daa18e71e9c66 Mon Sep 17 00:00:00 2001
+From a50ec65dbe660421052656dda7499c925005f486 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Fri, 13 Sep 2019 19:26:27 -0400
Subject: [PATCH] Handle __cpu_mask usage
@@ -18,14 +18,11 @@
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
---
src/shared/cpu-set-util.h | 2 ++
src/test/test-sizeof.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
-diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
-index 3c63a58826..4c2d4347fc 100644
--- a/src/shared/cpu-set-util.h
+++ b/src/shared/cpu-set-util.h
@@ -6,6 +6,8 @@
@@ -37,8 +34,6 @@
/* This wraps the libc interface with a variable to keep the allocated size. */
typedef struct CPUSet {
cpu_set_t *set;
-diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
-index 4403c0aa52..e7e4ae112d 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -1,6 +1,5 @@
@@ -47,8 +42,8 @@
-#include <sched.h>
#include <stdio.h>
#include <string.h>
- #include <sys/types.h>
-@@ -10,6 +9,7 @@
+ #include <sys/resource.h>
+@@ -12,6 +11,7 @@
#include <float.h>
#include "time-util.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0026-Handle-missing-gshadow.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0023-Handle-missing-gshadow.patch
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0026-Handle-missing-gshadow.patch
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0023-Handle-missing-gshadow.patch
index 2d06ab8..19ee3ff 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0026-Handle-missing-gshadow.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0023-Handle-missing-gshadow.patch
@@ -1,4 +1,4 @@
-From 66a926cf906260c2fb5ea851e55efe03edd444dc Mon Sep 17 00:00:00 2001
+From ebf0f69d8614b8d86a971b97ff0d847d1e5d47c9 Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Tue, 10 Mar 2020 11:05:20 +0000
Subject: [PATCH] Handle missing gshadow
@@ -10,16 +10,17 @@
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
-
---
src/shared/user-record-nss.c | 20 ++++++++++++++++++++
src/shared/user-record-nss.h | 4 ++++
src/shared/userdb.c | 7 ++++++-
3 files changed, 30 insertions(+), 1 deletion(-)
+diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
+index 88b8fc2f8f..a819d41bac 100644
--- a/src/shared/user-record-nss.c
+++ b/src/shared/user-record-nss.c
-@@ -331,8 +331,10 @@ int nss_group_to_group_record(
+@@ -329,8 +329,10 @@ int nss_group_to_group_record(
if (isempty(grp->gr_name))
return -EINVAL;
@@ -30,7 +31,7 @@
g = group_record_new();
if (!g)
-@@ -348,6 +350,7 @@ int nss_group_to_group_record(
+@@ -346,6 +348,7 @@ int nss_group_to_group_record(
g->gid = grp->gr_gid;
@@ -38,7 +39,7 @@
if (sgrp) {
if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) {
g->hashed_password = strv_new(sgrp->sg_passwd);
-@@ -363,6 +366,7 @@ int nss_group_to_group_record(
+@@ -361,6 +364,7 @@ int nss_group_to_group_record(
if (r < 0)
return r;
}
@@ -46,7 +47,7 @@
r = json_build(&g->json, JSON_BUILD_OBJECT(
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
-@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct grou
+@@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
assert(ret_sgrp);
assert(ret_buffer);
@@ -54,7 +55,7 @@
for (;;) {
_cleanup_free_ char *buf = NULL;
struct sgrp sgrp, *result;
-@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct grou
+@@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
buflen *= 2;
buf = mfree(buf);
}
@@ -64,7 +65,7 @@
}
int nss_group_record_by_name(
-@@ -427,7 +435,9 @@ int nss_group_record_by_name(
+@@ -426,7 +434,9 @@ int nss_group_record_by_name(
struct group grp, *result;
bool incomplete = false;
size_t buflen = 4096;
@@ -74,7 +75,7 @@
int r;
assert(name);
-@@ -457,6 +467,7 @@ int nss_group_record_by_name(
+@@ -455,6 +465,7 @@ int nss_group_record_by_name(
buf = mfree(buf);
}
@@ -82,7 +83,7 @@
if (with_shadow) {
r = nss_sgrp_for_group(result, &sgrp, &sbuf);
if (r < 0) {
-@@ -468,6 +479,9 @@ int nss_group_record_by_name(
+@@ -466,6 +477,9 @@ int nss_group_record_by_name(
incomplete = true;
r = nss_group_to_group_record(result, sresult, ret);
@@ -92,7 +93,7 @@
if (r < 0)
return r;
-@@ -484,7 +498,9 @@ int nss_group_record_by_gid(
+@@ -483,7 +497,9 @@ int nss_group_record_by_gid(
struct group grp, *result;
bool incomplete = false;
size_t buflen = 4096;
@@ -101,8 +102,8 @@
+#endif
int r;
- assert(ret);
-@@ -512,6 +528,7 @@ int nss_group_record_by_gid(
+ for (;;) {
+@@ -509,6 +525,7 @@ int nss_group_record_by_gid(
buf = mfree(buf);
}
@@ -110,7 +111,7 @@
if (with_shadow) {
r = nss_sgrp_for_group(result, &sgrp, &sbuf);
if (r < 0) {
-@@ -523,6 +540,9 @@ int nss_group_record_by_gid(
+@@ -520,6 +537,9 @@ int nss_group_record_by_gid(
incomplete = true;
r = nss_group_to_group_record(result, sresult, ret);
@@ -120,6 +121,8 @@
if (r < 0)
return r;
+diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h
+index 22ab04d6ee..4e52e7a911 100644
--- a/src/shared/user-record-nss.h
+++ b/src/shared/user-record-nss.h
@@ -2,7 +2,11 @@
@@ -134,9 +137,11 @@
#include <pwd.h>
#include <shadow.h>
+diff --git a/src/shared/userdb.c b/src/shared/userdb.c
+index a77eff4407..955e361d3a 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
-@@ -1046,13 +1046,15 @@ int groupdb_iterator_get(UserDBIterator
+@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
if (gr) {
_cleanup_free_ char *buffer = NULL;
bool incomplete = false;
@@ -153,7 +158,7 @@
if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
r = nss_sgrp_for_group(gr, &sgrp, &buffer);
if (r < 0) {
-@@ -1065,6 +1067,9 @@ int groupdb_iterator_get(UserDBIterator
+@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
}
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
@@ -163,3 +168,6 @@
if (r < 0)
return r;
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
new file mode 100644
index 0000000..d64cec1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -0,0 +1,49 @@
+From a2f56a2a6cdd5137bb1e680aa9f6c40540107166 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Apr 2021 23:44:53 -0700
+Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
+
+musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64
+unlike glibc where these are provided by libc headers, therefore define
+them here in case they are undefined
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/missing_syscall.h | 6 ++++++
+ src/shared/base-filesystem.c | 1 +
+ 2 files changed, 7 insertions(+)
+
+diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
+index 98cd037962..ea6a76c2e2 100644
+--- a/src/basic/missing_syscall.h
++++ b/src/basic/missing_syscall.h
+@@ -20,6 +20,12 @@
+ #include <asm/sgidefs.h>
+ #endif
+
++#ifndef _MIPS_SIM_ABI32
++#define _MIPS_SIM_ABI32 1
++#define _MIPS_SIM_NABI32 2
++#define _MIPS_SIM_ABI64 3
++#endif
++
+ #include "macro.h"
+ #include "missing_keyctl.h"
+ #include "missing_stat.h"
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 2726dc946a..484f63e0b4 100644
+--- a/src/shared/base-filesystem.c
++++ b/src/shared/base-filesystem.c
+@@ -20,6 +20,7 @@
+ #include "string-util.h"
+ #include "umask-util.h"
+ #include "user-util.h"
++#include "missing_syscall.h"
+
+ typedef struct BaseFilesystem {
+ const char *dir; /* directory or symlink to create */
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
deleted file mode 100644
index 700a04a..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6f0dd2ba75b68036d7b4ebfe47ac5eaf44d26f06 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 12 Apr 2021 23:44:53 -0700
-Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
-
-musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64
-unlike glibc where these are provided by libc headers, therefore define
-them here in case they are undefined
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/basic/missing_syscall.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/src/basic/missing_syscall.h
-+++ b/src/basic/missing_syscall.h
-@@ -20,6 +20,12 @@
- #include <asm/sgidefs.h>
- #endif
-
-+#ifndef _MIPS_SIM_ABI32
-+#define _MIPS_SIM_ABI32 1
-+#define _MIPS_SIM_NABI32 2
-+#define _MIPS_SIM_ABI64 3
-+#endif
-+
- #include "macro.h"
- #include "missing_keyctl.h"
- #include "missing_stat.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch
new file mode 100644
index 0000000..c9ec000
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch
@@ -0,0 +1,39 @@
+From 148645ba8b62f04c7c5ff5907378663f97880f22 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:06:27 -0700
+Subject: [PATCH 1/4] sd-event: Make malloc_trim() conditional on glibc
+
+musl does not have this API
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsystemd/sd-event/sd-event.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
+index aba458185b..48c94a7672 100644
+--- a/src/libsystemd/sd-event/sd-event.c
++++ b/src/libsystemd/sd-event/sd-event.c
+@@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit(
+ }
+
+ _public_ int sd_event_trim_memory(void) {
+- int r;
++ int r = 0;
+
+ /* A default implementation of a memory pressure callback. Simply releases our own allocation caches
+ * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a
+@@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) {
+
+ usec_t before_timestamp = now(CLOCK_MONOTONIC);
+ hashmap_trim_pools();
++#ifdef __GLIBC__
+ r = malloc_trim(0);
++#endif
+ usec_t after_timestamp = now(CLOCK_MONOTONIC);
+
+ if (r > 0)
+--
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0029-shared-Do-not-use-malloc_info-on-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0029-shared-Do-not-use-malloc_info-on-musl.patch
new file mode 100644
index 0000000..8e38655
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0029-shared-Do-not-use-malloc_info-on-musl.patch
@@ -0,0 +1,50 @@
+From 9430646e72ea5d260ade300038a6d976fecf7da5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:20:40 -0700
+Subject: [PATCH 4/4] shared: Do not use malloc_info on musl
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shared/bus-util.c | 5 +++--
+ src/shared/common-signal.c | 4 ++--
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+--- a/src/shared/bus-util.c
++++ b/src/shared/bus-util.c
+@@ -617,15 +617,16 @@ static int method_dump_memory_state_by_f
+ _cleanup_close_ int fd = -EBADF;
+ size_t dump_size;
+ FILE *f;
+- int r;
++ int r = 0;
+
+ assert(message);
+
+ f = memstream_init(&m);
+ if (!f)
+ return -ENOMEM;
+-
++#ifdef __GLIBC__
+ r = RET_NERRNO(malloc_info(/* options= */ 0, f));
++#endif
+ if (r < 0)
+ return r;
+
+--- a/src/shared/common-signal.c
++++ b/src/shared/common-signal.c
+@@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *
+ log_oom();
+ break;
+ }
+-
++#ifdef __GLIBC__
+ if (malloc_info(0, f) < 0) {
+ log_error_errno(errno, "Failed to invoke malloc_info(): %m");
+ break;
+ }
+-
++#endif
+ (void) memstream_dump(LOG_INFO, &m);
+ break;
+ }
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb
deleted file mode 100644
index 14e927d..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.9.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "libsystemd static library"
-DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
-
-SECTION = "libs"
-
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-
-inherit meson pkgconfig
-
-DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
-
-SRCREV = "1d5e0e9910500f3c3584485f77bfc35e601036e3"
-SRCBRANCH = "v250-stable"
-SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
- file://static-libsystemd-pkgconfig.patch \
- file://0001-dirent-util-Remove-asserts-on-dirent64-dirent.patch \
- "
-
-# patches needed by musl
-SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
-
-SRC_URI_MUSL = "\
- file://0002-don-t-use-glibc-specific-qsort_r.patch \
- file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
- file://0004-add-fallback-parse_printf_format-implementation.patch \
- file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
- file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
- file://0008-add-missing-FTW_-macros-for-musl.patch \
- file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
- file://0010-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
- file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
- file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
- file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
- file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
- file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
- file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \
- file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \
- file://0019-Handle-missing-LOCK_EX.patch \
- file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \
- file://0021-test-json.c-define-M_PIl.patch \
- file://0022-do-not-disable-buffer-in-writing-files.patch \
- file://0025-Handle-__cpu_mask-usage.patch \
- file://0026-Handle-missing-gshadow.patch \
- file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
- file://0002-Add-sys-stat.h-for-S_IFDIR.patch \
- file://0001-Adjust-for-musl-headers.patch \
- "
-
-PACKAGECONFIG ??= "gshadow idn"
-PACKAGECONFIG:remove:libc-musl = " gshadow idn"
-PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
-PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
-
-CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
-
-EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS:${PN}-dev = ""
-
-do_compile() {
- ninja -v ${PARALLEL_MAKE} version.h
- ninja -v ${PARALLEL_MAKE} libsystemd.a
- ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc
-}
-
-do_install () {
- install -d ${D}${libdir}
- install ${B}/libsystemd.a ${D}${libdir}
-
- install -d ${D}${includedir}/systemd
- install ${S}/src/systemd/*.h ${D}${includedir}/systemd
-
- install -d ${D}${libdir}/pkgconfig
- install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
-}
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_254.4.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_254.4.bb
new file mode 100644
index 0000000..0b21194
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_254.4.bb
@@ -0,0 +1,74 @@
+SUMMARY = "libsystemd static library"
+DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
+
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
+
+inherit meson pkgconfig
+
+DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
+
+SRCREV = "2e7504449a51fb38db9cd2da391c6434f82def51"
+SRCBRANCH = "v254-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
+ file://static-libsystemd-pkgconfig.patch \
+ "
+
+# patches needed by musl
+SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
+
+SRC_URI_MUSL = "\
+ file://0009-missing_type.h-add-comparison_fn_t.patch \
+ file://0010-add-fallback-parse_printf_format-implementation.patch \
+ file://0011-src-basic-missing.h-check-for-missing-strndupa.patch \
+ file://0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
+ file://0013-add-missing-FTW_-macros-for-musl.patch \
+ file://0014-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
+ file://0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+ file://0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+ file://0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+ file://0020-avoid-redefinition-of-prctl_mm_map-structure.patch \
+ file://0021-do-not-disable-buffer-in-writing-files.patch \
+ file://0022-Handle-__cpu_mask-usage.patch \
+ file://0023-Handle-missing-gshadow.patch \
+ file://0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
+ file://0005-pass-correct-parameters-to-getdents64.patch \
+ file://0001-Adjust-for-musl-headers.patch \
+ file://0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
+ file://0003-errno-util-Make-STRERROR-portable-for-musl.patch \
+ file://0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
+ file://0029-shared-Do-not-use-malloc_info-on-musl.patch \
+ "
+
+PACKAGECONFIG ??= "gshadow idn"
+PACKAGECONFIG:remove:libc-musl = " gshadow idn"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
+
+CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
+
+EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN}-dev = ""
+
+do_compile() {
+ ninja -v ${PARALLEL_MAKE} version.h
+ ninja -v ${PARALLEL_MAKE} libsystemd.a
+ ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ install ${B}/libsystemd.a ${D}${libdir}
+
+ install -d ${D}${includedir}/systemd
+ install ${S}/src/systemd/*.h ${D}${includedir}/systemd
+
+ install -d ${D}${libdir}/pkgconfig
+ install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
+}
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.4.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.4.0.bb
index a7e1478..956b4b8 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.4.0.bb
@@ -8,7 +8,7 @@
DEPENDS += "expat"
-SRCREV = "0eda85574546d19d9f06d6d5418bc192b3846f96"
+SRCREV = "b482cd6d0890e3f9ae141b4aeb07d3724e48b3db"
SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
S = "${WORKDIR}/tools"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb
index 869bfa9..ca91b35 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb
@@ -10,9 +10,9 @@
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
-PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
+PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap,basu"
PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
-PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock"
+PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${PTEST_PATH},-DBUILD_TESTS=OFF,googletest gmock"
DEPENDS += "expat"
@@ -39,14 +39,13 @@
fi
}
-PTEST_PATH = "${libdir}/${BPN}/ptest"
do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${B}/tests/sdbus-c++-unit-tests ${D}${PTEST_PATH}
+ DESTDIR='${D}' cmake_runcmake_build --target tests/install
}
FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
+RDEPENDS:${PN}-ptest += "dbus"
# It adds -isystem which is spurious, no idea where it gets it from
CCACHE_DISABLE = "1"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb b/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb
new file mode 100644
index 0000000..8996381
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Monocypher is an easy-to-use crypto library"
+DESCRIPTION = "Monocypher is an easy to use, easy to deploy, \
+auditable crypto library written in portable C. It approaches the size of TweetNaCl and the speed of libsodium."
+HOMEPAGE = "https://monocypher.org/"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENCE.md;md5=6a251155d943c8531e01a139f3fc531a"
+
+SRC_URI = "git://github.com/LoupVaillant/Monocypher.git;protocol=https;branch=master"
+SRCREV = "0d85f98c9d9b0227e42cf795cb527dff372b40a4"
+
+S = "${WORKDIR}/git"
+
+CFLAGS+="-pedantic -Wall -Wextra -O3"
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}'"
+
+do_compile() {
+ oe_runmake library
+}
+
+do_install() {
+ oe_runmake install-lib
+ oe_runmake install-pc
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.1.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.1.bb
index 99a76d4..649bb39 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.1.bb
@@ -6,7 +6,7 @@
LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https"
-SRCREV = "c7f810a76ca88ff28613fa165927e0269255aab0"
+SRCREV = "15dc687f573311ac721c0df9d2123d2959268e92"
S = "${WORKDIR}/git/c++"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231126.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231126.0.bb
index b53753c..44a7f68 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231126.0.bb
@@ -14,7 +14,7 @@
inherit autotools-brokensep pkgconfig manpages
-SRCREV = "f727e74001ec5081818669635fc2bae377be6eda"
+SRCREV = "c480d71e19ad842a1217e9e84e6e4afca124b95e"
SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_4.0.0.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_4.0.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
index c6a6ac4..40d997a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_4.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
@@ -7,14 +7,14 @@
file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
"
-PV .= "+git${SRCPV}"
-
SRC_URI = "git://github.com/msgpack/msgpack-c;branch=c_master;protocol=https \
"
-SRCREV = "a9a48cea3a78ba661ee8096b5dab456361b0ff23"
+SRCREV = "8160ede5e20fd3019a77eea46d9c72cf6163f802"
S = "${WORKDIR}/git"
inherit cmake pkgconfig
+EXTRA_OECMAKE += "-DMSGPACK_BUILD_TESTS=off"
+
BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_4.1.1.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_4.1.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
index fd08bf8..5f5507b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_4.1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
@@ -8,7 +8,7 @@
"
SRC_URI = "https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/msgpack-cxx-${PV}.tar.gz"
-SRC_URI[sha256sum] = "8115c5edcf20bc1408c798a6bdaec16c1e52b1c34859d4982a0fb03300438f0b"
+SRC_URI[sha256sum] = "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7"
S = "${WORKDIR}/msgpack-cxx-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
index 694d632..3509323 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
@@ -16,7 +16,7 @@
SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37"
-SRCREV_FORMAT = "json-test-data"
+SRCREV_FORMAT .= "_json-test-data"
S = "${WORKDIR}/git"
@@ -36,6 +36,7 @@
install -d ${D}${PTEST_PATH}/tests
cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/
cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests
+ rm -rf ${D}${PTEST_PATH}/json_test_data/.git
}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb b/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb
rename to meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
index c57324d..880af82 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
@@ -1,18 +1,17 @@
SUMMARY = "New set of tools for working with SquashFS images"
SECTION = "base"
-LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & MIT & BSD-2-Clause & Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.md;md5=5789fb0572753ed69014cd90a445cd74 \
+LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & MIT & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.md;md5=a709b68f1ce8a9f10aeea6401446c1f4 \
file://licenses/GPLv3.txt;md5=1ebbd3e34237af26da5dc08a4e440464 \
file://licenses/hash_table.txt;md5=874823605326caeaabaa95bfbd0f9fb0 \
file://licenses/LGPLv3.txt;md5=3000208d539ec061b899bce1d9ce9404 \
file://licenses/LZ4.txt;md5=ebc2ea4814a64de7708f1571904b32cc \
file://licenses/xxhash.txt;md5=f042a9be092bd6d7fe6f217d8d00f4ca \
file://licenses/xz.txt;md5=1c389b9610ccfdb25f7abaea6a0bb5a4 \
- file://licenses/zlib.txt;md5=ae27c72096606131f760e5f59cf98b06 \
file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8 \
"
-SRCREV = "7667b84cc34707c28ca0db8d24f046ec34e8c25d"
+SRCREV = "f2a3ad56e40c9711b23371238f9fa07dd24245f1"
SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch
deleted file mode 100644
index 98b8887..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Upstream-Status: Backport [https://github.com/google/brotli/pull/838]
-From 092446fafb4bfb81738853b7c7f76b293cd92a80 Mon Sep 17 00:00:00 2001
-From: Evgenii Kliuchnikov <eustas.ru@gmail.com>
-Date: Wed, 2 Sep 2020 10:49:49 +0200
-Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)"
-
-This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1.
----
- scripts/libbrotlicommon.pc.in | 2 +-
- scripts/libbrotlidec.pc.in | 2 +-
- scripts/libbrotlienc.pc.in | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in
-index 10ca969e..2a8cf7a3 100644
---- a/scripts/libbrotlicommon.pc.in
-+++ b/scripts/libbrotlicommon.pc.in
-@@ -7,5 +7,5 @@ Name: libbrotlicommon
- URL: https://github.com/google/brotli
- Description: Brotli common dictionary library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlicommon
-+Libs: -L${libdir} -lbrotlicommon
- Cflags: -I${includedir}
-diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in
-index e7c3124f..6f8ef2e4 100644
---- a/scripts/libbrotlidec.pc.in
-+++ b/scripts/libbrotlidec.pc.in
-@@ -7,6 +7,6 @@ Name: libbrotlidec
- URL: https://github.com/google/brotli
- Description: Brotli decoder library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlidec
-+Libs: -L${libdir} -lbrotlidec
- Requires.private: libbrotlicommon >= 1.0.2
- Cflags: -I${includedir}
-diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in
-index 4dd0811b..2098afe2 100644
---- a/scripts/libbrotlienc.pc.in
-+++ b/scripts/libbrotlienc.pc.in
-@@ -7,6 +7,6 @@ Name: libbrotlienc
- URL: https://github.com/google/brotli
- Description: Brotli encoder library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlienc
-+Libs: -L${libdir} -lbrotlienc
- Requires.private: libbrotlicommon >= 1.0.2
- Cflags: -I${includedir}
diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
rename to meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
index 708c1c1..83f4483 100644
--- a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
@@ -6,10 +6,9 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b"
-SRC_URI = "git://github.com/google/brotli.git;branch=master;protocol=https \
- file://838.patch "
-# tag 1.0.9
-SRCREV= "e61745a6b7add50d380cfd7d3883dd6c62fc2c71"
+SRC_URI = "git://github.com/google/brotli.git;branch=master;protocol=https"
+SRCREV= "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d"
+
S = "${WORKDIR}/git"
inherit cmake lib_package
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_3.4.4.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb
rename to meta-openembedded/meta-oe/recipes-extended/icewm/icewm_3.4.4.bb
index ecb0dbe..8a150f5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_3.4.4.bb
@@ -5,7 +5,7 @@
SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
"
-SRC_URI[sha256sum] = "af7bab3472189febf50753eaecfac586901419d282cbcbff92e860d4b74894b3"
+SRC_URI[sha256sum] = "1bca9a0b5f959c1f715f5e49d2e0036b5ef3ca07d049529bc88cb7429a58ba31"
UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
diff --git a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.25.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb
rename to meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.25.bb
index 8eebd69..8d19c62 100644
--- a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.25.bb
@@ -1,12 +1,13 @@
SUMMARY = "A top utility for I/O"
LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=48e7be78bd2671d08c9c3bad71f1cfaa"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=72ad44c0841d1e759669d27744e39389"
DEPENDS = "ncurses"
-SRC_URI = "https://github.com/Tomas-M/iotop/releases/download/v1.21/iotop-1.21.tar.xz"
-SRC_URI[sha256sum] = "7b4862ebc93909a3f800193140ca2464e926291a9c873b50dc31fa77e6d9383e"
-UPSTREAM_CHECK_URI = "https://github.com/Tomas-M/iotop/releases"
+SRC_URI = "git://github.com/Tomas-M/iotop.git;branch=master;protocol=https"
+SRCREV = "9d60bb7e262e0d41b0aa3bcfaa806fa4f42e548a"
+
+S = "${WORKDIR}/git"
inherit pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc
deleted file mode 100644
index 5a6cda6..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Fast samples-based log normalization library"
-DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data."
-
-HOMEPAGE = "http://www.liblognorm.com"
-SECTION = "base"
-
-LICENSE = "LGPL-2.1-or-later"
-
-SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\
-"
-
-inherit autotools pkgconfig
-
-DEPENDS += "libee libestr json-c"
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch
new file mode 100644
index 0000000..abb09bc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch
@@ -0,0 +1,28 @@
+From b8c65236cd6cd68b57004479006c683455680a82 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 15 Oct 2023 12:34:52 +0100
+Subject: [PATCH] Add asprintf to autoconf function check macro
+
+Upstream-Status: Submitted [https://github.com/rsyslog/liblognorm/pull/376]
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index b6f92f1..b057550 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,7 +55,7 @@ AC_TYPE_SIZE_T
+ AC_FUNC_SELECT_ARGTYPES
+ AC_TYPE_SIGNAL
+ AC_FUNC_STRERROR_R
+-AC_CHECK_FUNCS([strdup strndup strtok_r])
++AC_CHECK_FUNCS([asprintf strdup strndup strtok_r])
+
+ LIBLOGNORM_CFLAGS="-I\$(top_srcdir)/src"
+ LIBLOGNORM_LIBS="\$(top_builddir)/src/liblognorm.la"
+--
+2.43.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
deleted file mode 100644
index 5d89e35..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1"
-SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb
new file mode 100644
index 0000000..0cc128c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Liblognorm is a fast-samples based normalization library."
+DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data."
+HOMEPAGE = "http://www.liblognorm.com"
+SECTION = "base"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad"
+
+DEPENDS = "libfastjson libestr"
+
+SRC_URI = "git://github.com/rsyslog/liblognorm;branch=master;protocol=https \
+ file://0001-Add-asprintf-to-autoconf-function-check-macro.patch \
+ "
+SRCREV = "46c6ee4c8e5f827893e485a4ef1aff04ea881273"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "testbench tools"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,pcre2,"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[advstats] = "--enable-advanced-stats,--disable-advanced-stats,,"
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx,"
+PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,,"
+PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
deleted file mode 100644
index 0857cc4..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A Modbus library"
-DESCRIPTION = "libmodbus is a C library designed to provide a fast and robust \
-implementation of the Modbus protocol. It runs on Linux, Mac OS X, FreeBSD, \
-QNX and Windows."
-HOMEPAGE = "http://www.libmodbus.org/"
-SECTION = "libs"
-
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://libmodbus.org/releases/${BP}.tar.gz"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[documentation] = "--with-documentation,--without-documentation,asciidoc-native xmlto-native"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
deleted file mode 100644
index e7fbb03..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
-Date: Wed, 19 Dec 2018 10:24:47 +0800
-Subject: Fix float endianness issue on big endian arch
-
-It converts float values depending on what order they come in.
-
-This patch was modified from rm5248 [1]
-
-[1] https://github.com/synexxus/libmodbus/commit/a511768e7fe7ec52d7bae1d9ae04e33f87a59627
-
----
-Upstream-Status: Pending
-
- src/modbus-data.c | 110 ++++++++++++++++++++++++++++++++++++++---------
- tests/unit-test-client.c | 22 ++++++----
- tests/unit-test.h.in | 41 ++++++++++++++++--
- 3 files changed, 141 insertions(+), 32 deletions(-)
-
-diff --git a/src/modbus-data.c b/src/modbus-data.c
-index 902b8c6..7a744fa 100644
---- a/src/modbus-data.c
-+++ b/src/modbus-data.c
-@@ -119,9 +119,18 @@ float modbus_get_float_abcd(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl(((uint32_t)src[0] << 16) + src[1]);
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (a << 24) |
-+ (b << 16) |
-+ (c << 8) |
-+ (d << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -131,9 +140,18 @@ float modbus_get_float_dcba(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl(bswap_32((((uint32_t)src[0]) << 16) + src[1]));
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (d << 24) |
-+ (c << 16) |
-+ (b << 8) |
-+ (a << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -143,9 +161,18 @@ float modbus_get_float_badc(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl((uint32_t)(bswap_16(src[0]) << 16) + bswap_16(src[1]));
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (b << 24) |
-+ (a << 16) |
-+ (d << 8) |
-+ (c << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -155,9 +182,18 @@ float modbus_get_float_cdab(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl((((uint32_t)src[1]) << 16) + src[0]);
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (c << 24) |
-+ (d << 16) |
-+ (a << 8) |
-+ (b << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -172,50 +208,84 @@ float modbus_get_float(const uint16_t *src)
- memcpy(&f, &i, sizeof(float));
-
- return f;
-+
- }
-
- /* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
- void modbus_set_float_abcd(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)(i >> 16);
-- dest[1] = (uint16_t)i;
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = a;
-+ out[1] = b;
-+ out[2] = c;
-+ out[3] = d;
- }
-
- /* Set a float to 4 bytes for Modbus with byte and word swap conversion (DCBA) */
- void modbus_set_float_dcba(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = bswap_32(htonl(i));
-- dest[0] = (uint16_t)(i >> 16);
-- dest[1] = (uint16_t)i;
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = d;
-+ out[1] = c;
-+ out[2] = b;
-+ out[3] = a;
-+
- }
-
- /* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
- void modbus_set_float_badc(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)bswap_16(i >> 16);
-- dest[1] = (uint16_t)bswap_16(i & 0xFFFF);
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = b;
-+ out[1] = a;
-+ out[2] = d;
-+ out[3] = c;
- }
-
- /* Set a float to 4 bytes for Modbus with word swap conversion (CDAB) */
- void modbus_set_float_cdab(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)i;
-- dest[1] = (uint16_t)(i >> 16);
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = c;
-+ out[1] = d;
-+ out[2] = a;
-+ out[3] = b;
- }
-
- /* DEPRECATED - Set a float to 4 bytes in a sort of Modbus format! */
-diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
-index 3e315f4..3fccf3e 100644
---- a/tests/unit-test-client.c
-+++ b/tests/unit-test-client.c
-@@ -27,6 +27,7 @@ int send_crafted_request(modbus_t *ctx, int function,
- uint16_t max_value, uint16_t bytes,
- int backend_length, int backend_offset);
- int equal_dword(uint16_t *tab_reg, const uint32_t value);
-+int is_memory_equal(const void *s1, const void *s2, size_t size);
-
- #define BUG_REPORT(_cond, _format, _args ...) \
- printf("\nLine %d: assertion error for '%s': " _format "\n", __LINE__, # _cond, ## _args)
-@@ -40,6 +41,11 @@ int equal_dword(uint16_t *tab_reg, const uint32_t value);
- } \
- };
-
-+int is_memory_equal(const void *s1, const void *s2, size_t size)
-+{
-+ return (memcmp(s1, s2, size) == 0);
-+}
-+
- int equal_dword(uint16_t *tab_reg, const uint32_t value) {
- return ((tab_reg[0] == (value >> 16)) && (tab_reg[1] == (value & 0xFFFF)));
- }
-@@ -286,26 +292,26 @@ int main(int argc, char *argv[])
- /** FLOAT **/
- printf("1/4 Set/get float ABCD: ");
- modbus_set_float_abcd(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_ABCD), "FAILED Set float ABCD");
-- real = modbus_get_float_abcd(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_ABCD_SET, 4), "FAILED Set float ABCD");
-+ real = modbus_get_float_abcd(UT_IREAL_ABCD_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("2/4 Set/get float DCBA: ");
- modbus_set_float_dcba(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_DCBA), "FAILED Set float DCBA");
-- real = modbus_get_float_dcba(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_DCBA_SET, 4), "FAILED Set float DCBA");
-+ real = modbus_get_float_dcba(UT_IREAL_DCBA_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("3/4 Set/get float BADC: ");
- modbus_set_float_badc(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_BADC), "FAILED Set float BADC");
-- real = modbus_get_float_badc(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_BADC_SET, 4), "FAILED Set float BADC");
-+ real = modbus_get_float_badc(UT_IREAL_BADC_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("4/4 Set/get float CDAB: ");
- modbus_set_float_cdab(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_CDAB), "FAILED Set float CDAB");
-- real = modbus_get_float_cdab(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_CDAB_SET, 4), "FAILED Set float CDAB");
-+ real = modbus_get_float_cdab(UT_IREAL_CDAB_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("\nAt this point, error messages doesn't mean the test has failed\n");
-diff --git a/tests/unit-test.h.in b/tests/unit-test.h.in
-index dca826f..4ffa254 100644
---- a/tests/unit-test.h.in
-+++ b/tests/unit-test.h.in
-@@ -56,12 +56,45 @@ const uint16_t UT_INPUT_REGISTERS_ADDRESS = 0x108;
- const uint16_t UT_INPUT_REGISTERS_NB = 0x1;
- const uint16_t UT_INPUT_REGISTERS_TAB[] = { 0x000A };
-
-+/*
-+ * This float value is 0x47F12000 (in big-endian format).
-+ * In Little-endian(intel) format, it will be stored in memory as follows:
-+ * 0x00 0x20 0xF1 0x47
-+ *
-+ * You can check this with the following code:
-+
-+ float fl = UT_REAL;
-+ uint8_t *inmem = (uint8_t*)&fl;
-+ int x;
-+ for(x = 0; x < 4; x++){
-+ printf("0x%02X ", inmem[ x ]);
-+ }
-+ printf("\n");
-+ */
- const float UT_REAL = 123456.00;
-
--const uint32_t UT_IREAL_ABCD = 0x0020F147;
--const uint32_t UT_IREAL_DCBA = 0x47F12000;
--const uint32_t UT_IREAL_BADC = 0x200047F1;
--const uint32_t UT_IREAL_CDAB = 0xF1470020;
-+/*
-+ * The following arrays assume that 'A' is the MSB,
-+ * and 'D' is the LSB.
-+ * Thus, the following is the case:
-+ * A = 0x47
-+ * B = 0xF1
-+ * C = 0x20
-+ * D = 0x00
-+ *
-+ * There are two sets of arrays: one to test that the setting is correct,
-+ * the other to test that the getting is correct.
-+ * Note that the 'get' values must be constants in processor-endianness,
-+ * as libmodbus will convert all words to processor-endianness as they come in.
-+ */
-+const uint8_t UT_IREAL_ABCD_SET[] = {0x47, 0xF1, 0x20, 0x00};
-+const uint16_t UT_IREAL_ABCD_GET[] = {0x47F1, 0x2000};
-+const uint8_t UT_IREAL_DCBA_SET[] = {0x00, 0x20, 0xF1, 0x47};
-+const uint16_t UT_IREAL_DCBA_GET[] = {0x0020, 0xF147};
-+const uint8_t UT_IREAL_BADC_SET[] = {0xF1, 0x47, 0x00, 0x20};
-+const uint16_t UT_IREAL_BADC_GET[] = {0xF147, 0x0020};
-+const uint8_t UT_IREAL_CDAB_SET[] = {0x20, 0x00, 0x47, 0xF1};
-+const uint16_t UT_IREAL_CDAB_GET[] = {0x2000, 0x47F1};
-
- /* const uint32_t UT_IREAL_ABCD = 0x47F12000);
- const uint32_t UT_IREAL_DCBA = 0x0020F147;
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
deleted file mode 100644
index b4d32fb..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require libmodbus.inc
-
-SRC_URI[md5sum] = "c80f88b6ca19cabc4ceffc195ca07771"
-SRC_URI[sha256sum] = "046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
new file mode 100644
index 0000000..9e17f91
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A Modbus library for Linux, Mac OS, FreeBSD and Windows"
+DESCRIPTION = "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection."
+HOMEPAGE = "http://www.libmodbus.org/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=https"
+SRCREV = "2cbafa3113e276c3697d297f68e88d112b53174d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[test] = "--enable-tests,--disable-tests,,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
deleted file mode 100644
index 6c0e315..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require libmodbus.inc
-
-SRC_URI += "file://Fix-float-endianness-issue-on-big-endian-arch.patch"
-SRC_URI[sha256sum] = "7dfe958431d0570b271e1a5b329b76a658e89c614cf119eb5aadb725c87f8fbd"
-
-# this file has been created one minute after the configure file, so it doesn't get recreated during configure step
-do_configure:prepend() {
- rm -rf ${S}/tests/unit-test.h
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/0001-fix-musl-build.patch b/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/0001-fix-musl-build.patch
deleted file mode 100644
index 2cbdd6c..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/0001-fix-musl-build.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Do not use fgetpwent_r
-
-fgetpwent_r does not exist on musl
-
-Source: https://git.alpinelinux.org/aports/tree/community/libpwquality/0001-fix-musl-build.patch
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/pam_pwquality.c
-+++ b/src/pam_pwquality.c
-@@ -19,6 +19,7 @@
- #include <stdio.h>
- #include <pwd.h>
- #include <errno.h>
-+#include <security/pam_modutil.h>
- #include "pwquality.h"
-
- /*
-@@ -43,8 +44,6 @@ struct module_options {
-
- #define CO_RETRY_TIMES 1
-
--#define PATH_PASSWD "/etc/passwd"
--
- static int
- _pam_parse (pam_handle_t *pamh, struct module_options *opt,
- int argc, const char **argv)
-@@ -98,44 +97,7 @@ static int
- check_local_user (pam_handle_t *pamh,
- const char *user)
- {
-- struct passwd pw, *pwp;
-- char buf[4096];
-- int found = 0;
-- FILE *fp;
-- int errn;
--
-- fp = fopen(PATH_PASSWD, "r");
-- if (fp == NULL) {
-- pam_syslog(pamh, LOG_ERR, "unable to open %s: %s",
-- PATH_PASSWD, pam_strerror(pamh, errno));
-- return -1;
-- }
--
-- for (;;) {
-- errn = fgetpwent_r(fp, &pw, buf, sizeof (buf), &pwp);
-- if (errn == ERANGE) {
-- pam_syslog(pamh, LOG_WARNING, "%s contains very long lines; corrupted?",
-- PATH_PASSWD);
-- /* we can continue here as next call will read further */
-- continue;
-- }
-- if (errn != 0)
-- break;
-- if (strcmp(pwp->pw_name, user) == 0) {
-- found = 1;
-- break;
-- }
-- }
--
-- fclose (fp);
--
-- if (errn != 0 && errn != ENOENT) {
-- pam_syslog(pamh, LOG_ERR, "unable to enumerate local accounts: %s",
-- pam_strerror(pamh, errn));
-- return -1;
-- } else {
-- return found;
-- }
-+ return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS;
- }
-
- PAM_EXTERN int
diff --git a/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb b/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb
rename to meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb
index b50c0f7..5287430 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb
@@ -1,27 +1,24 @@
DESCRIPTION = "Library for password quality checking and generating random passwords"
HOMEPAGE = "https://github.com/libpwquality/libpwquality"
SECTION = "devel/lib"
-LICENSE = "GPL-2.0-only"
+
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
-SRCNAME = "libpwquality"
-SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \
+DEPENDS = "cracklib"
+
+SRC_URI = "git://github.com/libpwquality/libpwquality;branch=master;protocol=https \
file://add-missing-python-include-dir-for-cross.patch \
"
-SRC_URI:append:libc-musl = " file://0001-fix-musl-build.patch "
+SRCREV = "5490e96a3dd6ed7371435ca5b3ccef98bdb48b5a"
-SRC_URI[md5sum] = "1fe43f6641dbf1e1766e2a02cf68a9c3"
-SRC_URI[sha256sum] = "d43baf23dc6887fe8f8e9b75cabaabc5f4bbbaa0f9eff44278d276141752a545"
+S = "${WORKDIR}/git"
-UPSTREAM_CHECK_URI = "https://github.com/libpwquality/libpwquality/releases"
+inherit autotools-brokensep gettext setuptools3-base
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEPENDS = "cracklib virtual/gettext"
-
-inherit autotools setuptools3-base gettext
-
-B = "${S}"
+do_configure:prepend() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${AUTOTOOLS_AUXDIR}/
+}
export PYTHON_DIR
export BUILD_SYS
@@ -35,7 +32,7 @@
"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
-PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
+PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam"
FILES:${PN} += "${base_libdir}/security/pam_pwquality.so"
FILES:${PN}-dbg += "${base_libdir}/security/.debug"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/0001-src-Do-not-reset-FINAL_LIBS.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0001-src-Do-not-reset-FINAL_LIBS.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/0001-src-Do-not-reset-FINAL_LIBS.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0006-Define-correct-gregs-for-RISCV32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/0006-Define-correct-gregs-for-RISCV32.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0006-Define-correct-gregs-for-RISCV32.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/0006-Define-correct-gregs-for-RISCV32.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/GNU_SOURCE-7.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/GNU_SOURCE-7.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/GNU_SOURCE-7.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/GNU_SOURCE-7.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/hiredis-use-default-CC-if-it-is-set.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/hiredis-use-default-CC-if-it-is-set.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/hiredis-use-default-CC-if-it-is-set.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/init-redis-server
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/init-redis-server
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/init-redis-server
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/lua-update-Makefile-to-use-environment-build-setting.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/lua-update-Makefile-to-use-environment-build-setting.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/lua-update-Makefile-to-use-environment-build-setting.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/oe-use-libc-malloc.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/oe-use-libc-malloc.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/oe-use-libc-malloc.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.conf
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.conf
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.conf
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.service
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.3/redis.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.3.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.3.bb
index 44fb01b..7fa0e63 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.3.bb
@@ -17,9 +17,9 @@
file://GNU_SOURCE-7.patch \
file://0006-Define-correct-gregs-for-RISCV32.patch \
"
-SRC_URI[sha256sum] = "ca999be08800edc6d265379c4c7aafad92f0ee400692e4e2d69829ab4b4c3d08"
+SRC_URI[sha256sum] = "3e2b196d6eb4ddb9e743088bfc2915ccbb42d40f5a8a3edd8cb69c716ec34be7"
-inherit autotools-brokensep update-rc.d systemd useradd
+inherit autotools-brokensep pkgconfig update-rc.d systemd useradd
FINAL_LIBS:x86:toolchain-clang = "-latomic"
FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch b/meta-openembedded/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch
new file mode 100644
index 0000000..46463ab
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch
@@ -0,0 +1,43 @@
+From 26a5aa6f70a0b98962884559668b3879dfe6fd02 Mon Sep 17 00:00:00 2001
+From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
+Date: Tue, 28 Nov 2023 12:32:51 +0300
+Subject: [PATCH] Fix finding msgpack 6+
+
+msgpack.pc was renamed to msgpack-c.pc upstream in msgpack/msgpack-c#1053.
+
+Upstream-Status: Submitted [https://github.com/tmate-io/tmate/pull/281]
+
+Co-authored-by: Sam James <sam@gentoo.org>
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ configure.ac | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 028d5559..3badf9e2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -207,7 +207,19 @@ PKG_CHECK_MODULES(
+ LIBS="$MSGPACK_LIBS $LIBS"
+ found_msgpack=yes
+ ],
+- found_msgpack=no
++ [
++ # msgpack.pc was renamed to msgpack-c.pc in 6.0.0.
++ PKG_CHECK_MODULES(
++ MSGPACKC,
++ msgpack-c >= 1.1.0,
++ [
++ CPPFLAGS="$MSGPACKC_CFLAGS $CPPFLAGS"
++ LIBS="$MSGPACKC_LIBS $LIBS"
++ found_msgpack=yes
++ ],
++ found_msgpack=no
++ )
++ ]
+ )
+ if test "x$found_msgpack" = xno; then
+ AC_MSG_ERROR("msgpack >= 1.1.0 not found")
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
index 53030f2..4e66d8d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
@@ -7,6 +7,7 @@
DEPENDS:append = " libevent libssh msgpack-c ncurses"
SRC_URI = "\
git://github.com/tmate-io/tmate.git;protocol=https;branch=master \
+ file://0001-fix-finding-msgpack.patch \
"
SRCREV = "5e00bfa5e137e76c81888727712ced2b3fd99f5b"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
deleted file mode 100644
index 9b99803..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-Upstream-Status: Backport
-CVE: CVE-2012-2738
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From e524b0b3bd8fad844ffa73927c199545b892cdbd Mon Sep 17 00:00:00 2001
-From: Christian Persch <chpe@gnome.org>
-Date: Sat, 19 May 2012 19:36:09 +0200
-Subject: [PATCH 1/2] emulation: Limit integer arguments to 65535
-
-To guard against malicious sequences containing excessively big numbers,
-limit all parsed numbers to 16 bit range. Doing this here in the parsing
-routine is a catch-all guard; this doesn't preclude enforcing
-more stringent limits in the handlers themselves.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=676090
----
- src/table.c | 2 +-
- src/vteseq.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/table.c b/src/table.c
-index 140e8c8..85cf631 100644
---- a/src/table.c
-+++ b/src/table.c
-@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
- if (G_UNLIKELY (*array == NULL)) {
- *array = g_value_array_new(1);
- }
-- g_value_set_long(&value, total);
-+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
- g_value_array_append(*array, &value);
- } while (i++ < arginfo->length);
- g_value_unset(&value);
-diff --git a/src/vteseq.c b/src/vteseq.c
-index 7ef4c8c..10991db 100644
---- a/src/vteseq.c
-+++ b/src/vteseq.c
-@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
- GValueArray *params,
- VteTerminalSequenceHandler handler)
- {
-- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
-+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
- }
-
- static void
---
-2.4.9 (Apple Git-60)
-
-
-From cf1ad453a8def873c49cf6d88162593402f32bb2 Mon Sep 17 00:00:00 2001
-From: Christian Persch <chpe@gnome.org>
-Date: Sat, 19 May 2012 20:04:12 +0200
-Subject: [PATCH 2/2] emulation: Limit repetitions
-
-Don't allow malicious sequences to cause excessive repetitions.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=676090
----
- src/vteseq.c | 25 ++++++++++++++++++-------
- 1 file changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/src/vteseq.c b/src/vteseq.c
-index 10991db..209522f 100644
---- a/src/vteseq.c
-+++ b/src/vteseq.c
-@@ -1392,7 +1392,7 @@ vte_sequence_handler_dc (VteTerminal *terminal, GValueArray *params)
- static void
- vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params)
- {
-- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc);
-+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc);
- }
-
- /* Delete a line at the current cursor position. */
-@@ -1785,7 +1785,7 @@ vte_sequence_handler_reverse_index (VteTerminal *terminal, GValueArray *params)
- static void
- vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params)
- {
-- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd);
-+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd);
- }
-
- /* Save cursor (position). */
-@@ -2777,8 +2777,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
- {
- GValue *value;
- VteScreen *screen;
-- long param, end, row;
-- int i;
-+ long param, end, row, i, limit;
- screen = terminal->pvt->screen;
- /* The default is one. */
- param = 1;
-@@ -2796,7 +2795,13 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
- } else {
- end = screen->insert_delta + terminal->row_count - 1;
- }
-- /* Insert the new lines at the cursor. */
-+
-+ /* Only allow to insert as many lines as there are between this row
-+ * and the end of the scrolling region. See bug #676090.
-+ */
-+ limit = end - row + 1;
-+ param = MIN (param, limit);
-+
- for (i = 0; i < param; i++) {
- /* Clear a line off the end of the region and add one to the
- * top of the region. */
-@@ -2817,8 +2822,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
- {
- GValue *value;
- VteScreen *screen;
-- long param, end, row;
-- int i;
-+ long param, end, row, i, limit;
-
- screen = terminal->pvt->screen;
- /* The default is one. */
-@@ -2837,6 +2841,13 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
- } else {
- end = screen->insert_delta + terminal->row_count - 1;
- }
-+
-+ /* Only allow to delete as many lines as there are between this row
-+ * and the end of the scrolling region. See bug #676090.
-+ */
-+ limit = end - row + 1;
-+ param = MIN (param, limit);
-+
- /* Clear them from below the current cursor. */
- for (i = 0; i < param; i++) {
- /* Insert a line at the end of the region and remove one from
---
-2.4.9 (Apple Git-60)
-
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
deleted file mode 100644
index 6763d37..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=691545]
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd vte-0.28.2/gnome-pty-helper/configure.in vte-0.28.2/gnome-pty-helper/configure.in
---- vte-0.28.2/gnome-pty-helper/configure.in 2010-07-15 20:08:44.000000000 +0300
-+++ vte-0.28.2/gnome-pty-helper/configure.in 2013-01-11 14:50:34.971027440 +0200
-@@ -8,7 +8,6 @@
- AC_ISC_POSIX
- AC_PROG_CC
- AC_STDC_HEADERS
--AM_PROG_CC_STDC
-
- if test -z "$enable_maintainer_mode"; then
- enable_maintainer_mode=yes
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb
deleted file mode 100644
index a10b917..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Virtual terminal emulator GTK+ widget library"
-BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "LGPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-DEPENDS = "glib-2.0-native glib-2.0 gnutls gtk+3 gtk4 intltool-native gnome-common-native ncurses"
-
-# help gnomebase get the SRC_URI correct
-GNOMEBN = "vte"
-S = "${WORKDIR}/vte-${PV}"
-
-SRC_URI[archive.sha256sum] = "2328c3f1c998350a18e0e513348e9fc581d57ea4e7b89aedf11e0e3c65042b4f"
-
-inherit gnomebase gi-docgen gobject-introspection features_check systemd upstream-version-is-even vala
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-GIR_MESON_OPTION = "gir"
-GIDOCGEN_MESON_OPTION = "docs"
-
-PACKAGECONFIG ?= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[fribidi] = "-Dfribidi=true,-Dfribidi=false,fribidi"
-PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-PACKAGES =+ "libvte9 vte9-termcap"
-FILES:libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper ${datadir}/glade ${systemd_user_unitdir}"
-FILES:vte9-termcap = "${datadir}/vte/termcap-0.0"
-
-RDEPENDS:libvte = "vte-termcap"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.5.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.4.bb
rename to meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.5.bb
index 25b1612..1d6ffa3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.5.bb
@@ -9,7 +9,7 @@
file://0001-To-fix-error-when-do_package.patch \
"
-SRCREV = "e38e1127e56f5c7cc38e22c6dd4c2728fc4f0b3c"
+SRCREV = "d808904fc6082578c02d7c8bf543380ed447e925"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb
rename to meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb
index c885a00..0adac84 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb
@@ -6,8 +6,8 @@
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "https://github.com/fontforge/libspiro/releases/download/20200505/libspiro-dist-20200505.tar.gz"
-SRC_URI[sha256sum] = "06c69a1e8dcbcabcf009fd96fd90b1a244d0257246e376c2c4d57c4ea4af0e49"
+SRC_URI = "https://github.com/fontforge/libspiro/releases/download/${PV}/libspiro-dist-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5984fb5af3e4e1f927f3a74850b705a711fb86284802a5e6170b09786440e8be"
inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.111.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.117.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.111.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.117.bb
index eee9de7..d23d89f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.111.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.117.bb
@@ -6,7 +6,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
SRC_URI = "http://gtkwave.sourceforge.net/gtkwave-gtk3-${PV}.tar.gz"
-SRC_URI[sha256sum] = "b4e1c2f718fb3c4b4f412a220876b9da599fe11745fb6f7eb4aed107b1106233"
+SRC_URI[sha256sum] = "3cf1537586a911cbb0601af8fa18cf6da708c8a14a71f69ce3cb9118e8571db9"
S = "${WORKDIR}/${BPN}-gtk3-${PV}"
DEPENDS = " \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.1.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.1.bb
index 7c1ebc1..4c9c64c 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.1.bb
@@ -15,7 +15,7 @@
"
S = "${WORKDIR}/git"
-SRCREV = "ad320fc0e0ec2cd75a87fed454a9c7d6d1921464"
+SRCREV = "060fe7611aedb5779929e6b1468419c2d4e7168f"
PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.3.0.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb
rename to meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.3.0.bb
index 8dbf793..9b8ca07 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.3.0.bb
@@ -8,8 +8,8 @@
DEPENDS = "zlib elfutils"
-SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=libbpf-v1.2.2-bugfix"
-SRCREV = "1728e3e4bef0e138ea95ffe62163eb9a6ac6fa32"
+SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
+SRCREV = "20c0a9e3d7e7d4aeb283eae982543c9cacc29477"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch
new file mode 100644
index 0000000..9a4e31c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch
@@ -0,0 +1,33 @@
+From 7aba7c690fd84ca1e48d0cb6829410eeb658c594 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 24 Nov 2023 17:53:49 +0100
+Subject: [PATCH] Fix a Makefile race condition
+
+utils/driverless-fax script may be written before utils directory was created
+
+| make[2]: Entering directory '/home/flk/poky/build/tmp/work/corei7-64-poky-linux/cups-filters/2.0.0/build'
+| sed \
+| -e "s|\@CUPS_SERVERBIN\@|/usr/libexec/cups|" \
+| ../cups-filters-2.0.0/utils/driverless-fax.in > utils/driverless-fax
+| /bin/bash: line 2: utils/driverless-fax: No such file or directory
+
+Upstream-Status: Pending
+---
+ Makefile.am | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/Makefile.am 2023-09-22 18:14:03.000000000 +0200
++++ b/Makefile.am 2023-11-24 19:09:09.339653936 +0100
+@@ -62,7 +62,7 @@
+ # "driverless" utility
+ # ====================
+ utils/driverless-fax: utils/driverless-fax.in Makefile
+- sed \
++ mkdir -p utils && sed \
+ -e "s|\@CUPS_SERVERBIN\@|$(CUPS_SERVERBIN)|" \
+ $< > $@
+
+
+
+
+
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
index 0370ae7..efcd1aa 100644
--- a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
@@ -5,7 +5,10 @@
DEPENDS = "libcupsfilters libppd glib-2.0 poppler"
-SRC_URI = "https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI = " \
+ https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://fix-make-race.patch \
+"
SRC_URI[sha256sum] = "b5152e3dd148ed73835827ac2f219df7cf5808dbf9dbaec2aa0127b44de800d8"
inherit autotools gettext pkgconfig github-releases
diff --git a/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
rename to meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb
index 2fcdb6b..86acdc7 100644
--- a/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb
@@ -5,8 +5,8 @@
HOMEPAGE = "http://tomoyo.sourceforge.jp/"
SECTION = "System Environment/Kernel"
-SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20170102.tar.gz"
-SRC_URI[sha256sum] = "00fedfac5e514321250bbe69eaccc732c8a8158596f77a785c2e3ae9f9968283"
+SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/70710/${BP}-20210910.tar.gz"
+SRC_URI[sha256sum] = "47a12cdb1fe7bbd0b2e3486150fe1e754fa9c869aeefd42fd311c4022b78010a"
S = "${WORKDIR}/${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
index c09ce73..ec39604 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
@@ -22,6 +22,8 @@
PACKAGECONFIG:remove:riscv64 = "unwind"
PACKAGECONFIG:remove:riscv32 = "unwind 64bit-atomics"
PACKAGECONFIG:remove:mipsarch = "64bit-atomics"
+PACKAGECONFIG:remove:armv5 = "64bit-atomics"
+PACKAGECONFIG:remove:armv6 = "64bit-atomics"
PACKAGECONFIG:append:libc-musl:riscv64 = " execinfo"
PACKAGECONFIG:append:libc-musl:riscv32 = " execinfo"
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch
deleted file mode 100644
index b347627..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From cb9e9b5b1ad05dd9de07a65ee7147cdb3433746a Mon Sep 17 00:00:00 2001
-From: Naveen Saini <naveen.kumar.saini@intel.com>
-Date: Fri, 9 Apr 2021 15:41:35 +0800
-Subject: [PATCH] CMakeLists.txt: exclude riscv64 & riscv32
-
-Upstream-Status: Pending
-
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- src/tbb/CMakeLists.txt | 2 +-
- src/tbbmalloc/CMakeLists.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- a/src/tbb/CMakeLists.txt
-+++ b/src/tbb/CMakeLists.txt
-@@ -58,7 +58,7 @@ target_compile_definitions(tbb
- $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:__TBB_DYNAMIC_LOAD_ENABLED=0>
- $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:__TBB_SOURCE_DIRECTLY_INCLUDED=1>)
-
--if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR
-+if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR
- "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR
- WINDOWS_STORE OR
- TBB_WINDOWS_DRIVER))
---- a/src/tbbmalloc/CMakeLists.txt
-+++ b/src/tbbmalloc/CMakeLists.txt
-@@ -30,7 +30,7 @@ target_compile_definitions(tbbmalloc
- $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:__TBB_DYNAMIC_LOAD_ENABLED=0>
- $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:__TBB_SOURCE_DIRECTLY_INCLUDED=1>)
-
--if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR
-+if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR
- "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR
- WINDOWS_STORE OR
- TBB_WINDOWS_DRIVER OR
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch
new file mode 100644
index 0000000..640b131
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch
@@ -0,0 +1,33 @@
+From 7ffc1eba8596544d6e3af0fd5f4004fff6d56f84 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 29 Nov 2023 15:48:57 +0800
+Subject: [PATCH] hwloc_detection.cmake: remove cross-compiation check
+
+This check is preventing pkgconfig to
+search for hwloc under cross-compilation.
+
+pkgconfig able to find hwloc pkg from sysroot.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ cmake/hwloc_detection.cmake | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/cmake/hwloc_detection.cmake b/cmake/hwloc_detection.cmake
+index 47233b17..5a7e84c3 100644
+--- a/cmake/hwloc_detection.cmake
++++ b/cmake/hwloc_detection.cmake
+@@ -46,8 +46,6 @@ endforeach()
+ unset(HWLOC_TARGET_NAME)
+
+ if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED AND
+- # No hwloc auto detection for cross compilation
+- NOT CMAKE_CROSSCOMPILING AND
+ NOT TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH
+ )
+ find_package(PkgConfig QUIET)
+--
+2.37.3
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb
rename to meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb
index 028291c..f834726 100644
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb
@@ -8,23 +8,25 @@
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327"
DEPENDS:append:libc-musl = " libucontext"
+DEPENDS:append:class-target = " hwloc"
PE = "1"
BRANCH = "onetbb_2021"
-SRCREV = "a00cc3b8b5fb4d8115e9de56bf713157073ed68c"
+SRCREV = "8b829acc65569019edb896c5150d427f288e8aba"
SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
- file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \
+ file://0001-hwloc_detection.cmake-remove-cross-compiation-check.patch \
"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
# test build fails, error: 'mallinfo mallinfo()' is deprecated
EXTRA_OECMAKE += " \
-DTBB_TEST=OFF \
-DCMAKE_BUILD_TYPE=Release \
"
+
# Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi)
# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: /tmp/lto-llvm-264bc2.o: can't link soft-float modules with double-float modules
# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: failed to merge target specific data of file /tmp/lto-llvm-264bc2.o
@@ -50,4 +52,11 @@
# The latest version of oneTBB does not support PPC
COMPATIBLE_MACHINE:powerpc = "(!.*ppc).*"
+
+do_install:append:class-target() {
+ # fix for qa check buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake
+}
+
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb
index d71f3df..5664170 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb
@@ -4,7 +4,7 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
-SRC_URI[sha256sum] = "09f23292d29135025e19e8ff4f0a68df078fe4ee013bca0105b2e803989de92d"
+SRC_URI[sha256sum] = "8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d"
PYPI_PACKAGE = "aiohttp"
inherit python_setuptools_build_meta pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.3.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.3.bb
index 7a04973..8831d84 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.3.bb
@@ -3,7 +3,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7"
-SRC_URI[sha256sum] = "c22283d60fd3e1a8f386ccd4f1915d7fe13481d6349db39711421e24d4a9cccf"
+SRC_URI[sha256sum] = "1b47c84644a961ba8503db2bba8a5965ab53e81474becdf0a18383b5b5f3f795"
PYPI_PACKAGE = "bitstring"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.15.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.15.0.bb
index 5ce05c3..b3cb377 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.15.0.bb
@@ -3,7 +3,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=729e372b5ea0168438e4fd4a00a04947"
-SRC_URI[sha256sum] = "91a88fea66b4e69ce73ac4c1ac04952c4fbd5e9b902400649013778a177129ea"
+SRC_URI[sha256sum] = "c98c7dfc3c589d6a5ded3427addfef1f9199525422f976e10d70a5c10558f5bf"
PYPI_PACKAGE = "dbus_fast"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.9.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.9.0.bb
index aa56a90..d740708 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.9.0.bb
@@ -5,7 +5,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
-SRC_URI[sha256sum] = "9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"
+SRC_URI[sha256sum] = "582a265c931c683a7e9b8ed9559089dea7edcf6cc95be39a3cbc2c5d5ac2bcfa"
inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.18.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.18.0.bb
index 134a358..aaeb720 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.18.0.bb
@@ -5,7 +5,7 @@
PYPI_PACKAGE = "ipython"
-SRC_URI[sha256sum] = "126bb57e1895594bb0d91ea3090bbd39384f6fe87c3d57fd558d0670f50339bb"
+SRC_URI[sha256sum] = "4feb61210160f75e229ce932dbf8b719bff37af123c0b985fd038b14233daa16"
RDEPENDS:${PN} = "\
${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.1.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.1.bb
index 432cefc..90301f3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.1.bb
@@ -5,7 +5,7 @@
inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "1e280b5697202efa698372d2f39e9a6713a0395a756b1c6bd48995f8d72690dc"
+SRC_URI[sha256sum] = "fcb6d9afb1b6208b4c712af0dafdc650f518836065df0d4fb1d800f5d6773db2"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.4.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.4.bb
index 54da389..fffefb3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.4.bb
@@ -4,7 +4,7 @@
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2"
-SRC_URI[sha256sum] = "46dafc8a4fe268c46479876e52c6967f7a9aa385e1e574e64248670a37b358ff"
+SRC_URI[sha256sum] = "6dfd9d4cb59043edecb2d0b47d208e55d89d333ba7197deb05cca2dfbc7a4bfb"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.9.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.9.0.bb
index ed25406..6ee5b25 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.9.0.bb
@@ -6,8 +6,7 @@
SRC_URI += "file://0001-FSM.py-change-shebang-from-python-to-python3.patch"
-SRC_URI[md5sum] = "153eb25184249d6a85fde9acf4804085"
-SRC_URI[sha256sum] = "fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"
+SRC_URI[sha256sum] = "ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb
index c27d490..dff1876 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb
@@ -3,7 +3,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
-SRC_URI[sha256sum] = "0de98e9e5be43269dd41efb16126ab0d5ba941ca4acae024329712851c0c0324"
+SRC_URI[sha256sum] = "e4b7523db137f8de05eedcc6154113b68532848629442b448c2334fac966a447"
PYPI_PACKAGE = "PyChromecast"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb
index 609411f..3750d49 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.2.bb
@@ -5,7 +5,7 @@
inherit pypi python_hatchling
-SRC_URI[sha256sum] = "0b8be5413c06aadfbe56f6dc1d45c9ed25fd43264414c571135c97dd77c2bedb"
+SRC_URI[sha256sum] = "ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"
DEPENDS += "python3-hatch-fancy-pypi-readme-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.179.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.179.bb
index e969dbe..69c7742 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.179.bb
@@ -4,7 +4,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "3a3096664109639322bff7285956ef7cc376a260"
+SRCREV = "cc6391233c01362a1b4b483c4ea8e67f306e3459"
S = "${WORKDIR}/git"
inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.5.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.5.0.bb
index c3b84c7..89b5039 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.5.0.bb
@@ -3,7 +3,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=772fcdaca14b378878d05c7d857e6c3e"
-SRC_URI[sha256sum] = "3a94a931dd9e268e0b871a877d09fe2efb6175c2c23d60d56a6001359002b832"
+SRC_URI[sha256sum] = "cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.37.1.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.37.1.bb
index b2bc875..868a7e2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.37.1.bb
@@ -15,7 +15,7 @@
${PYTHON_PN}-datetime \
"
-SRC_URI[sha256sum] = "04e392db9a0d59bd49a51b9e3a92410ac5867556820465057c2ef89a38e953e9"
+SRC_URI[sha256sum] = "7cd324dd2877fdc861f75cba4242bce23a58272a6fea581fcb218bb718bd9cc5"
PYPI_PACKAGE = "sentry-sdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.2.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.2.bb
index 1061213..4042ab5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.2.bb
@@ -5,6 +5,6 @@
inherit pypi setuptools3
-SRC_URI[sha256sum] = "8f31e8201e7969789e0eb23463b53ebe5f67d92417df4b648a6ea3c357ca4f51"
+SRC_URI[sha256sum] = "09efc380ad5c7f78e30bca1546f706469568cf26084cfab73ecf83dea1d28446"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-validators_0.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-validators_0.22.0.bb
new file mode 100644
index 0000000..1da7ee4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-validators_0.22.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Python Data Validation for Humans"
+HOMEPAGE = "https://python-validators.github.io/validators"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf28bd09a60e145c3171c531b9e677d"
+SRC_URI[sha256sum] = "77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370"
+
+inherit pypi python_setuptools_build_meta
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.7.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.7.bb
index aa11534..a4e5607 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.7.bb
@@ -6,7 +6,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
-SRC_URI[sha256sum] = "02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"
+SRC_URI[sha256sum] = "69050ffb42419c91f6c1284a7b24e0475d793447e35929b488bf6a0aade39353"
BBCLASSEXTEND = "native nativesdk"
inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0011-modules-mappers-config9.m4-Add-server-directory-to-i.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0011-modules-mappers-config9.m4-Add-server-directory-to-i.patch
deleted file mode 100644
index 9accbf1..0000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0011-modules-mappers-config9.m4-Add-server-directory-to-i.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5c9257fa34335ff83f7c01581cf953111072a457 Mon Sep 17 00:00:00 2001
-From: Valeria Petrov <valeria.petrov@spinetix.com>
-Date: Tue, 18 Apr 2023 15:38:53 +0200
-Subject: [PATCH] * modules/mappers/config9.m4: Add 'server' directory to
- include path if mod_rewrite is enabled.
-
-Upstream-Status: Backport [https://svn.apache.org/viewvc?view=revision&revision=1909241]
-
----
- modules/mappers/config9.m4 | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/modules/mappers/config9.m4 b/modules/mappers/config9.m4
-index 55a97ab993..7120b729b7 100644
---- a/modules/mappers/config9.m4
-+++ b/modules/mappers/config9.m4
-@@ -14,6 +14,11 @@ APACHE_MODULE(userdir, mapping of requests to user-specific directories, , , mos
- APACHE_MODULE(alias, mapping of requests to different filesystem parts, , , yes)
- APACHE_MODULE(rewrite, rule based URL manipulation, , , most)
-
-+if test "x$enable_rewrite" != "xno"; then
-+ # mod_rewrite needs test_char.h
-+ APR_ADDTO(INCLUDES, [-I\$(top_builddir)/server])
-+fi
-+
- APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current])
-
- APACHE_MODPATH_FINISH
---
-2.25.1
-
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.58.bb
similarity index 97%
rename from meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb
rename to meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.58.bb
index bbc1c6c..e4f7e1c 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.58.bb
@@ -16,7 +16,6 @@
file://0008-Fix-perl-install-directory-to-usr-bin.patch \
file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \
file://0001-make_exports.awk-not-expose-the-path.patch \
- file://0011-modules-mappers-config9.m4-Add-server-directory-to-i.patch \
"
SRC_URI:append:class-target = " \
@@ -28,7 +27,7 @@
"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3"
-SRC_URI[sha256sum] = "dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a"
+SRC_URI[sha256sum] = "fa16d72a078210a54c47dd5bef2f8b9b8a01d94909a51453956b3ec6442ea4c5"
S = "${WORKDIR}/httpd-${PV}"
diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md
index 5786f3a..dc5d33a 100644
--- a/meta-raspberrypi/docs/extra-build-config.md
+++ b/meta-raspberrypi/docs/extra-build-config.md
@@ -180,7 +180,7 @@
- `INITRAMFS_IMAGE_BUNDLE = "1"`
- `BOOT_SPACE = "1073741"`
- `INITRAMFS_MAXSIZE = "315400"`
- - `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
+ - `IMAGE_FSTYPES:pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
## Including additional files in the SD card image boot partition
diff --git a/poky/bitbake/bin/bitbake-hashclient b/poky/bitbake/bin/bitbake-hashclient
index 3ff7b76..2cb6338 100755
--- a/poky/bitbake/bin/bitbake-hashclient
+++ b/poky/bitbake/bin/bitbake-hashclient
@@ -52,6 +52,22 @@
def main():
+ def handle_get(args, client):
+ result = client.get_taskhash(args.method, args.taskhash, all_properties=True)
+ if not result:
+ return 0
+
+ print(json.dumps(result, sort_keys=True, indent=4))
+ return 0
+
+ def handle_get_outhash(args, client):
+ result = client.get_outhash(args.method, args.outhash, args.taskhash)
+ if not result:
+ return 0
+
+ print(json.dumps(result, sort_keys=True, indent=4))
+ return 0
+
def handle_stats(args, client):
if args.reset:
s = client.reset_stats()
@@ -189,6 +205,17 @@
subparsers = parser.add_subparsers()
+ get_parser = subparsers.add_parser('get', help="Get the unihash for a taskhash")
+ get_parser.add_argument("method", help="Method to query")
+ get_parser.add_argument("taskhash", help="Task hash to query")
+ get_parser.set_defaults(func=handle_get)
+
+ get_outhash_parser = subparsers.add_parser('get-outhash', help="Get output hash information")
+ get_outhash_parser.add_argument("method", help="Method to query")
+ get_outhash_parser.add_argument("outhash", help="Output hash to query")
+ get_outhash_parser.add_argument("taskhash", help="Task hash to query")
+ get_outhash_parser.set_defaults(func=handle_get_outhash)
+
stats_parser = subparsers.add_parser('stats', help='Show server stats')
stats_parser.add_argument('--reset', action='store_true',
help='Reset server stats')
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index d658db9..c5bfef5 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -102,12 +102,15 @@
class EventWriter:
def __init__(self, cooker, eventfile):
- self.file_inited = None
self.cooker = cooker
self.eventfile = eventfile
self.event_queue = []
- def write_event(self, event):
+ def write_variables(self):
+ with open(self.eventfile, "a") as f:
+ f.write("%s\n" % json.dumps({ "allvariables" : self.cooker.getAllKeysWithFlags(["doc", "func"])}))
+
+ def send(self, event):
with open(self.eventfile, "a") as f:
try:
str_event = codecs.encode(pickle.dumps(event), 'base64').decode('utf-8')
@@ -117,28 +120,6 @@
import traceback
print(err, traceback.format_exc())
- def send(self, event):
- if self.file_inited:
- # we have the file, just write the event
- self.write_event(event)
- else:
- # init on bb.event.BuildStarted
- name = "%s.%s" % (event.__module__, event.__class__.__name__)
- if name in ("bb.event.BuildStarted", "bb.cooker.CookerExit"):
- with open(self.eventfile, "w") as f:
- f.write("%s\n" % json.dumps({ "allvariables" : self.cooker.getAllKeysWithFlags(["doc", "func"])}))
-
- self.file_inited = True
-
- # write pending events
- for evt in self.event_queue:
- self.write_event(evt)
-
- # also write the current event
- self.write_event(event)
- else:
- # queue all events until the file is inited
- self.event_queue.append(event)
#============================================================================#
# BBCooker
@@ -416,6 +397,7 @@
def setupEventLog(self, eventlog):
if self.eventlog and self.eventlog[0] != eventlog:
bb.event.unregister_UIHhandler(self.eventlog[1])
+ self.eventlog = None
if not self.eventlog or self.eventlog[0] != eventlog:
# we log all events to a file if so directed
# register the log file writer as UI Handler
@@ -423,7 +405,7 @@
bb.utils.mkdirhier(os.path.dirname(eventlog))
writer = EventWriter(self, eventlog)
EventLogWriteHandler = namedtuple('EventLogWriteHandler', ['event'])
- self.eventlog = (eventlog, bb.event.register_UIHhandler(EventLogWriteHandler(writer)))
+ self.eventlog = (eventlog, bb.event.register_UIHhandler(EventLogWriteHandler(writer)), writer)
def updateConfigOpts(self, options, environment, cmdline):
self.ui_cmdline = cmdline
@@ -1404,6 +1386,8 @@
buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME")
if fireevents:
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc])
+ if self.eventlog:
+ self.eventlog[2].write_variables()
bb.event.enable_heartbeat()
# Execute the runqueue
@@ -1547,6 +1531,8 @@
for mc in self.multiconfigs:
bb.event.fire(bb.event.BuildStarted(buildname, ntargets), self.databuilder.mcdata[mc])
+ if self.eventlog:
+ self.eventlog[2].write_variables()
bb.event.enable_heartbeat()
rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist)
diff --git a/poky/bitbake/lib/bb/fetch2/gcp.py b/poky/bitbake/lib/bb/fetch2/gcp.py
index f42c81f..f40ce2e 100644
--- a/poky/bitbake/lib/bb/fetch2/gcp.py
+++ b/poky/bitbake/lib/bb/fetch2/gcp.py
@@ -47,6 +47,7 @@
ud.basename = os.path.basename(ud.path)
ud.localfile = d.expand(urllib.parse.unquote(ud.basename))
+ ud.basecmd = "gsutil stat"
def get_gcp_client(self):
from google.cloud import storage
@@ -61,7 +62,8 @@
if self.gcp_client is None:
self.get_gcp_client()
- bb.fetch2.check_network_access(d, "gsutil stat", ud.url)
+ bb.fetch2.check_network_access(d, ud.basecmd, f"gs://{ud.host}{ud.path}")
+ runfetchcmd("%s %s" % (ud.basecmd, f"gs://{ud.host}{ud.path}"), d)
# Path sometimes has leading slash, so strip it
path = ud.path.lstrip("/")
@@ -88,7 +90,8 @@
if self.gcp_client is None:
self.get_gcp_client()
- bb.fetch2.check_network_access(d, "gsutil stat", ud.url)
+ bb.fetch2.check_network_access(d, ud.basecmd, f"gs://{ud.host}{ud.path}")
+ runfetchcmd("%s %s" % (ud.basecmd, f"gs://{ud.host}{ud.path}"), d)
# Path sometimes has leading slash, so strip it
path = ud.path.lstrip("/")
diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py
index 98e430c..cbc7c1e 100644
--- a/poky/bitbake/lib/bb/tests/data.py
+++ b/poky/bitbake/lib/bb/tests/data.py
@@ -395,6 +395,16 @@
self.d.setVar("OVERRIDES", "foo:bar:some_val")
self.assertEqual(self.d.getVar("TEST"), "testvalue3")
+ # Test an override with _<numeric> in it based on a real world OE issue
+ def test_underscore_override_2(self):
+ self.d.setVar("TARGET_ARCH", "x86_64")
+ self.d.setVar("PN", "test-${TARGET_ARCH}")
+ self.d.setVar("VERSION", "1")
+ self.d.setVar("VERSION:pn-test-${TARGET_ARCH}", "2")
+ self.d.setVar("OVERRIDES", "pn-${PN}")
+ bb.data.expandKeys(self.d)
+ self.assertEqual(self.d.getVar("VERSION"), "2")
+
def test_remove_with_override(self):
self.d.setVar("TEST:bar", "testvalue2")
self.d.setVar("TEST:some_val", "testvalue3 testvalue5")
@@ -416,16 +426,6 @@
self.d.setVar("TEST:bar:append", "testvalue2")
self.assertEqual(self.d.getVar("TEST"), "testvalue2")
- # Test an override with _<numeric> in it based on a real world OE issue
- def test_underscore_override(self):
- self.d.setVar("TARGET_ARCH", "x86_64")
- self.d.setVar("PN", "test-${TARGET_ARCH}")
- self.d.setVar("VERSION", "1")
- self.d.setVar("VERSION:pn-test-${TARGET_ARCH}", "2")
- self.d.setVar("OVERRIDES", "pn-${PN}")
- bb.data.expandKeys(self.d)
- self.assertEqual(self.d.getVar("VERSION"), "2")
-
def test_append_and_unused_override(self):
# Had a bug where an unused override append could return "" instead of None
self.d.setVar("BAR:append:unusedoverride", "testvalue2")
diff --git a/poky/bitbake/lib/bb/ui/ncurses.py b/poky/bitbake/lib/bb/ui/ncurses.py
index cf1c876..18a7065 100644
--- a/poky/bitbake/lib/bb/ui/ncurses.py
+++ b/poky/bitbake/lib/bb/ui/ncurses.py
@@ -227,6 +227,9 @@
shutdown = 0
try:
+ if not params.observe_only:
+ params.updateToServer(server, os.environ.copy())
+
params.updateFromServer(server)
cmdline = params.parseActions()
if not cmdline:
diff --git a/poky/bitbake/lib/hashserv/sqlite.py b/poky/bitbake/lib/hashserv/sqlite.py
index f65036b..f93cb2c 100644
--- a/poky/bitbake/lib/hashserv/sqlite.py
+++ b/poky/bitbake/lib/hashserv/sqlite.py
@@ -109,11 +109,11 @@
)
def connect(self, logger):
- return Database(logger, self.dbname)
+ return Database(logger, self.dbname, self.sync)
class Database(object):
- def __init__(self, logger, dbname, sync=True):
+ def __init__(self, logger, dbname, sync):
self.dbname = dbname
self.logger = logger
@@ -121,6 +121,11 @@
self.db.row_factory = sqlite3.Row
with closing(self.db.cursor()) as cursor:
+ cursor.execute("PRAGMA journal_mode = WAL")
+ cursor.execute(
+ "PRAGMA synchronous = %s" % ("NORMAL" if sync else "OFF")
+ )
+
cursor.execute("SELECT sqlite_version()")
version = []
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
index a9e6fdf..869f763 100644
--- a/poky/bitbake/lib/hashserv/tests.py
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -842,6 +842,26 @@
def get_server_addr(self, server_idx):
return "unix://" + os.path.join(self.temp_dir.name, 'sock%d' % server_idx)
+ def test_get(self):
+ taskhash, outhash, unihash = self.create_test_hash(self.client)
+
+ p = self.run_hashclient(["--address", self.server_address, "get", self.METHOD, taskhash])
+ data = json.loads(p.stdout)
+ self.assertEqual(data["unihash"], unihash)
+ self.assertEqual(data["outhash"], outhash)
+ self.assertEqual(data["taskhash"], taskhash)
+ self.assertEqual(data["method"], self.METHOD)
+
+ def test_get_outhash(self):
+ taskhash, outhash, unihash = self.create_test_hash(self.client)
+
+ p = self.run_hashclient(["--address", self.server_address, "get-outhash", self.METHOD, outhash, taskhash])
+ data = json.loads(p.stdout)
+ self.assertEqual(data["unihash"], unihash)
+ self.assertEqual(data["outhash"], outhash)
+ self.assertEqual(data["taskhash"], taskhash)
+ self.assertEqual(data["method"], self.METHOD)
+
def test_stats(self):
p = self.run_hashclient(["--address", self.server_address, "stats"], check=True)
json.loads(p.stdout)
diff --git a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
index e0ac437..d9ea7fd 100644
--- a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
+++ b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
@@ -71,7 +71,9 @@
_TIMEOUT = 10
_POLL_FREQUENCY = 0.5
- def __init__(self, driver):
+ def __init__(self, driver, timeout=_TIMEOUT, poll=_POLL_FREQUENCY):
+ self._TIMEOUT = timeout
+ self._POLL_FREQUENCY = poll
super(Wait, self).__init__(driver, self._TIMEOUT, self._POLL_FREQUENCY)
def until(self, method, message=''):
@@ -175,18 +177,19 @@
""" Return the element which currently has focus on the page """
return self.driver.switch_to.active_element
- def wait_until_present(self, selector):
+ def wait_until_present(self, selector, poll=0.5):
""" Wait until element matching CSS selector is on the page """
is_present = lambda driver: self.find(selector)
msg = 'An element matching "%s" should be on the page' % selector
- element = Wait(self.driver).until(is_present, msg)
+ element = Wait(self.driver, poll=poll).until(is_present, msg)
return element
- def wait_until_visible(self, selector):
+ def wait_until_visible(self, selector, poll=1):
""" Wait until element matching CSS selector is visible on the page """
is_visible = lambda driver: self.find(selector).is_displayed()
msg = 'An element matching "%s" should be visible' % selector
- Wait(self.driver).until(is_visible, msg)
+ Wait(self.driver, poll=poll).until(is_visible, msg)
+ time.sleep(poll) # wait for visibility to settle
return self.find(selector)
def wait_until_focused(self, selector):
diff --git a/poky/bitbake/lib/toaster/tests/functional/test_project_page.py b/poky/bitbake/lib/toaster/tests/functional/test_project_page.py
index 3edf967..03f64f8 100644
--- a/poky/bitbake/lib/toaster/tests/functional/test_project_page.py
+++ b/poky/bitbake/lib/toaster/tests/functional/test_project_page.py
@@ -6,10 +6,17 @@
# SPDX-License-Identifier: GPL-2.0-only
#
+import random
+import string
import pytest
+from time import sleep
from django.urls import reverse
+from django.utils import timezone
+from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
+from selenium.common.exceptions import NoSuchElementException, TimeoutException
from tests.functional.functional_helpers import SeleniumFunctionalTestCase
+from orm.models import Build, Project, Target
from selenium.webdriver.common.by import By
@@ -19,13 +26,18 @@
def setUp(self):
super().setUp()
release = '3'
- project_name = 'projectmaster'
+ project_name = 'project_' + self.generate_random_string()
self._create_test_new_project(
project_name,
release,
False,
)
+ def generate_random_string(self, length=10):
+ characters = string.ascii_letters + string.digits # alphabetic and numerical characters
+ random_string = ''.join(random.choice(characters) for _ in range(length))
+ return random_string
+
def _create_test_new_project(
self,
project_name,
@@ -55,6 +67,205 @@
self.driver.find_element(By.ID, "create-project-button").click()
+ def _get_create_builds(self, **kwargs):
+ """ Create a build and return the build object """
+ # parameters for builds to associate with the projects
+ now = timezone.now()
+ release = '3'
+ project_name = 'projectmaster'
+ self._create_test_new_project(
+ project_name+"2",
+ release,
+ False,
+ )
+
+ self.project1_build_success = {
+ 'project': Project.objects.get(id=1),
+ 'started_on': now,
+ 'completed_on': now,
+ 'outcome': Build.SUCCEEDED
+ }
+
+ self.project1_build_failure = {
+ 'project': Project.objects.get(id=1),
+ 'started_on': now,
+ 'completed_on': now,
+ 'outcome': Build.FAILED
+ }
+ build1 = Build.objects.create(**self.project1_build_success)
+ build2 = Build.objects.create(**self.project1_build_failure)
+
+ # add some targets to these builds so they have recipe links
+ # (and so we can find the row in the ToasterTable corresponding to
+ # a particular build)
+ Target.objects.create(build=build1, target='foo')
+ Target.objects.create(build=build2, target='bar')
+
+ if kwargs:
+ # Create kwargs.get('success') builds with success status with target
+ # and kwargs.get('failure') builds with failure status with target
+ for i in range(kwargs.get('success', 0)):
+ now = timezone.now()
+ self.project1_build_success['started_on'] = now
+ self.project1_build_success[
+ 'completed_on'] = now - timezone.timedelta(days=i)
+ build = Build.objects.create(**self.project1_build_success)
+ Target.objects.create(build=build,
+ target=f'{i}_success_recipe',
+ task=f'{i}_success_task')
+
+ for i in range(kwargs.get('failure', 0)):
+ now = timezone.now()
+ self.project1_build_failure['started_on'] = now
+ self.project1_build_failure[
+ 'completed_on'] = now - timezone.timedelta(days=i)
+ build = Build.objects.create(**self.project1_build_failure)
+ Target.objects.create(build=build,
+ target=f'{i}_fail_recipe',
+ task=f'{i}_fail_task')
+ return build1, build2
+
+ def _mixin_test_table_edit_column(
+ self,
+ table_id,
+ edit_btn_id,
+ list_check_box_id: list
+ ):
+ # Check edit column
+ edit_column = self.find(f'#{edit_btn_id}')
+ self.assertTrue(edit_column.is_displayed())
+ edit_column.click()
+ # Check dropdown is visible
+ self.wait_until_visible('ul.dropdown-menu.editcol')
+ for check_box_id in list_check_box_id:
+ # Check that we can hide/show table column
+ check_box = self.find(f'#{check_box_id}')
+ th_class = str(check_box_id).replace('checkbox-', '')
+ if check_box.is_selected():
+ # check if column is visible in table
+ self.assertTrue(
+ self.find(
+ f'#{table_id} thead th.{th_class}'
+ ).is_displayed(),
+ f"The {th_class} column is checked in EditColumn dropdown, but it's not visible in table"
+ )
+ check_box.click()
+ # check if column is hidden in table
+ self.assertFalse(
+ self.find(
+ f'#{table_id} thead th.{th_class}'
+ ).is_displayed(),
+ f"The {th_class} column is unchecked in EditColumn dropdown, but it's visible in table"
+ )
+ else:
+ # check if column is hidden in table
+ self.assertFalse(
+ self.find(
+ f'#{table_id} thead th.{th_class}'
+ ).is_displayed(),
+ f"The {th_class} column is unchecked in EditColumn dropdown, but it's visible in table"
+ )
+ check_box.click()
+ # check if column is visible in table
+ self.assertTrue(
+ self.find(
+ f'#{table_id} thead th.{th_class}'
+ ).is_displayed(),
+ f"The {th_class} column is checked in EditColumn dropdown, but it's not visible in table"
+ )
+
+ def _get_config_nav_item(self, index):
+ config_nav = self.find('#config-nav')
+ return config_nav.find_elements(By.TAG_NAME, 'li')[index]
+
+ def _navigate_to_config_nav(self, nav_id, nav_index):
+ # navigate to the project page
+ url = reverse("project", args=(1,))
+ self.get(url)
+ self.wait_until_visible('#config-nav')
+ # click on "Software recipe" tab
+ soft_recipe = self._get_config_nav_item(nav_index)
+ soft_recipe.click()
+ self.wait_until_visible(f'#{nav_id}')
+
+ def _mixin_test_table_show_rows(self, table_selector, **kwargs):
+ """ Test the show rows feature in the builds table on the all builds page """
+ def test_show_rows(row_to_show, show_row_link):
+ # Check that we can show rows == row_to_show
+ show_row_link.select_by_value(str(row_to_show))
+ self.wait_until_visible(f'#{table_selector} tbody tr', poll=2)
+ self.assertTrue(
+ len(self.find_all(f'#{table_selector} tbody tr')) == row_to_show
+ )
+ self.wait_until_present(f'#{table_selector} tbody tr')
+ show_rows = self.driver.find_elements(
+ By.XPATH,
+ f'//select[@class="form-control pagesize-{table_selector}"]'
+ )
+ rows_to_show = [10, 25, 50, 100, 150]
+ to_skip = kwargs.get('to_skip', [])
+ # Check show rows
+ for show_row_link in show_rows:
+ show_row_link = Select(show_row_link)
+ for row_to_show in rows_to_show:
+ if row_to_show not in to_skip:
+ test_show_rows(row_to_show, show_row_link)
+
+ def _wait_until_build(self, state):
+ timeout = 10
+ start_time = 0
+ while True:
+ if start_time > timeout:
+ raise TimeoutException(
+ f'Build did not reach {state} state within {timeout} seconds'
+ )
+ try:
+ last_build_state = self.driver.find_element(
+ By.XPATH,
+ '//*[@id="latest-builds"]/div[1]//div[@class="build-state"]',
+ )
+ build_state = last_build_state.get_attribute(
+ 'data-build-state')
+ state_text = state.lower().split()
+ if any(x in str(build_state).lower() for x in state_text):
+ break
+ except NoSuchElementException:
+ continue
+ start_time += 1
+ sleep(1) # take a breath and try again
+
+ def _mixin_test_table_search_input(self, **kwargs):
+ input_selector, input_text, searchBtn_selector, table_selector, *_ = kwargs.values()
+ # Test search input
+ self.wait_until_visible(f'#{input_selector}')
+ recipe_input = self.find(f'#{input_selector}')
+ recipe_input.send_keys(input_text)
+ self.find(f'#{searchBtn_selector}').click()
+ self.wait_until_visible(f'#{table_selector} tbody tr')
+ rows = self.find_all(f'#{table_selector} tbody tr')
+ self.assertTrue(len(rows) > 0)
+
+ def test_image_recipe_editColumn(self):
+ """ Test the edit column feature in image recipe table on project page """
+ self._get_create_builds(success=10, failure=10)
+
+ url = reverse('projectimagerecipes', args=(1,))
+ self.get(url)
+ self.wait_until_present('#imagerecipestable tbody tr')
+
+ column_list = [
+ 'get_description_or_summary', 'layer_version__get_vcs_reference',
+ 'layer_version__layer__name', 'license', 'recipe-file', 'section',
+ 'version'
+ ]
+
+ # Check that we can hide the edit column
+ self._mixin_test_table_edit_column(
+ 'imagerecipestable',
+ 'edit-columns-button',
+ [f'checkbox-{column}' for column in column_list]
+ )
+
def test_page_header_on_project_page(self):
""" Check page header in project page:
- AT LEFT -> Logo of Yocto project, displayed, clickable
@@ -184,11 +395,9 @@
self.wait_until_visible('#topbar-configuration-tab')
config_tab = self.find('#topbar-configuration-tab')
self.assertTrue(config_tab.get_attribute('class') == 'active')
- self.assertTrue('Configuration' in config_tab.text)
- config_tab_link = config_tab.find_element(By.TAG_NAME, 'a')
+ self.assertTrue('Configuration' in str(config_tab.text))
self.assertTrue(
- f"/toastergui/project/1" in str(config_tab_link.get_attribute(
- 'href'))
+ f"/toastergui/project/1" in str(self.driver.current_url)
)
def get_tabs():
@@ -245,3 +454,337 @@
self.assertTrue(
'core-image-minimal' in str(last_build.text)
)
+
+ def test_softwareRecipe_page(self):
+ """ Test software recipe page
+ - Check title "Compatible software recipes" is displayed
+ - Check search input
+ - Check "build recipe" button works
+ - Check software recipe table feature(show/hide column, pagination)
+ """
+ self._navigate_to_config_nav('softwarerecipestable', 4)
+ # check title "Compatible software recipes" is displayed
+ self.assertTrue("Compatible software recipes" in self.get_page_source())
+ # Test search input
+ self._mixin_test_table_search_input(
+ input_selector='search-input-softwarerecipestable',
+ input_text='busybox',
+ searchBtn_selector='search-submit-softwarerecipestable',
+ table_selector='softwarerecipestable'
+ )
+ # check "build recipe" button works
+ rows = self.find_all('#softwarerecipestable tbody tr')
+ image_to_build = rows[0]
+ build_btn = image_to_build.find_element(
+ By.XPATH,
+ '//td[@class="add-del-layers"]//a[1]'
+ )
+ build_btn.click()
+ self._wait_until_build('parsing starting cloning queued')
+ lastest_builds = self.driver.find_elements(
+ By.XPATH,
+ '//div[@id="latest-builds"]/div'
+ )
+ self.assertTrue(len(lastest_builds) > 0)
+
+ # check software recipe table feature(show/hide column, pagination)
+ self._navigate_to_config_nav('softwarerecipestable', 4)
+ column_list = [
+ 'get_description_or_summary',
+ 'layer_version__get_vcs_reference',
+ 'layer_version__layer__name',
+ 'license',
+ 'recipe-file',
+ 'section',
+ 'version',
+ ]
+ self._mixin_test_table_edit_column(
+ 'softwarerecipestable',
+ 'edit-columns-button',
+ [f'checkbox-{column}' for column in column_list]
+ )
+ self._navigate_to_config_nav('softwarerecipestable', 4)
+ # check show rows(pagination)
+ self._mixin_test_table_show_rows(table_selector='softwarerecipestable')
+
+ def test_machines_page(self):
+ """ Test Machine page
+ - Check if title "Compatible machines" is displayed
+ - Check search input
+ - Check "Select machine" button works
+ - Check "Add layer" button works
+ - Check Machine table feature(show/hide column, pagination)
+ """
+ self._navigate_to_config_nav('machinestable', 5)
+ # check title "Compatible software recipes" is displayed
+ self.assertTrue("Compatible machines" in self.get_page_source())
+ # Test search input
+ self._mixin_test_table_search_input(
+ input_selector='search-input-machinestable',
+ input_text='qemux86-64',
+ searchBtn_selector='search-submit-machinestable',
+ table_selector='machinestable'
+ )
+ # check "Select machine" button works
+ rows = self.find_all('#machinestable tbody tr')
+ machine_to_select = rows[0]
+ select_btn = machine_to_select.find_element(
+ By.XPATH,
+ '//td[@class="add-del-layers"]//a[1]'
+ )
+ select_btn.send_keys(Keys.RETURN)
+ self.wait_until_visible('#config-nav')
+ project_machine_name = self.find('#project-machine-name')
+ self.assertTrue(
+ 'qemux86-64' in project_machine_name.text
+ )
+ # check "Add layer" button works
+ self._navigate_to_config_nav('machinestable', 5)
+ # Search for a machine whit layer not in project
+ self._mixin_test_table_search_input(
+ input_selector='search-input-machinestable',
+ input_text='qemux86-64-tpm2',
+ searchBtn_selector='search-submit-machinestable',
+ table_selector='machinestable'
+ )
+ rows = self.find_all('#machinestable tbody tr')
+ machine_to_add = rows[0]
+ add_btn = machine_to_add.find_element(By.XPATH, '//td[@class="add-del-layers"]')
+ add_btn.click()
+ self.wait_until_visible('#change-notification')
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have added 1 layer to your project' in str(change_notification.text)
+ )
+ # check Machine table feature(show/hide column, pagination)
+ self._navigate_to_config_nav('machinestable', 5)
+ column_list = [
+ 'description',
+ 'layer_version__get_vcs_reference',
+ 'layer_version__layer__name',
+ 'machinefile',
+ ]
+ self._mixin_test_table_edit_column(
+ 'machinestable',
+ 'edit-columns-button',
+ [f'checkbox-{column}' for column in column_list]
+ )
+ self._navigate_to_config_nav('machinestable', 5)
+ # check show rows(pagination)
+ self._mixin_test_table_show_rows(table_selector='machinestable')
+
+ def test_layers_page(self):
+ """ Test layers page
+ - Check if title "Compatible layerss" is displayed
+ - Check search input
+ - Check "Add layer" button works
+ - Check "Remove layer" button works
+ - Check layers table feature(show/hide column, pagination)
+ """
+ self._navigate_to_config_nav('layerstable', 6)
+ # check title "Compatible layers" is displayed
+ self.assertTrue("Compatible layers" in self.get_page_source())
+ # Test search input
+ input_text='meta-tanowrt'
+ self._mixin_test_table_search_input(
+ input_selector='search-input-layerstable',
+ input_text=input_text,
+ searchBtn_selector='search-submit-layerstable',
+ table_selector='layerstable'
+ )
+ # check "Add layer" button works
+ rows = self.find_all('#layerstable tbody tr')
+ layer_to_add = rows[0]
+ add_btn = layer_to_add.find_element(
+ By.XPATH,
+ '//td[@class="add-del-layers"]'
+ )
+ add_btn.click()
+ # check modal is displayed
+ self.wait_until_visible('#dependencies-modal', poll=2)
+ list_dependencies = self.find_all('#dependencies-list li')
+ # click on add-layers button
+ add_layers_btn = self.driver.find_element(
+ By.XPATH,
+ '//form[@id="dependencies-modal-form"]//button[@class="btn btn-primary"]'
+ )
+ add_layers_btn.click()
+ self.wait_until_visible('#change-notification')
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have added {len(list_dependencies)+1} layers to your project: {input_text} and its dependencies' in str(change_notification.text)
+ )
+ # check "Remove layer" button works
+ rows = self.find_all('#layerstable tbody tr')
+ layer_to_remove = rows[0]
+ remove_btn = layer_to_remove.find_element(
+ By.XPATH,
+ '//td[@class="add-del-layers"]'
+ )
+ remove_btn.click()
+ self.wait_until_visible('#change-notification', poll=2)
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have removed 1 layer from your project: {input_text}' in str(change_notification.text)
+ )
+ # check layers table feature(show/hide column, pagination)
+ self._navigate_to_config_nav('layerstable', 6)
+ column_list = [
+ 'dependencies',
+ 'revision',
+ 'layer__vcs_url',
+ 'git_subdir',
+ 'layer__summary',
+ ]
+ self._mixin_test_table_edit_column(
+ 'layerstable',
+ 'edit-columns-button',
+ [f'checkbox-{column}' for column in column_list]
+ )
+ self._navigate_to_config_nav('layerstable', 6)
+ # check show rows(pagination)
+ self._mixin_test_table_show_rows(table_selector='layerstable')
+
+ def test_distro_page(self):
+ """ Test distros page
+ - Check if title "Compatible distros" is displayed
+ - Check search input
+ - Check "Add layer" button works
+ - Check distro table feature(show/hide column, pagination)
+ """
+ self._navigate_to_config_nav('distrostable', 7)
+ # check title "Compatible distros" is displayed
+ self.assertTrue("Compatible Distros" in self.get_page_source())
+ # Test search input
+ input_text='poky-altcfg'
+ self._mixin_test_table_search_input(
+ input_selector='search-input-distrostable',
+ input_text=input_text,
+ searchBtn_selector='search-submit-distrostable',
+ table_selector='distrostable'
+ )
+ # check "Add distro" button works
+ rows = self.find_all('#distrostable tbody tr')
+ distro_to_add = rows[0]
+ add_btn = distro_to_add.find_element(
+ By.XPATH,
+ '//td[@class="add-del-layers"]//a[1]'
+ )
+ add_btn.click()
+ self.wait_until_visible('#change-notification', poll=2)
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have changed the distro to: {input_text}' in str(change_notification.text)
+ )
+ # check distro table feature(show/hide column, pagination)
+ self._navigate_to_config_nav('distrostable', 7)
+ column_list = [
+ 'description',
+ 'templatefile',
+ 'layer_version__get_vcs_reference',
+ 'layer_version__layer__name',
+ ]
+ self._mixin_test_table_edit_column(
+ 'distrostable',
+ 'edit-columns-button',
+ [f'checkbox-{column}' for column in column_list]
+ )
+ self._navigate_to_config_nav('distrostable', 7)
+ # check show rows(pagination)
+ self._mixin_test_table_show_rows(
+ table_selector='distrostable',
+ to_skip=[150]
+ )
+
+ def test_single_layer_page(self):
+ """ Test layer page
+ - Check if title is displayed
+ - Check add/remove layer button works
+ - Check tabs(layers, recipes, machines) are displayed
+ - Check left section is displayed
+ - Check layer name
+ - Check layer summary
+ - Check layer description
+ """
+ url = reverse("layerdetails", args=(1, 8))
+ self.get(url)
+ self.wait_until_visible('.page-header')
+ # check title is displayed
+ self.assertTrue(self.find('.page-header h1').is_displayed())
+
+ # check add layer button works
+ remove_layer_btn = self.find('#add-remove-layer-btn')
+ remove_layer_btn.click()
+ self.wait_until_visible('#change-notification', poll=2)
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have removed 1 layer from your project' in str(change_notification.text)
+ )
+ # check add layer button works, 18 is the random layer id
+ add_layer_btn = self.find('#add-remove-layer-btn')
+ add_layer_btn.click()
+ self.wait_until_visible('#change-notification')
+ change_notification = self.find('#change-notification')
+ self.assertTrue(
+ f'You have added 1 layer to your project' in str(change_notification.text)
+ )
+ # check tabs(layers, recipes, machines) are displayed
+ tabs = self.find_all('.nav-tabs li')
+ self.assertEqual(len(tabs), 3)
+ # Check first tab
+ tabs[0].click()
+ self.assertTrue(
+ 'active' in str(self.find('#information').get_attribute('class'))
+ )
+ # Check second tab
+ tabs[1].click()
+ self.assertTrue(
+ 'active' in str(self.find('#recipes').get_attribute('class'))
+ )
+ # Check third tab
+ tabs[2].click()
+ self.assertTrue(
+ 'active' in str(self.find('#machines').get_attribute('class'))
+ )
+ # Check left section is displayed
+ section = self.find('.well')
+ # Check layer name
+ self.assertTrue(
+ section.find_element(By.XPATH, '//h2[1]').is_displayed()
+ )
+ # Check layer summary
+ self.assertTrue("Summary" in section.text)
+ # Check layer description
+ self.assertTrue("Description" in section.text)
+
+ def test_single_recipe_page(self):
+ """ Test recipe page
+ - Check if title is displayed
+ - Check add recipe layer displayed
+ - Check left section is displayed
+ - Check recipe: name, summary, description, Version, Section,
+ License, Approx. packages included, Approx. size, Recipe file
+ """
+ url = reverse("recipedetails", args=(1, 53428))
+ self.get(url)
+ self.wait_until_visible('.page-header')
+ # check title is displayed
+ self.assertTrue(self.find('.page-header h1').is_displayed())
+ # check add recipe layer displayed
+ add_recipe_layer_btn = self.find('#add-layer-btn')
+ self.assertTrue(add_recipe_layer_btn.is_displayed())
+ # check left section is displayed
+ section = self.find('.well')
+ # Check recipe name
+ self.assertTrue(
+ section.find_element(By.XPATH, '//h2[1]').is_displayed()
+ )
+ # Check recipe sections details info are displayed
+ self.assertTrue("Summary" in section.text)
+ self.assertTrue("Description" in section.text)
+ self.assertTrue("Version" in section.text)
+ self.assertTrue("Section" in section.text)
+ self.assertTrue("License" in section.text)
+ self.assertTrue("Approx. packages included" in section.text)
+ self.assertTrue("Approx. package size" in section.text)
+ self.assertTrue("Recipe file" in section.text)
diff --git a/poky/documentation/contributor-guide/recipe-style-guide.rst b/poky/documentation/contributor-guide/recipe-style-guide.rst
index a005aa3..08d8fb4 100644
--- a/poky/documentation/contributor-guide/recipe-style-guide.rst
+++ b/poky/documentation/contributor-guide/recipe-style-guide.rst
@@ -250,6 +250,18 @@
correct string that you can substitute into the recipe file for a
subsequent build.
+License Updates
+~~~~~~~~~~~~~~~
+
+When you change the :term:`LICENSE` or :term:`LIC_FILES_CHKSUM` in the recipe
+you need to briefly explain the reason for the change via a ``License-Update:``
+tag. Often it's quite trivial, such as::
+
+ License-Update: copyright years refreshed
+
+Less often, the actual licensing terms themselves will have changed. If so, do
+try to link to upstream making/justifying that decision.
+
Tips and Guidelines for Writing Recipes
---------------------------------------
diff --git a/poky/documentation/contributor-guide/submit-changes.rst b/poky/documentation/contributor-guide/submit-changes.rst
index 53daaf9..5a6136c 100644
--- a/poky/documentation/contributor-guide/submit-changes.rst
+++ b/poky/documentation/contributor-guide/submit-changes.rst
@@ -460,7 +460,7 @@
please add the appropriate prefix so that it is clear which layer the patch is intended
to be applied to::
- git send-email --subject-prefix="meta-oe][PATCH" ...
+ git format-patch --subject-prefix="meta-oe][PATCH" ...
.. note::
diff --git a/poky/documentation/dev-manual/layers.rst b/poky/documentation/dev-manual/layers.rst
index c65a94b..b3ccf63 100644
--- a/poky/documentation/dev-manual/layers.rst
+++ b/poky/documentation/dev-manual/layers.rst
@@ -313,7 +313,7 @@
successful compatibility registration.
#. Completion of an application acceptance form, which you can find at
- :yocto_home:`/webform/yocto-project-compatible-registration`.
+ :yocto_home:`/compatible-registration/`.
To be granted permission to use the logo, you need to satisfy the
following:
@@ -337,7 +337,7 @@
layer and the application that uses your layer.
To access the form, use this link:
-:yocto_home:`/webform/yocto-project-compatible-registration`.
+:yocto_home:`/compatible-registration`.
Follow the instructions on the form to complete your application.
The application consists of the following sections:
diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst
index 5435835..3932792 100644
--- a/poky/documentation/migration-guides/migration-2.2.rst
+++ b/poky/documentation/migration-guides/migration-2.2.rst
@@ -29,7 +29,7 @@
The way directories are staged in sysroot has been simplified and
introduces the new :term:`SYSROOT_DIRS`,
:term:`SYSROOT_DIRS_NATIVE`, and ``SYSROOT_DIRS_BLACKLIST``
-(replaced by :term:`SYSROOT_DIRS_IGNORE` in version 3.5). See the
+(replaced by :term:`SYSROOT_DIRS_IGNORE` in version 4.0). See the
:oe_lists:`v2 patch series on the OE-Core Mailing List
</pipermail/openembedded-core/2016-May/121365.html>`
for additional information.
diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst
index 8e7a58e..67fcac4 100644
--- a/poky/documentation/migration-guides/migration-3.0.rst
+++ b/poky/documentation/migration-guides/migration-3.0.rst
@@ -150,7 +150,7 @@
and makes other improvements.
Additionally, the ``CVE_CHECK_CVE_WHITELIST`` variable has been replaced
-by ``CVE_CHECK_WHITELIST`` (replaced by :term:`CVE_CHECK_IGNORE` in version 3.5).
+by ``CVE_CHECK_WHITELIST`` (replaced by :term:`CVE_CHECK_IGNORE` in version 4.0).
.. _migration-3.0-bitbake-changes:
diff --git a/poky/documentation/migration-guides/migration-3.4.rst b/poky/documentation/migration-guides/migration-3.4.rst
index f50fe5e..a9b1057 100644
--- a/poky/documentation/migration-guides/migration-3.4.rst
+++ b/poky/documentation/migration-guides/migration-3.4.rst
@@ -255,7 +255,7 @@
- The previously deprecated ``COMPRESS_CMD`` and
``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
:term:`CONVERSION_CMD` and ``CVE_CHECK_WHITELIST`` (replaced by
- :term:`CVE_CHECK_IGNORE` in version 3.5) respectively
+ :term:`CVE_CHECK_IGNORE` in version 4.0) respectively
instead.
- The obsolete ``oe_machinstall`` function previously provided in the
diff --git a/poky/documentation/migration-guides/release-4.3.rst b/poky/documentation/migration-guides/release-4.3.rst
index 92516ae..5b651a2 100644
--- a/poky/documentation/migration-guides/release-4.3.rst
+++ b/poky/documentation/migration-guides/release-4.3.rst
@@ -7,3 +7,4 @@
migration-4.3
release-notes-4.3
+ release-notes-4.3.1
diff --git a/poky/documentation/migration-guides/release-notes-4.3.1.rst b/poky/documentation/migration-guides/release-notes-4.3.1.rst
new file mode 100644
index 0000000..377cdb4
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.3.1.rst
@@ -0,0 +1,237 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.3.1 (Nanbield)
+----------------------------------------
+
+Security Fixes in Yocto-4.3.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- libsndfile1: Fix :cve:`2022-33065`
+- libxml2: Ignore :cve:`2023-45322`
+- linux-yocto/6.1: Ignore :cve:`2020-27418`, :cve:`2023-31085`, :cve_mitre:`2023-34324`, :cve:`2023-39189`, :cve:`2023-39192`, :cve:`2023-39193`, :cve:`2023-39194`, :cve:`2023-4244`, :cve:`2023-42754`, :cve:`2023-42756`, :cve:`2023-44466`, :cve:`2023-4563`, :cve:`2023-45862`, :cve:`2023-45863`, :cve:`2023-45871`, :cve:`2023-45898`, :cve:`2023-4732`, :cve:`2023-5158`, :cve:`2023-5197` and :cve:`2023-5345`
+- linux-yocto/6.5: Ignore :cve:`2020-27418`, :cve:`2023-1193`, :cve:`2023-39191`, :cve:`2023-39194`, :cve:`2023-40791`, :cve:`2023-44466`, :cve:`2023-45862`, :cve:`2023-45863`, :cve:`2023-4610` and :cve:`2023-4732`
+- openssl: Fix :cve:`2023-5363`
+- pixman: Ignore :cve:`2023-37769`
+- vim: Fix :cve:`2023-46246`
+- zlib: Ignore :cve:`2023-45853`
+
+
+Fixes in Yocto-4.3.1
+~~~~~~~~~~~~~~~~~~~~
+
+- Remove references to apm in :term:`MACHINE_FEATURES`
+- baremetal-helloworld: Pull in fix for race condition on x86-64
+- base: Ensure recipes using mercurial-native have certificates
+- bb-matrix-plot.sh: Show underscores correctly in labels
+- bin_package.bbclass: revert "Inhibit the default dependencies"
+- bitbake: SECURITY.md: add file
+- brief-yoctoprojectqs: use new CDN mirror for sstate
+- bsp-guide: bsp.rst: update beaglebone example
+- bsp-guide: bsp: skip Intel machines no longer supported in Poky
+- build-appliance-image: Update to nanbield head revision
+- contributor-guide: add patchtest section
+- contributor-guide: clarify patchtest usage
+- cve-check: don't warn if a patch is remote
+- cve-check: slightly more verbose warning when adding the same package twice
+- cve-check: sort the package list in the JSON report
+- dev-manual: add security team processes
+- dev-manual: extend the description of CVE patch preparation
+- dev-manual: layers: Add notes about layer.conf
+- dev-manual: new-recipe.rst: add missing parenthesis to "Patching Code" section
+- dev-manual: start.rst: remove obsolete reference
+- dev-manual: wic: update "wic list images" output
+- docs: add support for nanbield (4.3) release
+- documentation.conf: drop SERIAL_CONSOLES_CHECK
+- ell: Upgrade to 0.59
+- glib-2.0: Remove unnecessary assignement
+- goarch: Move Go architecture mapping to a library
+- kernel-arch: drop CCACHE from :term:`KERNEL_STRIP` definition
+- kernel.bbclass: Use strip utility used for kernel build in do_package
+- layer.conf: Switch layer to nanbield series only
+- libsdl2: upgrade to 2.28.4
+- linux-yocto: make sure the pahole-native available before do_kernel_configme
+- llvm: Upgrade to 17.0.3
+- machine: drop obsolete SERIAL_CONSOLES_CHECK
+- manuals: correct "yocto-linux" by "linux-yocto"
+- manuals: improve description of :term:`CVE_STATUS` and :term:`CVE_STATUS_GROUPS`
+- manuals: update linux-yocto append examples
+- manuals: update list of supported machines
+- migration-4.3: additional migration items
+- migration-4.3: adjustments to existing text
+- migration-4.3: remove some unnecessary items
+- migration-guides: QEMU_USE_SLIRP variable removed
+- migration-guides: add BitBake changes
+- migration-guides: add debian 12 to newly supported distros
+- migration-guides: add kernel notes
+- migration-guides: add testing notes
+- migration-guides: add utility notes
+- migration-guides: edgerouter machine removed
+- migration-guides: enabling :term:`SPDX` only for Poky, not a global default
+- migration-guides: fix empty sections
+- migration-guides: further updates for 4.3
+- migration-guides: further updates for release 4.3
+- migration-guides: git recipes reword
+- migration-guides: mention CDN
+- migration-guides: mention LLVM 17
+- migration-guides: mention runqemu change in serial port management
+- migration-guides: packaging changes
+- migration-guides: remove SERIAL_CONSOLES_CHECK
+- migration-guides: remove non-notable change
+- migration-guides: updates for 4.3
+- oeqa/selftest/debuginfod: improve selftest
+- oeqa/selftest/devtool: abort if a local workspace already exist
+- oeqa/ssh: Handle SSHCall timeout error code
+- openssl: Upgrade to 3.1.4
+- overview-manual: concepts: Add Bitbake Tasks Map
+- patchtest-send-results: add In-Reply-To
+- patchtest-send-results: check max line length, simplify responses
+- patchtest-send-results: fix sender parsing
+- patchtest-send-results: improve subject line
+- patchtest-send-results: send results to submitter
+- patchtest/selftest: add XSKIP, update test files
+- patchtest: disable merge test
+- patchtest: fix lic_files_chksum test regex
+- patchtest: make pylint tests compatible with 3.x
+- patchtest: reduce checksum test output length
+- patchtest: remove test for CVE tag in mbox
+- patchtest: remove unused imports
+- patchtest: rework license checksum tests
+- patchtest: shorten test result outputs
+- patchtest: simplify test directory structure
+- patchtest: skip merge test if not targeting master
+- patchtest: test regardless of mergeability
+- perl: fix intermittent test failure
+- poky.conf: bump version for 4.3.1 release
+- profile-manual: aesthetic cleanups
+- ref-manual: Add documentation for the unimplemented-ptest QA warning
+- ref-manual: Fix :term:`PACKAGECONFIG` term and add an example
+- ref-manual: Warn about :term:`COMPATIBLE_MACHINE` skipping native recipes
+- ref-manual: add systemd-resolved to distro features
+- ref-manual: classes: explain cml1 class name
+- ref-manual: document :term:`KERNEL_LOCALVERSION`
+- ref-manual: document :term:`KERNEL_STRIP`
+- ref-manual: document :term:`MESON_TARGET`
+- ref-manual: document cargo_c class
+- ref-manual: remove semicolons from ``*PROCESS_COMMAND`` variables
+- ref-manual: update :term:`SDK_NAME` variable documentation
+- ref-manual: variables: add :term:`RECIPE_MAINTAINER`
+- ref-manual: variables: add :term:`RECIPE_SYSROOT` and :term:`RECIPE_SYSROOT_NATIVE`
+- ref-manual: variables: add :term:`TOOLCHAIN_OPTIONS` variable
+- ref-manual: variables: add example for :term:`SYSROOT_DIRS` variable
+- ref-manual: variables: document :term:`OEQA_REPRODUCIBLE_TEST_PACKAGE`
+- ref-manual: variables: mention new CDN for :term:`SSTATE_MIRRORS`
+- ref-manual: variables: provide no-match example for :term:`COMPATIBLE_MACHINE`
+- ref-manual: variables: remove SERIAL_CONSOLES_CHECK
+- release-notes-4.3: add CVEs, recipe upgrades, license changes, contributors
+- release-notes-4.3: add Repositories / Downloads section
+- release-notes-4.3: feature additions
+- release-notes-4.3: fix some typos
+- release-notes-4.3: move new classes to Rust section
+- release-notes-4.3: remove the Distribution section
+- release-notes-4.3: tweaks to existing text
+- sdk-manual: appendix-obtain: improve and update descriptions
+- test-manual: reproducible-builds: stop mentioning LTO bug
+- vim: Improve locale handling
+- vim: Upgrade to 9.0.2068
+- vim: use upstream generated .po files
+
+
+Known Issues in Yocto-4.3.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.3.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Alejandro Hernandez Samaniego
+- Alex Stewart
+- Archana Polampalli
+- Arne Schwerdt
+- BELHADJ SALEM Talel
+- Dmitry Baryshkov
+- Eero Aaltonen
+- Joshua Watt
+- Julien Stephan
+- Jérémy Rosen
+- Khem Raj
+- Lee Chee Yang
+- Marta Rybczynska
+- Max Krummenacher
+- Michael Halstead
+- Michael Opdenacker
+- Paul Eggleton
+- Peter Kjellerstedt
+- Peter Marko
+- Quentin Schulz
+- Richard Purdie
+- Robert P. J. Day
+- Ross Burton
+- Rouven Czerwinski
+- Steve Sakoman
+- Trevor Gamblin
+- Wang Mingyu
+- William Lyu
+- Xiangyu Chen
+- luca fancellu
+
+
+Repositories / Downloads for Yocto-4.3.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+- Repository Location: :yocto_git:`/poky`
+- Branch: :yocto_git:`nanbield </poky/log/?h=nanbield>`
+- Tag: :yocto_git:`yocto-4.3.1 </poky/log/?h=yocto-4.3.1>`
+- Git Revision: :yocto_git:`bf9f2f6f60387b3a7cd570919cef6c4570edcb82 </poky/commit/?id=bf9f2f6f60387b3a7cd570919cef6c4570edcb82>`
+- Release Artefact: poky-bf9f2f6f60387b3a7cd570919cef6c4570edcb82
+- sha: 9b4351159d728fec2b63a50f1ac15edc412e2d726e9180a40afc06051fadb922
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.1/poky-bf9f2f6f60387b3a7cd570919cef6c4570edcb82.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.3.1/poky-bf9f2f6f60387b3a7cd570919cef6c4570edcb82.tar.bz2
+
+openembedded-core
+
+- Repository Location: :oe_git:`/openembedded-core`
+- Branch: :oe_git:`nanbield </openembedded-core/log/?h=nanbield>`
+- Tag: :oe_git:`yocto-4.3.1 </openembedded-core/log/?h=yocto-4.3.1>`
+- Git Revision: :oe_git:`cce77e8e79c860f4ef0ac4a86b9375bf87507360 </openembedded-core/commit/?id=cce77e8e79c860f4ef0ac4a86b9375bf87507360>`
+- Release Artefact: oecore-cce77e8e79c860f4ef0ac4a86b9375bf87507360
+- sha: e6cde08e7c549f57a67d833a36cdb942648fba81558dc8b0e65332d2a2c023cc
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.1/oecore-cce77e8e79c860f4ef0ac4a86b9375bf87507360.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.3.1/oecore-cce77e8e79c860f4ef0ac4a86b9375bf87507360.tar.bz2
+
+meta-mingw
+
+- Repository Location: :yocto_git:`/meta-mingw`
+- Branch: :yocto_git:`nanbield </meta-mingw/log/?h=nanbield>`
+- Tag: :yocto_git:`yocto-4.3.1 </meta-mingw/log/?h=yocto-4.3.1>`
+- Git Revision: :yocto_git:`49617a253e09baabbf0355bc736122e9549c8ab2 </meta-mingw/commit/?id=49617a253e09baabbf0355bc736122e9549c8ab2>`
+- Release Artefact: meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2
+- sha: 2225115b73589cdbf1e491115221035c6a61679a92a93b2a3cf761ff87bf4ecc
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.1/meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.3.1/meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2.tar.bz2
+
+bitbake
+
+- Repository Location: :oe_git:`/bitbake`
+- Branch: :oe_git:`2.6 </bitbake/log/?h=2.6>`
+- Tag: :oe_git:`yocto-4.3.1 </bitbake/log/?h=yocto-4.3.1>`
+- Git Revision: :oe_git:`936fcec41efacc4ce988c81882a9ae6403702bea </bitbake/commit/?id=936fcec41efacc4ce988c81882a9ae6403702bea>`
+- Release Artefact: bitbake-936fcec41efacc4ce988c81882a9ae6403702bea
+- sha: efbdd5fe7f29227a3fd26d6a08a368bf8215083a588b4d23f3adf35044897520
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.1/bitbake-936fcec41efacc4ce988c81882a9ae6403702bea.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.3.1/bitbake-936fcec41efacc4ce988c81882a9ae6403702bea.tar.bz2
+
+yocto-docs
+
+- Repository Location: :yocto_git:`/yocto-docs`
+- Branch: :yocto_git:`nanbield </yocto-docs/log/?h=nanbield>`
+- Tag: :yocto_git:`yocto-4.3.1 </yocto-docs/log/?h=yocto-4.3.1>`
+- Git Revision: :yocto_git:`6b98a6164263298648e89b5a5ae1260a58f1bb35 </yocto-docs/commit/?id=6b98a6164263298648e89b5a5ae1260a58f1bb35>`
+
diff --git a/poky/meta/classes-recipe/cmake-qemu.bbclass b/poky/meta/classes-recipe/cmake-qemu.bbclass
new file mode 100644
index 0000000..76b748f
--- /dev/null
+++ b/poky/meta/classes-recipe/cmake-qemu.bbclass
@@ -0,0 +1,28 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+# Not all platforms are supported by Qemu. Using qemu-user therefore
+# involves a certain risk, which is also the reason why this feature
+# is not activated by default.
+
+inherit qemu
+
+CMAKE_EXEWRAPPER_ENABLED:class-native = "False"
+CMAKE_EXEWRAPPER_ENABLED:class-nativesdk = "False"
+CMAKE_EXEWRAPPER_ENABLED ?= "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)}"
+DEPENDS:append = "${@' qemu-native' if d.getVar('CMAKE_EXEWRAPPER_ENABLED') == 'True' else ''}"
+
+cmake_do_generate_toolchain_file:append:class-target() {
+ if [ "${CMAKE_EXEWRAPPER_ENABLED}" = "True" ]; then
+ # Write out a qemu wrapper that will be used as exe_wrapper so that camake
+ # can run target helper binaries through that. This also allows to execute ctest.
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}"
+ echo "#!/bin/sh" > "${WORKDIR}/cmake-qemuwrapper"
+ echo "$qemu_binary \"\$@\"" >> "${WORKDIR}/cmake-qemuwrapper"
+ chmod +x "${WORKDIR}/cmake-qemuwrapper"
+ echo "set( CMAKE_CROSSCOMPILING_EMULATOR ${WORKDIR}/cmake-qemuwrapper)" \
+ >> ${WORKDIR}/toolchain.cmake
+ fi
+}
diff --git a/poky/meta/classes-recipe/rust-common.bbclass b/poky/meta/classes-recipe/rust-common.bbclass
index 3d73a37..ae96d9c 100644
--- a/poky/meta/classes-recipe/rust-common.bbclass
+++ b/poky/meta/classes-recipe/rust-common.bbclass
@@ -63,6 +63,8 @@
# This catches ARM targets and appends the necessary hard float bits
if os == "linux-gnueabi" or os == "linux-musleabi":
libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
+ elif os == "linux-gnux32" or os == "linux-muslx32":
+ libc = ""
elif "musl" in os:
libc = "-musl"
os = "linux"
diff --git a/poky/meta/classes/devtool-source.bbclass b/poky/meta/classes/devtool-source.bbclass
index a02b1e9..4158c20 100644
--- a/poky/meta/classes/devtool-source.bbclass
+++ b/poky/meta/classes/devtool-source.bbclass
@@ -232,6 +232,9 @@
bb.process.run('git rebase devtool-no-overrides', cwd=srcsubdir)
bb.process.run('git checkout %s' % devbranch, cwd=srcsubdir)
bb.process.run('git tag -f devtool-patched', cwd=srcsubdir)
+ if os.path.exists(os.path.join(srcsubdir, '.gitmodules')):
+ bb.process.run('git submodule foreach --recursive "git tag -f devtool-patched"', cwd=srcsubdir)
+
}
python devtool_post_configure() {
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 983987c..e7826e7 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -543,6 +543,9 @@
# Used by Mercurial fetcher
HOSTTOOLS_NONFATAL += "hg"
+# Used by gcp fetcher
+HOSTTOOLS_NONFATAL += "gsutil"
+
# Link to git-lfs if present
HOSTTOOLS_NONFATAL += "git-lfs"
diff --git a/poky/meta/conf/documentation.conf b/poky/meta/conf/documentation.conf
index d03c497..486c62b 100644
--- a/poky/meta/conf/documentation.conf
+++ b/poky/meta/conf/documentation.conf
@@ -28,7 +28,7 @@
do_kernel_configme[doc] = "Assembles the kernel configuration for a linux-yocto style kernel"
do_kernel_link_images[doc] = "Creates a symbolic link in arch/$arch/boot for vmlinux and vmlinuz kernel images"
do_listtasks[doc] = "Lists all defined tasks for a target"
-do_menuconfig[doc] = "Runs 'make menuconfig' for the kernel"
+do_menuconfig[doc] = "Runs 'make menuconfig' in the compilation directory"
do_package[doc] = "Analyzes the content of the holding area and splits it into subsets based on available packages and files"
do_package_index[doc] = "Creates or updates the index in the Package Feed area"
do_package_qa[doc] = "Runs QA checks on packaged files"
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index 9b480b2..e4bb5a7 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -461,41 +461,43 @@
return (tmpfile, cmd)
@staticmethod
- def extractPatches(tree, startcommit, outdir, paths=None):
+ def extractPatches(tree, startcommits, outdir, paths=None):
import tempfile
import shutil
tempdir = tempfile.mkdtemp(prefix='oepatch')
try:
- shellcmd = ["git", "format-patch", "--no-signature", "--no-numbered", startcommit, "-o", tempdir]
- if paths:
- shellcmd.append('--')
- shellcmd.extend(paths)
- out = runcmd(["sh", "-c", " ".join(shellcmd)], tree)
- if out:
- for srcfile in out.split():
- for encoding in ['utf-8', 'latin-1']:
- patchlines = []
- outfile = None
- try:
- with open(srcfile, 'r', encoding=encoding) as f:
- for line in f:
- if line.startswith(GitApplyTree.patch_line_prefix):
- outfile = line.split()[-1].strip()
- continue
- if line.startswith(GitApplyTree.ignore_commit_prefix):
- continue
- patchlines.append(line)
- except UnicodeDecodeError:
- continue
- break
- else:
- raise PatchError('Unable to find a character encoding to decode %s' % srcfile)
+ for name, rev in startcommits.items():
+ shellcmd = ["git", "format-patch", "--no-signature", "--no-numbered", rev, "-o", tempdir]
+ if paths:
+ shellcmd.append('--')
+ shellcmd.extend(paths)
+ out = runcmd(["sh", "-c", " ".join(shellcmd)], os.path.join(tree, name))
+ if out:
+ for srcfile in out.split():
+ for encoding in ['utf-8', 'latin-1']:
+ patchlines = []
+ outfile = None
+ try:
+ with open(srcfile, 'r', encoding=encoding) as f:
+ for line in f:
+ if line.startswith(GitApplyTree.patch_line_prefix):
+ outfile = line.split()[-1].strip()
+ continue
+ if line.startswith(GitApplyTree.ignore_commit_prefix):
+ continue
+ patchlines.append(line)
+ except UnicodeDecodeError:
+ continue
+ break
+ else:
+ raise PatchError('Unable to find a character encoding to decode %s' % srcfile)
- if not outfile:
- outfile = os.path.basename(srcfile)
- with open(os.path.join(outdir, outfile), 'w') as of:
- for line in patchlines:
- of.write(line)
+ if not outfile:
+ outfile = os.path.basename(srcfile)
+ bb.utils.mkdirhier(os.path.join(outdir, name))
+ with open(os.path.join(outdir, name, outfile), 'w') as of:
+ for line in patchlines:
+ of.write(line)
finally:
shutil.rmtree(tempdir)
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index 3336db8..25b159b 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -672,11 +672,11 @@
destlayerdir: base directory of the layer to place the bbappend in
(subdirectory path from there will be determined automatically)
srcfiles: dict of source files to add to SRC_URI, where the value
- is the full path to the file to be added, and the value is the
- original filename as it would appear in SRC_URI or None if it
- isn't already present. You may pass None for this parameter if
- you simply want to specify your own content via the extralines
- parameter.
+ is the full path to the file to be added, and the value is a
+ dict with 'path' key containing the original filename as it
+ would appear in SRC_URI or None if it isn't already present.
+ You may pass None for this parameter if you simply want to specify
+ your own content via the extralines parameter.
install: dict mapping entries in srcfiles to a tuple of two elements:
install path (*without* ${D} prefix) and permission value (as a
string, e.g. '0644').
@@ -763,10 +763,9 @@
copyfiles = {}
if srcfiles:
instfunclines = []
- for i, (newfile, origsrcfile) in enumerate(srcfiles.items()):
- srcfile = origsrcfile
+ for i, (newfile, param) in enumerate(srcfiles.items()):
srcurientry = None
- if not srcfile:
+ if not 'path' in param or not param['path']:
srcfile = os.path.basename(newfile)
srcurientry = 'file://%s' % srcfile
if params and params[i]:
@@ -778,7 +777,10 @@
appendline('SRC_URI:append%s' % appendoverride, '=', ' ' + srcurientry)
else:
appendline('SRC_URI', '+=', srcurientry)
- copyfiles[newfile] = srcfile
+ param['path'] = srcfile
+ else:
+ srcfile = param['path']
+ copyfiles[newfile] = param
if install:
institem = install.pop(newfile, None)
if institem:
@@ -901,7 +903,12 @@
outdir = redirect_output
else:
outdir = appenddir
- for newfile, srcfile in copyfiles.items():
+ for newfile, param in copyfiles.items():
+ srcfile = param['path']
+ patchdir = param.get('patchdir', ".")
+
+ if patchdir != ".":
+ newfile = os.path.join(os.path.split(newfile)[0], patchdir, os.path.split(newfile)[1])
filedest = os.path.join(outdir, destsubdir, os.path.basename(srcfile))
if os.path.abspath(newfile) != os.path.abspath(filedest):
if newfile.startswith(tempfile.gettempdir()):
@@ -1035,7 +1042,7 @@
revision = ud.method.latest_revision(ud, rd, 'default')
upversion = pv
if revision != rd.getVar("SRCREV"):
- upversion = upversion + "-new-commits-available"
+ upversion = upversion + "-new-commits-available"
else:
pupver = ud.method.latest_versionstring(ud, rd)
(upversion, revision) = pupver
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index ab58971..2a11886 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1598,6 +1598,53 @@
# Try building
bitbake('%s -c patch' % testrecipe)
+ def test_devtool_git_submodules(self):
+ # This tests if we can add a patch in a git submodule and extract it properly using devtool finish
+ # Check preconditions
+ self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
+ self.track_for_cleanup(self.workspacedir)
+ recipe = 'vulkan-samples'
+ src_uri = get_bb_var('SRC_URI', recipe)
+ self.assertIn('gitsm://', src_uri, 'This test expects the %s recipe to be a git recipe with submodules' % recipe)
+ oldrecipefile = get_bb_var('FILE', recipe)
+ recipedir = os.path.dirname(oldrecipefile)
+ result = runCmd('git status --porcelain .', cwd=recipedir)
+ if result.output.strip():
+ self.fail('Recipe directory for %s contains uncommitted changes' % recipe)
+ self.assertIn('/meta/', recipedir)
+ tempdir = tempfile.mkdtemp(prefix='devtoolqa')
+ self.track_for_cleanup(tempdir)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+ result = runCmd('devtool modify %s %s' % (recipe, tempdir))
+ self.assertExists(os.path.join(tempdir, 'CMakeLists.txt'), 'Extracted source could not be found')
+ # Test devtool status
+ result = runCmd('devtool status')
+ self.assertIn(recipe, result.output)
+ self.assertIn(tempdir, result.output)
+ # Modify a source file in a submodule, (grab the first one)
+ result = runCmd('git submodule --quiet foreach \'echo $sm_path\'', cwd=tempdir)
+ submodule = result.output.splitlines()[0]
+ submodule_path = os.path.join(tempdir, submodule)
+ runCmd('echo "#This is a first comment" >> testfile', cwd=submodule_path)
+ result = runCmd('git status --porcelain . ', cwd=submodule_path)
+ self.assertIn("testfile", result.output)
+ runCmd('git add testfile; git commit -m "Adding a new file"', cwd=submodule_path)
+
+ # Try finish to the original layer
+ self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir))
+ runCmd('devtool finish -f %s meta' % recipe)
+ result = runCmd('devtool status')
+ self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t')
+ self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish')
+ expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)),
+ ('??', '.*/.*-Adding-a-new-file.patch$')]
+ self._check_repo_status(recipedir, expected_status)
+ # Make sure the patch is added to the recipe with the correct "patchdir" option
+ result = runCmd('git diff .', cwd=recipedir)
+ addlines = [
+ 'file://0001-Adding-a-new-file.patch;patchdir=%s \\\\' % submodule
+ ]
+ self._check_diff(result.output, addlines, [])
class DevtoolExtractTests(DevtoolBase):
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 029b6af..14ccb0b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,7 +16,7 @@
import datetime
exclude_packages = [
- 'rust',
+ 'rust-rustdoc',
'rust-dbg'
]
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index b4866bc..4ebcb76 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -16,6 +16,7 @@
from glob import glob
from shutil import rmtree, copy
from tempfile import NamedTemporaryFile
+from tempfile import TemporaryDirectory
from oeqa.selftest.case import OESelftestTestCase
from oeqa.core.decorator import OETestTag
@@ -146,6 +147,73 @@
self.assertEqual(1, runCmd('wic', ignore_status=True).status)
class Wic(WicTestCase):
+ def test_skip_kernel_install(self):
+ """Test the functionality of not installing the kernel in the boot directory using the wic plugin"""
+ # create a temporary file for the WKS content
+ with NamedTemporaryFile("w", suffix=".wks") as wks:
+ wks.write(
+ 'part --source bootimg-efi '
+ '--sourceparams="loader=grub-efi,install-kernel-into-boot-dir=false" '
+ '--label boot --active\n'
+ )
+ wks.flush()
+ # create a temporary directory to extract the disk image to
+ with TemporaryDirectory() as tmpdir:
+ img = 'core-image-minimal'
+ # build the image using the WKS file
+ cmd = "wic create %s -e %s -o %s" % (
+ wks.name, img, self.resultdir)
+ runCmd(cmd)
+ wksname = os.path.splitext(os.path.basename(wks.name))[0]
+ out = glob(os.path.join(
+ self.resultdir, "%s-*.direct" % wksname))
+ self.assertEqual(1, len(out))
+ sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
+ # extract the content of the disk image to the temporary directory
+ cmd = "wic cp %s:1 %s -n %s" % (out[0], tmpdir, sysroot)
+ runCmd(cmd)
+ # check if the kernel is installed or not
+ kimgtype = get_bb_var('KERNEL_IMAGETYPE', img)
+ for file in os.listdir(tmpdir):
+ if file == kimgtype:
+ raise AssertionError(
+ "The kernel image '{}' was found in the partition".format(kimgtype)
+ )
+
+ def test_kernel_install(self):
+ """Test the installation of the kernel to the boot directory in the wic plugin"""
+ # create a temporary file for the WKS content
+ with NamedTemporaryFile("w", suffix=".wks") as wks:
+ wks.write(
+ 'part --source bootimg-efi '
+ '--sourceparams="loader=grub-efi,install-kernel-into-boot-dir=true" '
+ '--label boot --active\n'
+ )
+ wks.flush()
+ # create a temporary directory to extract the disk image to
+ with TemporaryDirectory() as tmpdir:
+ img = 'core-image-minimal'
+ # build the image using the WKS file
+ cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir)
+ runCmd(cmd)
+ wksname = os.path.splitext(os.path.basename(wks.name))[0]
+ out = glob(os.path.join(self.resultdir, "%s-*.direct" % wksname))
+ self.assertEqual(1, len(out))
+ sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
+ # extract the content of the disk image to the temporary directory
+ cmd = "wic cp %s:1 %s -n %s" % (out[0], tmpdir, sysroot)
+ runCmd(cmd)
+ # check if the kernel is installed or not
+ kimgtype = get_bb_var('KERNEL_IMAGETYPE', img)
+ found = False
+ for file in os.listdir(tmpdir):
+ if file == kimgtype:
+ found = True
+ break
+ self.assertTrue(
+ found, "The kernel image '{}' was not found in the boot partition".format(kimgtype)
+ )
+
def test_build_image_name(self):
"""Test wic create wictestdisk --image-name=core-image-minimal"""
cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir
@@ -748,6 +816,30 @@
os.remove(wks_file)
+ def test_partition_hidden_attributes(self):
+ """Test --hidden wks option."""
+ wks_file = 'temp.wks'
+ sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
+ try:
+ with open(wks_file, 'w') as wks:
+ wks.write("""
+part / --source rootfs --fstype=ext4
+part / --source rootfs --fstype=ext4 --hidden
+bootloader --ptable gpt""")
+
+ runCmd("wic create %s -e core-image-minimal -o %s" \
+ % (wks_file, self.resultdir))
+ wicout = os.path.join(self.resultdir, "*.direct")
+
+ result = runCmd("%s/usr/sbin/sfdisk --part-attrs %s 1" % (sysroot, wicout))
+ self.assertEqual('', result.output)
+ result = runCmd("%s/usr/sbin/sfdisk --part-attrs %s 2" % (sysroot, wicout))
+ self.assertEqual('RequiredPartition', result.output)
+
+ finally:
+ os.remove(wks_file)
+
+
class Wic2(WicTestCase):
def test_bmap_short(self):
diff --git a/poky/meta/lib/patchtest/tests/test_patch.py b/poky/meta/lib/patchtest/tests/test_patch.py
index 65d0f93..d7187a0 100644
--- a/poky/meta/lib/patchtest/tests/test_patch.py
+++ b/poky/meta/lib/patchtest/tests/test_patch.py
@@ -6,6 +6,7 @@
#
import base
+import os
import parse_signed_off_by
import parse_upstream_status
import pyparsing
@@ -87,7 +88,7 @@
if TestPatch.prog.search_string(payload):
break
else:
- self.fail('A patch file has been added without a Signed-off-by tag. Sign off the added patch file (%s)' % newpatch.path)
+ self.fail('A patch file has been added without a Signed-off-by tag: \'%s\'' % os.path.basename(newpatch.path))
def test_cve_tag_format(self):
for commit in TestPatch.commits:
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.19.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.20.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.19.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.20.bb
index 8124c5c..187685e 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.19.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.20.bb
@@ -20,7 +20,7 @@
file://0001-avoid-start-failure-with-bind-user.patch \
"
-SRC_URI[sha256sum] = "115e09c05439bebade1d272eda08fa88eb3b60129edef690588c87a4d27612cc"
+SRC_URI[sha256sum] = "4b891ebf58d3f2a7ac3dd2682990f528a3448eaa1c992ddc5c141b8587a98ec5"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index e10158a..a23e4e5 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -55,6 +55,7 @@
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0001-test-gatt-Fix-hung-issue.patch \
file://0004-src-shared-util.c-include-linux-limits.h.patch \
+ file://0002-input-Fix-.device_probe-failing-if-SDP-record-is-not.patch \
"
S = "${WORKDIR}/bluez-${PV}"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0002-input-Fix-.device_probe-failing-if-SDP-record-is-not.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0002-input-Fix-.device_probe-failing-if-SDP-record-is-not.patch
new file mode 100644
index 0000000..d088433
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0002-input-Fix-.device_probe-failing-if-SDP-record-is-not.patch
@@ -0,0 +1,313 @@
+From 3a9c637010f8dc1ba3e8382abe01065761d4f5bb Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Date: Tue, 10 Oct 2023 12:38:29 -0700
+Subject: [PATCH 02/40] input: Fix .device_probe failing if SDP record is not
+ found
+
+Due to changes introduced by 67a26abe53bf
+("profile: Add probe_on_discover flag") profiles may get probed when
+their profile UUID are discovered, rather than resolved, which means
+the SDP record may not be available.
+
+Fixes: https://github.com/bluez/bluez/issues/614
+
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/3a9c637010f8dc1ba3e8382abe01065761d4f5bb]
+---
+ profiles/input/device.c | 182 +++++++++++++++++++---------------------
+ 1 file changed, 84 insertions(+), 98 deletions(-)
+
+diff --git a/profiles/input/device.c b/profiles/input/device.c
+index e2ac6ea60..4a50ea992 100644
+--- a/profiles/input/device.c
++++ b/profiles/input/device.c
+@@ -60,7 +60,7 @@ struct input_device {
+ char *path;
+ bdaddr_t src;
+ bdaddr_t dst;
+- uint32_t handle;
++ const sdp_record_t *rec;
+ GIOChannel *ctrl_io;
+ GIOChannel *intr_io;
+ guint ctrl_watch;
+@@ -754,7 +754,8 @@ static void epox_endian_quirk(unsigned char *data, int size)
+ }
+ }
+
+-static int create_hid_dev_name(sdp_record_t *rec, struct hidp_connadd_req *req)
++static int create_hid_dev_name(const sdp_record_t *rec,
++ struct hidp_connadd_req *req)
+ {
+ char sdesc[sizeof(req->name) / 2];
+
+@@ -776,7 +777,7 @@ static int create_hid_dev_name(sdp_record_t *rec, struct hidp_connadd_req *req)
+
+ /* See HID profile specification v1.0, "7.11.6 HIDDescriptorList" for details
+ * on the attribute format. */
+-static int extract_hid_desc_data(sdp_record_t *rec,
++static int extract_hid_desc_data(const sdp_record_t *rec,
+ struct hidp_connadd_req *req)
+ {
+ sdp_data_t *d;
+@@ -817,36 +818,40 @@ invalid_desc:
+ return -EINVAL;
+ }
+
+-static int extract_hid_record(sdp_record_t *rec, struct hidp_connadd_req *req)
++static int extract_hid_record(struct input_device *idev,
++ struct hidp_connadd_req *req)
+ {
+ sdp_data_t *pdlist;
+ uint8_t attr_val;
+ int err;
+
+- err = create_hid_dev_name(rec, req);
++ if (!idev->rec)
++ return -ENOENT;
++
++ err = create_hid_dev_name(idev->rec, req);
+ if (err < 0)
+ DBG("No valid Service Name or Service Description found");
+
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_PARSER_VERSION);
++ pdlist = sdp_data_get(idev->rec, SDP_ATTR_HID_PARSER_VERSION);
+ req->parser = pdlist ? pdlist->val.uint16 : 0x0100;
+
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_DEVICE_SUBCLASS);
++ pdlist = sdp_data_get(idev->rec, SDP_ATTR_HID_DEVICE_SUBCLASS);
+ req->subclass = pdlist ? pdlist->val.uint8 : 0;
+
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE);
++ pdlist = sdp_data_get(idev->rec, SDP_ATTR_HID_COUNTRY_CODE);
+ req->country = pdlist ? pdlist->val.uint8 : 0;
+
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_VIRTUAL_CABLE);
++ pdlist = sdp_data_get(idev->rec, SDP_ATTR_HID_VIRTUAL_CABLE);
+ attr_val = pdlist ? pdlist->val.uint8 : 0;
+ if (attr_val)
+ req->flags |= (1 << HIDP_VIRTUAL_CABLE_UNPLUG);
+
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_BOOT_DEVICE);
++ pdlist = sdp_data_get(idev->rec, SDP_ATTR_HID_BOOT_DEVICE);
+ attr_val = pdlist ? pdlist->val.uint8 : 0;
+ if (attr_val)
+ req->flags |= (1 << HIDP_BOOT_PROTOCOL_MODE);
+
+- err = extract_hid_desc_data(rec, req);
++ err = extract_hid_desc_data(idev->rec, req);
+ if (err < 0)
+ return err;
+
+@@ -1035,11 +1040,6 @@ static gboolean encrypt_notify(GIOChannel *io, GIOCondition condition,
+ static int hidp_add_connection(struct input_device *idev)
+ {
+ struct hidp_connadd_req *req;
+- sdp_record_t *rec;
+- char src_addr[18], dst_addr[18];
+- char filename[PATH_MAX];
+- GKeyFile *key_file;
+- char handle[11], *str;
+ GError *gerr = NULL;
+ int err;
+
+@@ -1049,33 +1049,7 @@ static int hidp_add_connection(struct input_device *idev)
+ req->flags = 0;
+ req->idle_to = idle_timeout;
+
+- ba2str(&idev->src, src_addr);
+- ba2str(&idev->dst, dst_addr);
+-
+- snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", src_addr,
+- dst_addr);
+- sprintf(handle, "0x%8.8X", idev->handle);
+-
+- key_file = g_key_file_new();
+- if (!g_key_file_load_from_file(key_file, filename, 0, &gerr)) {
+- error("Unable to load key file from %s: (%s)", filename,
+- gerr->message);
+- g_clear_error(&gerr);
+- }
+- str = g_key_file_get_string(key_file, "ServiceRecords", handle, NULL);
+- g_key_file_free(key_file);
+-
+- if (!str) {
+- error("Rejected connection from unknown device %s", dst_addr);
+- err = -EPERM;
+- goto cleanup;
+- }
+-
+- rec = record_from_string(str);
+- g_free(str);
+-
+- err = extract_hid_record(rec, req);
+- sdp_record_free(rec);
++ err = extract_hid_record(idev, req);
+ if (err < 0) {
+ error("Could not parse HID SDP record: %s (%d)", strerror(-err),
+ -err);
+@@ -1091,7 +1065,7 @@ static int hidp_add_connection(struct input_device *idev)
+
+ /* Make sure the device is bonded if required */
+ if (classic_bonded_only && !input_device_bonded(idev)) {
+- error("Rejected connection from !bonded device %s", dst_addr);
++ error("Rejected connection from !bonded device %s", idev->path);
+ goto cleanup;
+ }
+
+@@ -1161,6 +1135,68 @@ static int connection_disconnect(struct input_device *idev, uint32_t flags)
+ return ioctl_disconnect(idev, flags);
+ }
+
++static bool is_device_sdp_disable(const sdp_record_t *rec)
++{
++ sdp_data_t *data;
++
++ data = sdp_data_get(rec, SDP_ATTR_HID_SDP_DISABLE);
++
++ return data && data->val.uint8;
++}
++
++static enum reconnect_mode_t hid_reconnection_mode(bool reconnect_initiate,
++ bool normally_connectable)
++{
++ if (!reconnect_initiate && !normally_connectable)
++ return RECONNECT_NONE;
++ else if (!reconnect_initiate && normally_connectable)
++ return RECONNECT_HOST;
++ else if (reconnect_initiate && !normally_connectable)
++ return RECONNECT_DEVICE;
++ else /* (reconnect_initiate && normally_connectable) */
++ return RECONNECT_ANY;
++}
++
++static void extract_hid_props(struct input_device *idev,
++ const sdp_record_t *rec)
++{
++ /* Extract HID connectability */
++ bool reconnect_initiate, normally_connectable;
++ sdp_data_t *pdlist;
++
++ /* HIDNormallyConnectable is optional and assumed FALSE if not
++ * present.
++ */
++ pdlist = sdp_data_get(rec, SDP_ATTR_HID_RECONNECT_INITIATE);
++ reconnect_initiate = pdlist ? pdlist->val.uint8 : TRUE;
++
++ pdlist = sdp_data_get(rec, SDP_ATTR_HID_NORMALLY_CONNECTABLE);
++ normally_connectable = pdlist ? pdlist->val.uint8 : FALSE;
++
++ /* Update local values */
++ idev->reconnect_mode =
++ hid_reconnection_mode(reconnect_initiate, normally_connectable);
++}
++
++static void input_device_update_rec(struct input_device *idev)
++{
++ struct btd_profile *p = btd_service_get_profile(idev->service);
++ const sdp_record_t *rec;
++
++ rec = btd_device_get_record(idev->device, p->remote_uuid);
++ if (!rec || idev->rec == rec)
++ return;
++
++ idev->rec = rec;
++ idev->disable_sdp = is_device_sdp_disable(rec);
++
++ /* Initialize device properties */
++ extract_hid_props(idev, rec);
++
++ if (idev->disable_sdp)
++ device_set_refresh_discovery(idev->device, false);
++}
++
+ static int input_device_connected(struct input_device *idev)
+ {
+ int err;
+@@ -1168,6 +1204,9 @@ static int input_device_connected(struct input_device *idev)
+ if (idev->intr_io == NULL || idev->ctrl_io == NULL)
+ return -ENOTCONN;
+
++ /* Attempt to update SDP record if it had changed */
++ input_device_update_rec(idev);
++
+ err = hidp_add_connection(idev);
+ if (err < 0)
+ return err;
+@@ -1411,74 +1450,21 @@ int input_device_disconnect(struct btd_service *service)
+ return 0;
+ }
+
+-static bool is_device_sdp_disable(const sdp_record_t *rec)
+-{
+- sdp_data_t *data;
+-
+- data = sdp_data_get(rec, SDP_ATTR_HID_SDP_DISABLE);
+-
+- return data && data->val.uint8;
+-}
+-
+-static enum reconnect_mode_t hid_reconnection_mode(bool reconnect_initiate,
+- bool normally_connectable)
+-{
+- if (!reconnect_initiate && !normally_connectable)
+- return RECONNECT_NONE;
+- else if (!reconnect_initiate && normally_connectable)
+- return RECONNECT_HOST;
+- else if (reconnect_initiate && !normally_connectable)
+- return RECONNECT_DEVICE;
+- else /* (reconnect_initiate && normally_connectable) */
+- return RECONNECT_ANY;
+-}
+-
+-static void extract_hid_props(struct input_device *idev,
+- const sdp_record_t *rec)
+-{
+- /* Extract HID connectability */
+- bool reconnect_initiate, normally_connectable;
+- sdp_data_t *pdlist;
+-
+- /* HIDNormallyConnectable is optional and assumed FALSE
+- * if not present. */
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_RECONNECT_INITIATE);
+- reconnect_initiate = pdlist ? pdlist->val.uint8 : TRUE;
+-
+- pdlist = sdp_data_get(rec, SDP_ATTR_HID_NORMALLY_CONNECTABLE);
+- normally_connectable = pdlist ? pdlist->val.uint8 : FALSE;
+-
+- /* Update local values */
+- idev->reconnect_mode =
+- hid_reconnection_mode(reconnect_initiate, normally_connectable);
+-}
+-
+ static struct input_device *input_device_new(struct btd_service *service)
+ {
+ struct btd_device *device = btd_service_get_device(service);
+- struct btd_profile *p = btd_service_get_profile(service);
+ const char *path = device_get_path(device);
+- const sdp_record_t *rec = btd_device_get_record(device, p->remote_uuid);
+ struct btd_adapter *adapter = device_get_adapter(device);
+ struct input_device *idev;
+
+- if (!rec)
+- return NULL;
+-
+ idev = g_new0(struct input_device, 1);
+ bacpy(&idev->src, btd_adapter_get_address(adapter));
+ bacpy(&idev->dst, device_get_address(device));
+ idev->service = btd_service_ref(service);
+ idev->device = btd_device_ref(device);
+ idev->path = g_strdup(path);
+- idev->handle = rec->handle;
+- idev->disable_sdp = is_device_sdp_disable(rec);
+-
+- /* Initialize device properties */
+- extract_hid_props(idev, rec);
+
+- if (idev->disable_sdp)
+- device_set_refresh_discovery(device, false);
++ input_device_update_rec(idev);
+
+ return idev;
+ }
+--
+2.42.0
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_2.1.bb b/poky/meta/recipes-connectivity/ofono/ofono_2.2.bb
similarity index 95%
rename from poky/meta/recipes-connectivity/ofono/ofono_2.1.bb
rename to poky/meta/recipes-connectivity/ofono/ofono_2.2.bb
index 0ecac9e..4e60f19 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono_2.1.bb
+++ b/poky/meta/recipes-connectivity/ofono/ofono_2.2.bb
@@ -13,7 +13,7 @@
file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \
"
-SRC_URI[sha256sum] = "92913dcce9a15cac2174daca249457716a0ec036878d22035e83af0e19e79c52"
+SRC_URI[sha256sum] = "5e13121c0f885a81ad882db065549ea13477abbcc219f150b38a8d2ac92521de"
inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-Link-libatomic-on-riscv32.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-Link-libatomic-on-riscv32.patch
deleted file mode 100644
index 2c54d8f..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/0001-Link-libatomic-on-riscv32.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 73266b8573c71e6720453c4c5a9e6e8fa4daec65 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 21 Oct 2023 13:03:52 -0700
-Subject: [PATCH] Link libatomic on riscv32
-
-GCC toolchains on linux are not able to build libcrypto without linking
-to libatomic as it does not have all needed atomics implemented as
-intrinsics
-
-Fixes errors like
-
-| ld: ./libcrypto.so: undefined reference to `__atomic_is_lock_free'
-
-Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/22460]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Configurations/10-main.conf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
-index 46094f59c2..d1a15a1152 100644
---- a/Configurations/10-main.conf
-+++ b/Configurations/10-main.conf
-@@ -816,7 +816,7 @@ my %targets = (
- },
-
- "linux32-riscv32" => {
-- inherit_from => [ "linux-generic32"],
-+ inherit_from => [ "linux-latomic" ],
- perlasm_scheme => "linux32",
- asm_arch => 'riscv32',
- },
---
-2.42.0
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch b/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch
deleted file mode 100644
index 78dcd81..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/fix_random_labels.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-The perl script adds random suffixes to the local function names to ensure
-it doesn't clash with other parts of openssl. Set the random number seed
-to something predictable so the assembler files are generated consistently
-and our own reproducible builds tests pass.
-
-Upstream-Status: Pending
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl
-===================================================================
---- openssl-3.1.0.orig/crypto/modes/asm/aes-gcm-avx512.pl
-+++ openssl-3.1.0/crypto/modes/asm/aes-gcm-avx512.pl
-@@ -191,6 +191,9 @@ my $CTX_OFFSET_HTable = (16 * 6);
- # ;;; Helper functions
- # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-+# Ensure the local labels are reproduicble
-+srand(10000);
-+
- # ; Generates "random" local labels
- sub random_string() {
- my @chars = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '_');
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.1.4.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/openssl/openssl_3.1.4.bb
rename to poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
index c6c70a1..ab0562b 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.1.4.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
@@ -11,8 +11,6 @@
file://run-ptest \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://0001-Configure-do-not-tweak-mips-cflags.patch \
- file://fix_random_labels.patch \
- file://0001-Link-libatomic-on-riscv32.patch \
file://0001-Added-handshake-history-reporting-when-test-fails.patch \
"
@@ -20,7 +18,7 @@
file://environment.d-openssl.sh \
"
-SRC_URI[sha256sum] = "840af5366ab9b522bde525826be3ef0fb0af81c6a9ebd84caa600fea1731eee3"
+SRC_URI[sha256sum] = "14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e"
inherit lib_package multilib_header multilib_script ptest perlnative manpages
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
diff --git a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
rename to poky/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb
index 09a0ab7..226cb7e 100644
--- a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
+++ b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb
@@ -15,7 +15,7 @@
file://0001-avoid-using-m-option-for-readlink.patch \
"
-SRCREV = "859209d573e7aec0e95d812c6b52444591a628d1"
+SRCREV = "86047276c80705c51859a19f0c472102e0822f34"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/busybox/busybox/musl.cfg b/poky/meta/recipes-core/busybox/busybox/musl.cfg
index 6fffc91..ba63def 100644
--- a/poky/meta/recipes-core/busybox/busybox/musl.cfg
+++ b/poky/meta/recipes-core/busybox/busybox/musl.cfg
@@ -7,5 +7,4 @@
# CONFIG_FEATURE_INETD_RPC is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_FEATURE_MOUNT_NFS is not set
-# CONFIG_FEATURE_UTMP is not set
diff --git a/poky/meta/recipes-core/ell/ell_0.59.bb b/poky/meta/recipes-core/ell/ell_0.60.bb
similarity index 89%
rename from poky/meta/recipes-core/ell/ell_0.59.bb
rename to poky/meta/recipes-core/ell/ell_0.60.bb
index 0483dbe..4e414f3 100644
--- a/poky/meta/recipes-core/ell/ell_0.59.bb
+++ b/poky/meta/recipes-core/ell/ell_0.60.bb
@@ -15,7 +15,7 @@
inherit autotools pkgconfig
SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "370dc2b7c73cd57856017180a2a70a15ca1b0183bfd453b3cffe2d707c37da3d"
+SRC_URI[sha256sum] = "61cec2df694b548e51afa3e7ffd1e1ad31a9fea7bedb93a3a3cc60894390c70f"
do_configure:prepend () {
mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.bb b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.3.bb
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.bb
rename to poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.3.bb
diff --git a/poky/meta/recipes-core/gettext/gettext-sources.inc b/poky/meta/recipes-core/gettext/gettext-sources.inc
index b4fb647..31dabfc 100644
--- a/poky/meta/recipes-core/gettext/gettext-sources.inc
+++ b/poky/meta/recipes-core/gettext/gettext-sources.inc
@@ -1,4 +1,4 @@
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
"
-SRC_URI[sha256sum] = "49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab"
+SRC_URI[sha256sum] = "839a260b2314ba66274dae7d245ec19fce190a3aa67869bf31354cb558df42c7"
diff --git a/poky/meta/recipes-core/gettext/gettext_0.22.bb b/poky/meta/recipes-core/gettext/gettext_0.22.3.bb
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext_0.22.bb
rename to poky/meta/recipes-core/gettext/gettext_0.22.3.bb
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index cec06b2..fbf3a39 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -113,6 +113,11 @@
mkdir -p ${D}${libdir}/gio/modules
}
+do_install:append:class-native () {
+ # Link gio-querymodules into ${bindir} as otherwise tools like meson won't find it
+ ln -rs ${D}${libexecdir}/gio-querymodules ${D}${bindir}
+}
+
do_install:append:class-target () {
# Tests are only installed on targets, not native builds. Separating this out
# keeps glib-2.0-native from depending on DISTRO_FEATURES
diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc
index 19b98bc..ccf9d50 100644
--- a/poky/meta/recipes-core/glibc/glibc-version.inc
+++ b/poky/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.38/master"
PV = "2.38+git"
-SRCREV_glibc ?= "750a45a783906a19591fb8ff6b7841470f1f5701"
+SRCREV_glibc ?= "1e04dcec491bd8f48b5b74ce3e8414132578a645"
SRCREV_localedef ?= "e0eca29583b9e0f62645c4316ced93cf4e4e26e1"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
diff --git a/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
index 1c08c7f..7bb0b27 100644
--- a/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
+++ b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
@@ -17,6 +17,9 @@
# Do not pollute the initrd image with rootfs features
IMAGE_FEATURES = ""
+# Don't allow the initramfs to contain a kernel
+PACKAGE_EXCLUDE = "kernel-image-*"
+
export IMAGE_BASENAME = "${MLPREFIX}core-image-minimal-initramfs"
IMAGE_NAME_SUFFIX ?= ""
IMAGE_LINGUAS = ""
diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.65.2.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.66.bb
similarity index 96%
rename from poky/meta/recipes-core/initscripts/init-system-helpers_1.65.2.bb
rename to poky/meta/recipes-core/initscripts/init-system-helpers_1.66.bb
index 1fc23ac..64e08aa 100644
--- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.65.2.bb
+++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.66.bb
@@ -16,7 +16,7 @@
LICENSE = "BSD-3-Clause & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae"
-SRCREV = "2f446b69db728b2bda68270a9b81de88102e1fdd"
+SRCREV = "a5439f465dc1d1d4e12329208dc321fb806009f4"
SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)"
diff --git a/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb b/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
index d0321f1..9ab8dc6 100644
--- a/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -26,8 +26,8 @@
# Use a negative value to skip the update
CVE_DB_UPDATE_INTERVAL ?= "86400"
-# Timeout for blocking socket operations, such as the connection attempt.
-CVE_SOCKET_TIMEOUT ?= "60"
+# Number of attmepts for each http query to nvd server before giving up
+CVE_DB_UPDATE_ATTEMPTS ?= "5"
CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db"
@@ -114,7 +114,7 @@
if os.path.exists(db_tmp_file):
os.remove(db_tmp_file)
-def nvd_request_next(url, api_key, args):
+def nvd_request_next(url, attempts, api_key, args):
"""
Request next part of the NVD dabase
"""
@@ -130,7 +130,7 @@
request.add_header("apiKey", api_key)
bb.note("Requesting %s" % request.full_url)
- for attempt in range(5):
+ for attempt in range(attempts):
try:
r = urllib.request.urlopen(request)
@@ -186,10 +186,11 @@
index = 0
url = d.getVar("NVDCVE_URL")
api_key = d.getVar("NVDCVE_API_KEY") or None
+ attempts = int(d.getVar("CVE_DB_UPDATE_ATTEMPTS"))
while True:
req_args['startIndex'] = index
- raw_data = nvd_request_next(url, api_key, req_args)
+ raw_data = nvd_request_next(url, attempts, api_key, req_args)
if raw_data is None:
# We haven't managed to download data
return False
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_254.4.bb b/poky/meta/recipes-core/systemd/systemd-boot_254.4.bb
index 4ee25ee..2b43ccf 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_254.4.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_254.4.bb
@@ -8,6 +8,10 @@
inherit meson pkgconfig gettext
inherit deploy
+SRC_URI += " \
+ file://0030-meson-Pass-all-static-pie-args-to-linker.patch \
+ "
+
LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
EFI_LD = "bfd"
diff --git a/poky/meta/recipes-core/systemd/systemd-compat-units.bb b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
index 253bc9f..c03d97f 100644
--- a/poky/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -27,7 +27,8 @@
pkg_postinst:${PN} () {
- cd $D${sysconfdir}/init.d || exit 0
+ test -d $D${sysconfdir}/init.d || exit 0
+ cd $D${sysconfdir}/init.d
echo "Disabling the following sysv scripts: "
diff --git a/poky/meta/recipes-core/systemd/systemd/0030-meson-Pass-all-static-pie-args-to-linker.patch b/poky/meta/recipes-core/systemd/systemd/0030-meson-Pass-all-static-pie-args-to-linker.patch
new file mode 100644
index 0000000..8e56323
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0030-meson-Pass-all-static-pie-args-to-linker.patch
@@ -0,0 +1,35 @@
+From f85a387a67900b02c69abccb88c2ef7191c67277 Mon Sep 17 00:00:00 2001
+From: Jan Janssen <medhefgo@web.de>
+Date: Sun, 1 Oct 2023 09:55:48 +0200
+Subject: [PATCH] meson: Pass all -static-pie args to linker
+
+Fixes: #29381
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/cecbb162a3134b43d2ca160e13198c73ff34c3ef]
+Signed-off-by: Viswanath Kraleti <quic_vkraleti@quicinc.com>
+---
+ src/boot/efi/meson.build | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 2773eaf286..9a60a57329 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -161,9 +161,14 @@ efi_c_ld_args = [
+ '-Wl,--entry=efi_main',
+ '-Wl,--fatal-warnings',
+
+- # These flags should be passed by -static-pie, but seem to be missing sometimes.
+- '-Wl,--no-dynamic-linker',
+- '-z', 'text',
++ # These flags should be passed by -static-pie, but for whatever reason the flag translation
++ # is not enabled on all architectures. Not passing `-static` would just allow the linker to
++ # use dynamic libraries, (which we can't/don't use anyway). But if `-pie` is missing and the
++ # gcc build does not default to `-pie` we get a regular (no-pie) binary that will be
++ # rightfully rejected by elf2efi. Note that meson also passes `-pie` to the linker driver,
++ # but it is overridden by our `-static-pie`. We also need to pass these directly to the
++ # linker as `-static`+`-pie` seem to get translated differently.
++ '-Wl,-static,-pie,--no-dynamic-linker,-z,text',
+
+ # EFI has 4KiB pages.
+ '-z', 'common-page-size=4096',
diff --git a/poky/meta/recipes-core/systemd/systemd_254.4.bb b/poky/meta/recipes-core/systemd/systemd_254.4.bb
index ecf693e..4d68a32 100644
--- a/poky/meta/recipes-core/systemd/systemd_254.4.bb
+++ b/poky/meta/recipes-core/systemd/systemd_254.4.bb
@@ -206,7 +206,7 @@
PACKAGECONFIG[sysext] = "-Dsysext=true, -Dsysext=false"
PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d"
-# When enabled use reproducble build timestamp if set as time epoch,
+# When enabled use reproducible build timestamp if set as time epoch,
# or build time if not. When disabled, time epoch is unset.
def build_epoch(d):
epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1"
diff --git a/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch b/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch
deleted file mode 100644
index 21fbf0f..0000000
--- a/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 45634cc0f09ea354be7efce2ae3d3fa8ffc181ec Mon Sep 17 00:00:00 2001
-From: Boian Bonev <bbonev@ipacct.com>
-Date: Fri, 11 Aug 2023 23:14:02 +0000
-Subject: [PATCH] Export dummies for
-
- - udev_device_has_current_tag
- - udev_device_get_current_tags_list_entry
-
-since the current eudev device database does not support the concept of
-current tags
-
-Upstream-Status: Submitted [https://github.com/eudev-project/eudev/pull/253]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/libudev/libudev-device.c | 11 +++++++++++
- src/libudev/libudev.h | 2 ++
- src/libudev/libudev.sym | 6 ++++++
- 3 files changed, 19 insertions(+)
-
-diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
-index ac67ce8..7d7a662 100644
---- a/src/libudev/libudev-device.c
-+++ b/src/libudev/libudev-device.c
-@@ -1819,6 +1819,12 @@ _public_ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_dev
- return udev_list_get_entry(&udev_device->tags_list);
- }
-
-+_public_ struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device)
-+{
-+ // TODO: eudev database does not support current tags
-+ return udev_device_get_tags_list_entry(udev_device);
-+}
-+
- /**
- * udev_device_has_tag:
- * @udev_device: udev device
-@@ -1842,6 +1848,11 @@ _public_ int udev_device_has_tag(struct udev_device *udev_device, const char *ta
- return false;
- }
-
-+_public_ int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag) {
-+ // TODO: eudev database does not support current tags
-+ return udev_device_has_tag(udev_device, tag);
-+}
-+
- #define ENVP_SIZE 128
- #define MONITOR_BUF_SIZE 4096
- static int update_envp_monitor_buf(struct udev_device *udev_device)
-diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
-index 8491d2b..0202964 100644
---- a/src/libudev/libudev.h
-+++ b/src/libudev/libudev.h
-@@ -100,6 +100,7 @@ int udev_device_get_is_initialized(struct udev_device *udev_device);
- struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device);
- struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device);
- struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device);
-+struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device);
- struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device);
- const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key);
- const char *udev_device_get_driver(struct udev_device *udev_device);
-@@ -110,6 +111,7 @@ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device
- const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
- int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
- int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
-+int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag);
-
- /*
- * udev_monitor
-diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
-index 76726fc..d56c2ae 100644
---- a/src/libudev/libudev.sym
-+++ b/src/libudev/libudev.sym
-@@ -118,3 +118,9 @@ global:
- udev_queue_flush;
- udev_queue_get_fd;
- } LIBUDEV_199;
-+
-+LIBUDEV_247 {
-+global:
-+ udev_device_has_current_tag;
-+ udev_device_get_current_tags_list_entry;
-+} LIBUDEV_215;
diff --git a/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch b/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch
deleted file mode 100644
index 520cc38..0000000
--- a/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 7a66d4fe8aac8c8697c3cecb0c189e22524fbc98 Mon Sep 17 00:00:00 2001
-From: Boian Bonev <bbonev@ipacct.com>
-Date: Fri, 11 Aug 2023 22:08:27 +0000
-Subject: [PATCH] Bump udev version to 251
-
-Upstream-Status: Submitted [https://github.com/eudev-project/eudev/pull/253]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 3e31b0e..069fdfb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,6 +1,6 @@
- AC_PREREQ([2.68])
- AC_INIT([eudev],[3.2.12],[https://github.com/gentoo/eudev/issues])
--AC_SUBST(UDEV_VERSION, 243)
-+AC_SUBST(UDEV_VERSION, 251)
- AC_CONFIG_SRCDIR([src/udev/udevd.c])
-
- AC_USE_SYSTEM_EXTENSIONS
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.12.bb b/poky/meta/recipes-core/udev/eudev_3.2.14.bb
similarity index 93%
rename from poky/meta/recipes-core/udev/eudev_3.2.12.bb
rename to poky/meta/recipes-core/udev/eudev_3.2.14.bb
index e19c6c0..d075869 100644
--- a/poky/meta/recipes-core/udev/eudev_3.2.12.bb
+++ b/poky/meta/recipes-core/udev/eudev_3.2.14.bb
@@ -12,11 +12,9 @@
SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
file://init \
file://local.rules \
- file://0001-Export-dummies-for.patch \
- file://0002-Bump-udev-version-to-251.patch \
"
-SRC_URI[sha256sum] = "ccdd64ec3c381d3c3ed0e99d2e70d1f62988c7763de89ca7bdffafa5eacb9ad8"
+SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f"
GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases"
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch
deleted file mode 100644
index 3faf6f0..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5ffc09fca39de051537fbebd7c6c33d5255a520f Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 27 Mar 2023 18:10:36 -0700
-Subject: [PATCH 01/29] mention prototypes more prominently in NEWS
-
-* NEWS: Mention the function prototype issue early.
-(From a suggestion by Zack Weinberg.)
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/NEWS b/NEWS
-index cf01ee210..d64648c6f 100644
---- a/NEWS
-+++ b/NEWS
-@@ -4,6 +4,14 @@ GNU Autoconf NEWS - User visible changes.
-
- ** Backward incompatibilities
-
-+*** AC_CHECK_FUNC and similar macros now use function prototypes.
-+ AC_CHECK_FUNC and and similar macros now use C declarations with
-+ function prototypes, a feature introduced in C89. The new approach
-+ should work better with C23, which removed the non-prototyped K&R
-+ style that AC_CHECK_FUNC previously used. However, this change
-+ means Autoconf no longer supports pre-1989 C compilers, as they do
-+ not support function prototypes.
-+
- *** Autoconf now requires perl 5.10 (2007) or later.
- Generated 'configure' scripts continue to run without perl.
-
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch
deleted file mode 100644
index 35f324c..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From e2220ed33e69d8bc6504e3f6279894afe33a99a5 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 29 Mar 2023 12:59:09 -0700
-Subject: [PATCH 02/29] build: run "make fetch", which updated these:
-
-* build-aux/texinfo.tex: Update from texinfo.
-* lib/Autom4te/FileUtils.pm: Update from automake.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- build-aux/texinfo.tex | 50 +++++++++++++++++++++------------------
- lib/Autom4te/FileUtils.pm | 5 +++-
- 2 files changed, 31 insertions(+), 24 deletions(-)
-
-diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex
-index d25161109..55a002d27 100644
---- a/build-aux/texinfo.tex
-+++ b/build-aux/texinfo.tex
-@@ -3,7 +3,7 @@
- % Load plain if necessary, i.e., if running under initex.
- \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
- %
--\def\texinfoversion{2023-03-21.06}
-+\def\texinfoversion{2023-03-27.21}
- %
- % Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
- %
-@@ -1102,27 +1102,33 @@ where each line of input produces a line of output.}
-
- % Output page labels information.
- % See PDF reference v.1.7 p.594, section 8.3.1.
-+% Page label ranges must be increasing.
- \ifpdf
- \def\pagelabels{%
- \def\title{0 << /P (T-) /S /D >>}%
-- \edef\roman{\the\romancount << /S /r >>}%
-- \edef\arabic{\the\arabiccount << /S /D >>}%
- %
-- % Page label ranges must be increasing. Remove any duplicates.
-- % (There is a slight chance of this being wrong if e.g. there is
-- % a @contents but no @titlepage, etc.)
-- %
-- \ifnum\romancount=0 \def\roman{}\fi
-- \ifnum\arabiccount=0 \def\title{}%
-- \else
-- \ifnum\romancount=\arabiccount \def\roman{}\fi
-- \fi
-- %
-- \ifnum\romancount<\arabiccount
-- \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax
-+ % support @contents at very end of document
-+ \ifnum\contentsendcount=\pagecount
-+ \ifnum\arabiccount<\romancount
-+ \pdfcatalog{/PageLabels << /Nums
-+ [\title
-+ \the\arabiccount << /S /D >>
-+ \the\romancount << /S /r >>
-+ ] >> }\relax
-+ \fi
-+ % no contents in document
-+ \else\ifnum\contentsendcount=0
-+ \pdfcatalog{/PageLabels << /Nums
-+ [\title
-+ \the\arabiccount << /S /D >>
-+ ] >> }\relax
- \else
-- \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax
-- \fi
-+ \pdfcatalog{/PageLabels << /Nums
-+ [\title
-+ \the\romancount << /S /r >>
-+ \the\contentsendcount << /S /D >>
-+ ] >> }\relax
-+ \fi\fi
- }
- \else
- \let\pagelabels\relax
-@@ -1131,6 +1137,8 @@ where each line of input produces a line of output.}
- \newcount\pagecount \pagecount=0
- \newcount\romancount \romancount=0
- \newcount\arabiccount \arabiccount=0
-+\newcount\contentsendcount \contentsendcount=0
-+
- \ifpdf
- \let\ptxadvancepageno\advancepageno
- \def\advancepageno{%
-@@ -6809,12 +6817,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
- % Get ready to use Arabic numerals again
- \def\contentsendroman{%
- \lastnegativepageno = \pageno
-- \global\pageno = \savepageno
-- %
-- % If \romancount > \arabiccount, the contents are at the end of the
-- % document. Otherwise, advance where the Arabic numerals start for
-- % the page numbers.
-- \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi
-+ \global\pageno=1
-+ \contentsendcount = \pagecount
- }
-
- % Typeset the label for a chapter or appendix for the short contents.
-diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm
-index ab58b9de4..2468fe6d8 100644
---- a/lib/Autom4te/FileUtils.pm
-+++ b/lib/Autom4te/FileUtils.pm
-@@ -39,9 +39,12 @@ use strict;
- use warnings FATAL => 'all';
-
- use Exporter;
--use Time::HiRes qw(stat);
- use IO::File;
-
-+# use sub-second resolution timestamps if available,
-+# carry on with one-second resolution timestamps if that is all we have
-+BEGIN { eval { require Time::HiRes; import Time::HiRes qw(stat) } }
-+
- use Autom4te::Channels;
- use Autom4te::ChannelDefs;
-
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch
deleted file mode 100644
index 76c37a0..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From e05aa447945c0d72ad924fd89a28830cf1a0f8d3 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 31 Mar 2023 10:37:57 -0700
-Subject: [PATCH 03/29] * NEWS: Tighten up wording.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index d64648c6f..884e46f45 100644
---- a/NEWS
-+++ b/NEWS
-@@ -5,9 +5,7 @@ GNU Autoconf NEWS - User visible changes.
- ** Backward incompatibilities
-
- *** AC_CHECK_FUNC and similar macros now use function prototypes.
-- AC_CHECK_FUNC and and similar macros now use C declarations with
-- function prototypes, a feature introduced in C89. The new approach
-- should work better with C23, which removed the non-prototyped K&R
-+ This should work better with C23, which removed the non-prototyped K&R
- style that AC_CHECK_FUNC previously used. However, this change
- means Autoconf no longer supports pre-1989 C compilers, as they do
- not support function prototypes.
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch
deleted file mode 100644
index 1b30d99..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 232cab527897bcdf4d55492d41af73d31905bda5 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 31 Mar 2023 10:46:20 -0700
-Subject: [PATCH 04/29] Cater to programs misusing AC_EGREP_HEADER
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Frederic Berat in:
-https://lists.gnu.org/archive/html/autoconf/2022-11/msg00127.html
-* lib/autoconf/programs.m4 (AC_PROG_EGREP): Also set
-EGREP_TRADITIONAL and ac_cv_path_EGREP_TRADITIONAL.
-* tests/c.at (AC_PROG_EGREP and AC_EGREP_HEADER):
-New test, taken from Frederic Berat’s email in:
-https://lists.gnu.org/r/autoconf/2023-03/msg00043.html
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/programs.m4 | 10 ++++++++++
- tests/c.at | 24 ++++++++++++++++++++++++
- 2 files changed, 34 insertions(+)
-
-diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
-index 1b7460c85..62ba6b8b6 100644
---- a/lib/autoconf/programs.m4
-+++ b/lib/autoconf/programs.m4
-@@ -371,6 +371,16 @@ AC_CACHE_CHECK([for egrep], ac_cv_path_EGREP,
- fi])
- EGREP="$ac_cv_path_EGREP"
- AC_SUBST([EGREP])
-+ dnl
-+ dnl Also set EGREP_TRADITIONAL even though unnecessary here,
-+ dnl for wrong but too-common code with the following pattern:
-+ dnl AC_PROG_EGREP
-+ dnl if false; then
-+ dnl AC_EGREP_HEADER([printf], [stdio.h], [has_printf=yes])
-+ dnl fi
-+ dnl AC_EGREP_HEADER([malloc], [stdlib.h], [has_malloc=yes])
-+ EGREP_TRADITIONAL=$EGREP
-+ ac_cv_path_EGREP_TRADITIONAL=$EGREP
- ])# AC_PROG_EGREP
-
- # _AC_PROG_EGREP_TRADITIONAL
-diff --git a/tests/c.at b/tests/c.at
-index c37f43b10..fad54760f 100644
---- a/tests/c.at
-+++ b/tests/c.at
-@@ -232,6 +232,30 @@ AT_CHECK_DEFINES(
- AT_CLEANUP
-
-
-+## ----------------------------------- ##
-+## AC_PROG_EGREP and AC_EGREP_HEADER. ##
-+## ----------------------------------- ##
-+
-+AT_SETUP([AC_PROG_EGREP and AC_EGREP_HEADER])
-+
-+_AT_CHECK_AC_MACRO(
-+[[AC_PROG_CPP
-+ AC_PROG_EGREP
-+
-+ # Although this code is incorrect (it should use AS_IF),
-+ # it follows a too-common real world pattern.
-+ # For now, test for it; we may remove this test later.
-+ if false; then
-+ AC_EGREP_HEADER([^], [limits.h])
-+ fi
-+
-+ AC_EGREP_HEADER([$], [limits.h], [],
-+ [AC_MSG_ERROR([[egrep-related macros do not tolerate misuse of 'if']])])
-+]])
-+
-+AT_CLEANUP
-+
-+
- ## ------------------------------------ ##
- ## AC_NO_EXECUTABLES (working linker). ##
- ## ------------------------------------ ##
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch
deleted file mode 100644
index 53fb40b..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 713d9822bbfb2923115065efaefed34a0113f8a1 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sat, 1 Apr 2023 16:44:03 -0700
-Subject: [PATCH 06/29] Fix timing bug on high-speed builds
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Bogdan via Jacob Bachmeyer in:
-https://lists.gnu.org/r/autoconf/2023-04/msg00002.html
-* bin/autom4te.in: If a file timestamp equals a dependency’s
-timestamp, consider the file to be out of date. Although this may
-result in extra work, it fixes some rare timing bugs.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- bin/autom4te.in | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/bin/autom4te.in b/bin/autom4te.in
-index 4b61f0a82..71d7e6a62 100644
---- a/bin/autom4te.in
-+++ b/bin/autom4te.in
-@@ -910,10 +910,8 @@ sub up_to_date ($)
- return 0
- if ! -f $tfile || ! -f $ofile;
-
-- # The youngest of the cache files must be older than the oldest of
-+ # The younger of the cache files must be older than the oldest of
- # the dependencies.
-- # FIXME: These timestamps have only 1-second resolution.
-- # Time::HiRes fixes this, but assumes Perl 5.8 or later.
- my $tmtime = mtime ($tfile);
- my $omtime = mtime ($ofile);
- my ($file, $mtime) = ($tmtime < $omtime
-@@ -926,7 +924,7 @@ sub up_to_date ($)
- # We depend at least upon the arguments.
- foreach my $dep (@ARGV)
- {
-- if ($mtime < mtime ($dep))
-+ if ($mtime <= mtime ($dep))
- {
- verb "up_to_date ($file): outdated: $dep";
- return 0;
-@@ -949,7 +947,7 @@ sub up_to_date ($)
- # timestamp of that missing file was newer).
- return 0
- if ! $dep;
-- if ($mtime < mtime ($dep))
-+ if ($mtime <= mtime ($dep))
- {
- verb "up_to_date ($file): outdated: $dep";
- return 0;
-@@ -1038,7 +1036,7 @@ $icache_file = new Autom4te::XFile $icache, O_RDWR|O_CREAT;
- $icache_file->lock (LOCK_EX)
- if ($flock_implemented eq "yes");
-
--# Read the cache index if available and older than autom4te itself.
-+# Read the cache index if available and younger than autom4te itself.
- # If autom4te is younger, then some structures such as C4che might
- # have changed, which would corrupt its processing.
- Autom4te::C4che->load ($icache_file)
-@@ -1105,7 +1103,7 @@ else
- # Actual M4 expansion, if the user wants it, or if $output is old
- # (STDOUT is pretty old).
- handle_output ($req, $output)
-- if $force || mtime ($output) < mtime ($ocache . $req->id);
-+ if $force || mtime ($output) <= mtime ($ocache . $req->id);
- }
-
- # If we ran up to here, the cache is valid.
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch
deleted file mode 100644
index f9f9345..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 794182506c3c5814d48b2fc4d832770f608ce0ef Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sat, 1 Apr 2023 20:25:13 -0700
-Subject: [PATCH 07/29] Support underquoted callers better
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported bh Khem Raj for mcpp 2.7.2 (2008) in:
-https://lists.gnu.org/r/autoconf/2023-04/msg00001.html
-* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU):
-Add two ‘@%:@(’s to cater to underquoted callers.
-* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Use quadrigraph instead of
-‘#’, for underquoted callers.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/programs.m4 | 5 +++--
- lib/m4sugar/m4sh.m4 | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
-index 62ba6b8b6..d06d18c44 100644
---- a/lib/autoconf/programs.m4
-+++ b/lib/autoconf/programs.m4
-@@ -543,11 +543,12 @@ dnl # for best performing tool in a list breaks down.
- # ----------------------------------------------------------------
- m4_define([_AC_PATH_PROG_FLAVOR_GNU],
- [# Check for GNU $1
--case `"$1" --version 2>&1` in
-+case `"$1" --version 2>&1` in @%:@(
- *GNU*)
- $2;;
- m4_ifval([$3],
--[*)
-+[@%:@(
-+*)
- $3;;
- ])esac
- ])# _AC_PATH_PROG_FLAVOR_GNU
-diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
-index ab5ca7db7..368487fa0 100644
---- a/lib/m4sugar/m4sh.m4
-+++ b/lib/m4sugar/m4sh.m4
-@@ -1389,7 +1389,7 @@ m4_if([$1], m4_translit([[$1]], [:;]),
- for as_dir in $as_dummy])
- do
- IFS=$as_save_IFS
-- case $as_dir in #(((
-+ case $as_dir in @%:@(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch
deleted file mode 100644
index cec7dcd..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 8babe5f2ccb73cc574933743b381557a4db02424 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Thu, 30 Mar 2023 10:50:36 -0400
-Subject: [PATCH 08/29] New script for building inside Guix containers.
-
-build-aux/test-build-guix, goes with the top level manifest.scm.
-See the top of the file for usage instructions.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- build-aux/test-build-guix | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
- create mode 100755 build-aux/test-build-guix
-
-diff --git a/build-aux/test-build-guix b/build-aux/test-build-guix
-new file mode 100755
-index 000000000..4470af9b7
---- /dev/null
-+++ b/build-aux/test-build-guix
-@@ -0,0 +1,30 @@
-+#! /bin/sh
-+
-+# From a pristine Git checkout, run
-+# guix shell --container --manifest=manifest.scm -- build-aux/test-build-guix
-+# to perform a complete bootstrap and test build of Autoconf.
-+
-+set -ex
-+
-+# Guix bug? /bin/sh is usually *not* the shell specified in the manifest.
-+SHELL="$(command -v sh)"
-+export SHELL
-+if [ "$(realpath /bin/sh)" != "$(realpath "$SHELL")" ]; then
-+ (
-+ cd /bin
-+ rm sh
-+ ln -s "$SHELL" sh
-+ )
-+ exec "$SHELL" "$0" "$@"
-+fi
-+
-+./bootstrap
-+if [ -d _build ]; then
-+ rm -rf _build/*
-+else
-+ mkdir _build
-+fi
-+cd _build
-+../configure
-+make all info pdf dvi
-+make distcheck
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch
deleted file mode 100644
index c1c60dc..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From dcf9bb7e3b12f3bd74edff60e80b53e668159579 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 10:27:08 -0400
-Subject: [PATCH 09/29] AC_XENIX_DIR: Rewrite using AC_CANONICAL_HOST.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-AC_XENIX_DIR is an obsolete macro, defined as AC_HEADER_DIRENT plus
-code to make absolutely sure configure scripts that depended on a
-shell variable internal to the original (2.13 era) definition of
-AC_XENIX_DIR are not broken by autoupdate. (That variable had the
-temptingly public-sounding name “XENIX.”) This compatibility code
-uses AC_EGREP_CPP, which is itself discouraged for use in new
-configure scripts.
-
-(N.B. codesearch.debian.net does not find any uses whatsoever of
-this macro, nor any code in an .ac or .m4 file that depends on the
-XENIX variable.)
-
-Change the compatibility code to use AC_CANONICAL_HOST instead,
-and clarify which pieces of the code inserted by autoupdate are
-probably still necessary.
-
-* lib/autoconf/specific.m4 (AC_XENIX_DIR): Set XENIX variable
- based on value of host_os. Clarify what manual cleanup is
- recommended after autoupdate replaces this obsolete macro.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 26 +++++++++++---------------
- 1 file changed, 11 insertions(+), 15 deletions(-)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 1b3ee661b..a2dc5d488 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -754,9 +754,9 @@ dnl it should only be defined when necessary.
- ## Checks for UNIX variants. ##
- ## -------------------------- ##
-
--
--# These are kludges which should be replaced by a single POSIX check.
--# They aren't cached, to discourage their use.
-+# These macros are all obsolete, from the early days of Autoconf,
-+# before the invention of AC_CANONICAL_SYSTEM. Autoupdate will
-+# replace each with inline code for a more modern feature check.
-
- # AC_AIX
- # ------
-@@ -776,19 +776,15 @@ AU_DEFUN([AC_ISC_POSIX], [AC_SEARCH_LIBS([strerror], [cposix])])
- # AC_XENIX_DIR
- # ------------
- AU_DEFUN([AC_XENIX_DIR],
--[AC_MSG_CHECKING([for Xenix])
--AC_EGREP_CPP([yes],
--[#if defined M_XENIX && ! defined M_UNIX
-- yes
--@%:@endif],
-- [AC_MSG_RESULT([yes]); XENIX=yes],
-- [AC_MSG_RESULT([no]); XENIX=])
--
--AC_HEADER_DIRENT[]dnl
-+[AC_HEADER_DIRENT
-+# Autoupdate added the next two lines to ensure that your configure
-+# script's behavior did not change. They are safe to remove unless
-+# you have code that depends on the XENIX shell variable.
-+AC_CANONICAL_HOST
-+AS_CASE([$host_os], [xenix*], [XENIX=yes], [XENIX=no])
-+# End of code added by autoupdate
- ],
--[You shouldn't need to depend upon XENIX. Remove the
--'AC_MSG_CHECKING', 'AC_EGREP_CPP', and this warning if this part
--of the test is useless.])
-+[Check for code depending on the XENIX shell variable.])
-
-
- # AC_DYNIX_SEQ
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch
deleted file mode 100644
index 4932271..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 10:43:51 -0400
-Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for
-occurrences of the string ‘uid_t’ and, if found, assumes both
-uid_t and gid_t are available. This would be better done using
-a pair of AC_CHECK_TYPE operations.
-
-I also converted two uses of old-style AC_CHECK_TYPE, immediately
-below, to new-style. (There are probably other old-style uses in
-this file, I only did the ones I happened to see.)
-
-* lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t,
- separately, using AC_CHECK_TYPE, instead of grepping sys/types.h.
- (AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/types.m4 | 30 +++++++++++++++++-------------
- 1 file changed, 17 insertions(+), 13 deletions(-)
-
-diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
-index ebac0cf6d..ef2456135 100644
---- a/lib/autoconf/types.m4
-+++ b/lib/autoconf/types.m4
-@@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
-
- # AC_TYPE_UID_T
- # -------------
--# FIXME: Rewrite using AC_CHECK_TYPE.
- AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T])
- AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T])
- AC_DEFUN([AC_TYPE_UID_T],
--[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t,
--[AC_EGREP_HEADER(uid_t, sys/types.h,
-- ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)])
--if test $ac_cv_type_uid_t = no; then
-- AC_DEFINE(uid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
-- AC_DEFINE(gid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
--fi
--])
--
--
-+[AC_CHECK_TYPE([uid_t], [],
-+ [AC_DEFINE([uid_t], [int],
-+ [Define as 'int' if <sys/types.h> doesn't define.])])
-+AC_CHECK_TYPE([gid_t], [],
-+ [AC_DEFINE([gid_t], [int],
-+ [Define as 'int' if <sys/types.h> doesn't define.])])])
-+
-+# This should be obsoleted, size_t is in C90.
- AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T])
--AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)])
-+AC_DEFUN([AC_TYPE_SIZE_T],
-+[AC_CHECK_TYPE([size_t], [],
-+ [AC_DEFINE([size_t], [unsigned int],
-+ [Define as 'unsigned int' if <stddef.h> doesn't define.])])])
-
- AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T])
--AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)])
-+AC_DEFUN([AC_TYPE_SSIZE_T],
-+[AC_CHECK_TYPE([ssize_t], [],
-+ [AC_DEFINE([ssize_t], [int],
-+ [Define as 'int' if <sys/types.h> doesn't define.])])])
-+
-
- AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T])
- AC_DEFUN([AC_TYPE_PID_T],
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch
deleted file mode 100644
index 9c1f435..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 21:03:30 -0400
-Subject: [PATCH 11/29] Make AC_PROG_GCC_TRADITIONAL a compatibility alias for
- AC_PROG_CC.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This macro is one of the last remaining internal uses of AC_EGREP_CPP.
-It has only ever done anything useful with GCC, and GCC dropped
-support for ‘traditional’ compilation in version 3.3 (released 2003)
-so I do not think it is worth trying to preserve.
-
-* lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a
- compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC.
-* lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment.
-* doc/autoconf.texi, NEWS: Document this change.
-* tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from
- autoupdate tests.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 7 +++++++
- doc/autoconf.texi | 29 ++++++++++++++---------------
- lib/autoconf/c.m4 | 30 ++++++------------------------
- lib/autoconf/general.m4 | 2 --
- tests/mktests.pl | 2 +-
- 5 files changed, 28 insertions(+), 42 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 6a106f155..53c57ff59 100644
---- a/NEWS
-+++ b/NEWS
-@@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes.
- with plain apostrophes instead of the older GNU style `like this'
- with grave accent and apostrophe.
-
-+*** AC_PROG_GCC_TRADITIONAL no longer does anything.
-+
-+ This macro has had no useful effect since GCC dropped support for
-+ traditional-mode compilation in version 3.3 (released in 2003), and
-+ the systems that needed it are also long obsolete. It is now a
-+ compatibility synonym for AC_PROG_CC.
-+
- ** Notable bug fixes
-
- *** Autoconf caches now use finer-grained timestamps.
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index 8db64d8bb..037c8055f 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes.
- New programs need not use this macro.
- @end defmac
-
--@anchor{AC_PROG_GCC_TRADITIONAL}
--@defmac AC_PROG_GCC_TRADITIONAL
--@acindex{PROG_GCC_TRADITIONAL}
--@ovindex CC
--Add @option{-traditional} to output variable @code{CC} if using a
--GNU C compiler and @code{ioctl} does not work properly without
--@option{-traditional}. That usually happens when the fixed header files
--have not been installed on an old system.
--
--This macro is obsolescent, since current versions of the GNU C
--compiler fix the header files automatically when installed.
--@end defmac
--
--
- @node C++ Compiler
- @subsection C++ Compiler Characteristics
-
-@@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not
-
- @defmac AC_GCC_TRADITIONAL
- @acindex{GCC_TRADITIONAL}
--Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}).
-+Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}),
-+which is itself obsolete.
- @end defmac
-
- @defmac AC_GETGROUPS_T
-@@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
- Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
- @end defmac
-
-+@anchor{AC_PROG_GCC_TRADITIONAL}
-+@defmac AC_PROG_GCC_TRADITIONAL
-+@acindex{PROG_GCC_TRADITIONAL}
-+Used to put GCC into ``traditional'' (pre-ISO C) compilation mode,
-+on systems with headers that did not work correctly with a
-+standard-compliant compiler. GCC has not supported traditional
-+compilation in many years, and all of the systems that required this are
-+long obsolete themselves. This macro is now a compatibility synonym for
-+@code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
-+
-+@end defmac
-+
- @defmac AC_PROGRAMS_CHECK
- @acindex{PROGRAMS_CHECK}
- Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}).
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index fef6c516d..33648b5b9 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -551,30 +551,6 @@ fi[]dnl
- ])# _AC_PROG_CC_G
-
-
--# AC_PROG_GCC_TRADITIONAL
--# -----------------------
--AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
--[AC_REQUIRE([AC_PROG_CC])dnl
--if test $ac_cv_c_compiler_gnu = yes; then
-- AC_CACHE_CHECK(whether $CC needs -traditional,
-- ac_cv_prog_gcc_traditional,
--[ ac_pattern="Autoconf.*'x'"
-- AC_EGREP_CPP($ac_pattern, [#include <sgtty.h>
--Autoconf TIOCGETP],
-- ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no)
--
-- if test $ac_cv_prog_gcc_traditional = no; then
-- AC_EGREP_CPP($ac_pattern, [#include <termio.h>
--Autoconf TCGETA],
-- ac_cv_prog_gcc_traditional=yes)
-- fi])
-- if test $ac_cv_prog_gcc_traditional = yes; then
-- CC="$CC -traditional"
-- fi
--fi
--])# AC_PROG_GCC_TRADITIONAL
--
--
- # AC_PROG_CC_C_O
- # --------------
- AC_DEFUN([AC_PROG_CC_C_O],
-@@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC],
- [$0 is obsolete; use AC_PROG_CC]
- )
-
-+# AC_PROG_GCC_TRADITIONAL
-+# -----------------------
-+AU_DEFUN([AC_PROG_GCC_TRADITIONAL],
-+ [AC_REQUIRE([AC_PROG_CC])],
-+ [$0 is obsolete; use AC_PROG_CC]
-+)
-
- # AC_C_BACKSLASH_A
- # ----------------
-diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
-index ecda0a51c..47d896d54 100644
---- a/lib/autoconf/general.m4
-+++ b/lib/autoconf/general.m4
-@@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP],
- # AC_EGREP_CPP(PATTERN, PROGRAM,
- # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
- # ------------------------------------------------------
--# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must
--# come early, it is not included in AC_BEFORE checks.
- AC_DEFUN([AC_EGREP_CPP],
- [AC_LANG_PREPROC_REQUIRE()dnl
- AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl
-diff --git a/tests/mktests.pl b/tests/mktests.pl
-index effed0bca..81f63586c 100644
---- a/tests/mktests.pl
-+++ b/tests/mktests.pl
-@@ -112,7 +112,7 @@ my @ac_exclude_list = (
- # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these.
- my @au_exclude_list = (
- # Empty.
-- qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/,
-+ qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/,
-
- # Use AC_REQUIRE.
- qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/,
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch
deleted file mode 100644
index 4d28101..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch
+++ /dev/null
@@ -1,328 +0,0 @@
-From b5891a57b586ef6ff78bb752d62915b78cd58d7e Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 15:07:58 -0400
-Subject: [PATCH 12/29] Overhaul AC_TYPE_GETGROUPS and AC_FUNC_GETGROUPS.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-AC_TYPE_GETGROUPS is the last remaining use of AC_EGREP_HEADER in
-stock Autoconf macros. It uses it only when cross compiling, as a
-fallback from an AC_RUN_IFELSE check, testing for a bug in system
-headers from the late 1980s or early 1990s, where gid_t *existed*
-but the second argument to getgroups needed to be an array of int,
-and this didn’t cause a compile error (i.e. the system headers
-declare getgroups with no prototype or an incorrect prototype).
-AC_FUNC_GETGROUPS also uses AC_RUN_IFELSE to test for obscure
-problems specific to long-obsolete Unixes.
-
-The downsides of AC_RUN_IFELSE and AC_EGREP_HEADER seem more severe
-than the chances of someone compiling a current-generation program,
-that uses getgroups, on an OS old enough to have one of the really
-nasty bugs. Accordingly, this patch changes AC_FUNC_GETGROUPS to use
-a host_os-based *blacklist* both in native and cross compilation.
-This is limited to the two host_os values for which either our old
-code, or Gnulib, documented a serious bug: ultrix* and nextstep*.
-Currently it does not try to pin down the exact version ranges subject
-to the bugs — that would require research by someone with access to
-the full history of these OSes.
-
-An incorrect guess by this blacklist can be overridden by setting
-ac_cv_func_getgroups_works in config.site. AC_TYPE_GETGROUPS, for its
-part, now does a series of regular old AC_COMPILE_IFELSE checks to
-probe the prototype of getgroups, and considers that good enough.
-
-While I was in there I noticed that AC_FUNC_GETGROUPS does not
-AC_SUBST a documented output variable, and that the name of this
-variable is misspelled in the manual.
-
-* lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Use AC_SEARCH_LIBS
- to probe for getgroups. Use an AC_CANONICAL_HOST-based blacklist
- for bug detection, not AC_RUN_IFELSE. AC_SUBST the GETGROUPS_LIB
- output variable.
-* lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Check only the prototype
- of getgroups, using AC_COMPILE_IFELSE; do not use either AC_RUN_IFELSE
- or AC_EGREP_HEADER.
-* doc/autoconf.texi: Update to match. Correct misspelling of
- GETGROUPS_LIB.
-* tests.local.at (_AT_CHECK_ENV): Allow GETGROUPS_LIB output variable.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 11 +++++
- doc/autoconf.texi | 25 ++++++----
- lib/autoconf/functions.m4 | 61 ++++++++++++------------
- lib/autoconf/types.m4 | 97 ++++++++++++++++++++++++---------------
- tests/local.at | 2 +-
- 5 files changed, 120 insertions(+), 76 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 53c57ff59..8e4ecc1bf 100644
---- a/NEWS
-+++ b/NEWS
-@@ -38,6 +38,17 @@ GNU Autoconf NEWS - User visible changes.
- This matters only for uses that, contrary to the documentation
- and despite warnings, use m4_divert with numbered diversions.
-
-+*** AC_FUNC_GETGROUPS and AC_TYPE_GETGROUPS no longer run test programs.
-+ These macros were testing for OS bugs that we believe are at least
-+ twenty years in the past. Most operating systems are now trusted to
-+ provide an accurate prototype for getgroups in unistd.h, and to
-+ implement it as specified in POSIX.
-+
-+ AC_FUNC_GETGROUPS still includes a short blacklist of OSes with
-+ known, severe bugs in getgroups. It can be overridden using
-+ config.site. If you encounter a mistake in this blacklist
-+ please report it to bug-autoconf.
-+
- ** New features
-
- *** New macro AC_SYS_YEAR2038.
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index 037c8055f..5d5f613e6 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -5257,17 +5257,26 @@ and also contains workarounds for other portability problems of
- @defmac AC_FUNC_GETGROUPS
- @acindex{FUNC_GETGROUPS}
- @cvindex HAVE_GETGROUPS
--@ovindex GETGROUPS_LIBS
-+@ovindex GETGROUPS_LIB
- @c @fuindex getgroups
- @prindex @code{getgroups}
- @caindex func_getgroups_works
--If the @code{getgroups} function is available and works,
--define @code{HAVE_GETGROUPS}. Set @code{GETGROUPS_LIBS} to any libraries
--needed to get that function. This macro runs @code{AC_TYPE_GETGROUPS}.
--
--This macro is obsolescent. New programs need not use this macro. But
--they may want to use the Gnulib module @code{getgroups}, which provides
--workarounds to other portability problems of this function.
-+Perform all the checks performed by @code{AC_TYPE_GETGROUPS}
-+(@pxref{AC_TYPE_GETGROUPS}).
-+Then, if the @code{getgroups} function is available
-+and known to work correctly, define @code{HAVE_GETGROUPS}.
-+Set the output variable @code{GETGROUPS_LIB} to any libraries
-+needed to get that function.
-+
-+This macro relies on a list of systems with known, serious bugs in
-+@code{getgroups}. If this list mis-identifies your system's
-+@code{getgroups} as buggy, or as not buggy, you can override it by
-+setting the cache variable @code{ac_cv_func_getgroups_works} in a
-+@file{config.site} file (@pxref{Site Defaults}). Please also report the
-+error to @email{bug-autoconf@@gnu.org, the Autoconf Bugs mailing list}.
-+
-+The Gnulib module @code{getgroups} provides workarounds for additional,
-+less severe portability problems with this function.
- @end defmac
-
- @anchor{AC_FUNC_GETLOADAVG}
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 655d6ba8f..74512e97d 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -698,47 +698,46 @@ AS_IF([test "$ac_cv_func_fseeko_ftello" = "need _LARGEFILE_SOURCE"],
- # When cross-compiling, assume getgroups is broken.
- AN_FUNCTION([getgroups], [AC_FUNC_GETGROUPS])
- AC_DEFUN([AC_FUNC_GETGROUPS],
--[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
--AC_REQUIRE([AC_TYPE_SIZE_T])dnl
--AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
--AC_CHECK_FUNC(getgroups)
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
-
--# If we don't yet have getgroups, see if it's in -lbsd.
-+# On older systems getgroups might be in -lbsd.
- # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
- ac_save_LIBS=$LIBS
--if test $ac_cv_func_getgroups = no; then
-- AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
--fi
--
--# Run the program to test the functionality of the system-supplied
--# getgroups function only if there is such a function.
-+LIBS=
-+GETGROUPS_LIB=
-+AC_SEARCH_LIBS([getgroups], [bsd],
-+ [test "$ac_res" = "none required" || GETGROUPS_LIB="$ac_res"
-+ ac_cv_func_getgroups=yes],
-+ [ac_cv_func_getgroups=no])
-+LIBS=$ac_save_LIBS
-+AC_SUBST([GETGROUPS_LIB])
-+
-+# Known severe bugs in getgroups on particular systems.
-+# - On Ultrix 4.3 and NextSTEP 3.2, getgroups (0, 0) is reported to
-+# fail, rather than returning the number of supplementary groups as
-+# it ought to. We do not know the exact range of releases affected
-+# in either case.
-+# We currently reject all versions of the systems with known bugs, and
-+# no other systems. Please send corrections to bug-autoconf@gnu.org.
- if test $ac_cv_func_getgroups = yes; then
-+ # This AC_CACHE_CHECK exists so that one may override an incorrect
-+ # guess by setting ac_cv_func_getgroups_works in a config.site file.
- AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works,
-- [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
-- [[/* On Ultrix 4.3, getgroups (0, 0) always fails. */
-- return getgroups (0, 0) == -1;]])],
-- [ac_cv_func_getgroups_works=yes],
-- [ac_cv_func_getgroups_works=no],
-- [case "$host_os" in # ((
-- # Guess yes on glibc systems.
-- *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
-- # If we don't know, assume the worst.
-- *) ac_cv_func_getgroups_works="guessing no" ;;
-- esac])
-- ])
-+ [AS_CASE([$host_os],
-+ [ultrix* | nextstep*],
-+ [ac_cv_func_getgroups_works=no # getgroups(0,0) fails
-+],
-+ [ac_cv_func_getgroups_works=yes])])
- else
- ac_cv_func_getgroups_works=no
- fi
--case "$ac_cv_func_getgroups_works" in
-- *yes)
-- AC_DEFINE(HAVE_GETGROUPS, 1,
-- [Define to 1 if your system has a working 'getgroups' function.])
-- ;;
--esac
--LIBS=$ac_save_LIBS
-+if test $ac_cv_func_getgroups_works = yes; then
-+ AC_DEFINE(HAVE_GETGROUPS, 1,
-+ [Define to 1 if your system has a working 'getgroups' function.])
-+fi
- ])# AC_FUNC_GETGROUPS
-
--
- # _AC_LIBOBJ_GETLOADAVG
- # ---------------------
- # Set up the AC_LIBOBJ replacement of 'getloadavg'.
-diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
-index ef2456135..af3872b2f 100644
---- a/lib/autoconf/types.m4
-+++ b/lib/autoconf/types.m4
-@@ -258,44 +258,69 @@ AN_IDENTIFIER([ptrdiff_t], [AC_CHECK_TYPES])
- # AC_TYPE_GETGROUPS
- # -----------------
- AC_DEFUN([AC_TYPE_GETGROUPS],
-+dnl We now unconditionally assume that if <unistd.h> has a prototype for
-+dnl getgroups, it is accurate; and that if <unistd.h> does _not_ declare
-+dnl getgroups with a prototype, the second argument is an array of int.
-+dnl (Older versions of Autoconf made these assumptions only when cross
-+dnl compiling.) See AC_FUNC_GETGROUPS, over in functions.m4, for why
-+dnl this uses AC_COMPILE_IFELSE rather than AC_LINK_IFELSE.
- [AC_REQUIRE([AC_TYPE_UID_T])dnl
--AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups,
--[AC_RUN_IFELSE([AC_LANG_SOURCE(
--[[/* Thanks to Mike Rendell for this test. */
--]AC_INCLUDES_DEFAULT[
--#define NGID 256
--#undef MAX
--#define MAX(x, y) ((x) > (y) ? (x) : (y))
--
--int
--main (void)
--{
-- gid_t gidset[NGID];
-- int i, n;
-- union { gid_t gval; long int lval; } val;
--
-- val.lval = -1;
-- for (i = 0; i < NGID; i++)
-- gidset[i] = val.gval;
-- n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
-- gidset);
-- /* Exit non-zero if getgroups seems to require an array of ints. This
-- happens when gid_t is short int but getgroups modifies an array
-- of ints. */
-- return n > 0 && gidset[n] != val.gval;
--}]])],
-- [ac_cv_type_getgroups=gid_t],
-- [ac_cv_type_getgroups=int],
-- [ac_cv_type_getgroups=cross])
--if test $ac_cv_type_getgroups = cross; then
-- dnl When we can't run the test program (we are cross compiling), presume
-- dnl that <unistd.h> has either an accurate prototype for getgroups or none.
-- dnl Old systems without prototypes probably use int.
-- AC_EGREP_HEADER([getgroups.*int.*gid_t], unistd.h,
-- ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int)
--fi])
-+AC_CACHE_CHECK([type of array argument to getgroups], ac_cv_type_getgroups,
-+[# If AC_TYPE_UID_T says there isn't any gid_t typedef, then we can skip
-+# everything below.
-+AS_IF([test $ac_cv_type_gid_t = no],
-+ [ac_cv_type_getgroups=int],
-+ [# Test programs below rely on strict type checking of extern declarations:
-+ # 'extern int getgroups(int, int *); extern int getgroups(int, pid_t *);'
-+ # is valid in C89 if and only if pid_t is a typedef for int. Unlike
-+ # anything involving either an assignment or a function call, compilers
-+ # tend to make this kind of type mismatch a hard error, not just an
-+ # "incompatible pointer types" warning.
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-+[AC_INCLUDES_DEFAULT
-+[extern int getgroups(int, gid_t *);]],
-+[[return !(getgroups(0, 0) >= 0);]])],
-+ [ac_getgroups_gidarray=yes],
-+ [ac_getgroups_gidarray=no])
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-+[AC_INCLUDES_DEFAULT
-+[extern int getgroups(int, int *);]],
-+[[return !(getgroups(0, 0) >= 0);]])],
-+ [ac_getgroups_intarray=yes],
-+ [ac_getgroups_intarray=no])
-+
-+ AS_CASE([int:$ac_getgroups_intarray,gid:$ac_getgroups_gidarray],
-+ [int:yes,gid:no], [ac_cv_type_getgroups=int],
-+ [int:no,gid:yes], [ac_cv_type_getgroups=gid_t],
-+ [int:yes,gid:yes], [
-+ # Both programs compiled - this means *either* that getgroups
-+ # was declared with no prototype, in which case we should use int,
-+ # or that it was declared prototyped but gid_t is a typedef for int,
-+ # in which case we should use gid_t. Distinguish the two cases
-+ # by testing if the compiler catches a blatantly incorrect function
-+ # signature for getgroups.
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-+[AC_INCLUDES_DEFAULT
-+[extern int getgroups(int, float);]],
-+[[return !(getgroups(0, 0) >= 0);]])], [
-+ # Compiler did not catch incorrect argument list;
-+ # getgroups is unprototyped.
-+ ac_cv_type_getgroups=int
-+ ], [
-+ # Compiler caught incorrect argument list;
-+ # gid_t is a typedef for int.
-+ ac_cv_type_getgroups=gid_t
-+ ])
-+ ], [
-+ # Both programs failed to compile - this probably means getgroups
-+ # wasn't declared at all. Use 'int', as this is probably a very
-+ # old system where the type _would have been_ int.
-+ ac_cv_type_getgroups=int
-+ ])
-+ ])
-+])dnl AC_CACHE_CHECK
- AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups,
-- [Define to the type of elements in the array set by
-+ [Define to the type of elements in the array argument to
- 'getgroups'. Usually this is either 'int' or 'gid_t'.])
- ])# AC_TYPE_GETGROUPS
-
-diff --git a/tests/local.at b/tests/local.at
-index 64a9fb264..db49f84a9 100644
---- a/tests/local.at
-+++ b/tests/local.at
-@@ -401,7 +401,7 @@ if test -f state-env.before && test -f state-env.after; then
- [interpval|PATH_SEPARATOR],
- [GFC|F77_DUMMY_MAIN|f77_(case|underscore)],
- [FC(_DUMMY_MAIN|FLAGS|LIBS|FLAGS_[fF]|_MODEXT|_MODINC|_MODOUT|_DEFINE)?],
-- [ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB],
-+ [ALLOCA|GETGROUPS_LIB|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB],
- [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|AR|RANLIB|SET_MAKE|YACC],
- [EGREP_TRADITIONAL],
- [GREP|[EF]GREP|SED],
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch
deleted file mode 100644
index 2dadd83..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From a7dc6d83c7d12b8409c512c3c10ad29f01e6c164 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 21:54:31 -0400
-Subject: [PATCH 13/29] Fold AC_C_STRINGIZE into AC_PROG_CC.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Another of the last few uses of AC_EGREP_CPP is to check for the ISO C
-“stringification” operator. As this is a feature of C89, let’s fold
-the test into the extensive C89 tests we already have, and make
-AC_C_STRINGIZE just lean on AC_PROG_CC, in the same way
-AC_C_PROTOTYPES does.
-
-* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Add test of preprocessor
- stringification and token pasting.
- (AC_C_STRINGIZE): Just check ac_prog_cc_stdc.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/c.m4 | 31 ++++++++++++++++++++-----------
- 1 file changed, 20 insertions(+), 11 deletions(-)
-
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index 33648b5b9..c8c6a665c 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -1143,6 +1143,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
- return s;
- }
-
-+/* C89 style stringification. */
-+#define noexpand_stringify(a) #a
-+const char *stringified = noexpand_stringify(arbitrary+token=sequence);
-+
-+/* C89 style token pasting. Exercises some of the corner cases that
-+ e.g. old MSVC gets wrong, but not very hard. */
-+#define noexpand_concat(a,b) a##b
-+#define expand_concat(a,b) noexpand_concat(a,b)
-+extern int vA;
-+extern int vbee;
-+#define aye A
-+#define bee B
-+int *pvA = &expand_concat(v,aye);
-+int *pvbee = &noexpand_concat(v,bee);
-+
- /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not \xHH hex character constants.
- These do not provoke an error unfortunately, instead are silently treated
-@@ -2112,16 +2127,10 @@ fi
- # --------------
- # Checks if '#' can be used to glue strings together at the CPP level.
- # Defines HAVE_STRINGIZE if positive.
-+# Obsolete - new code should assume C89 compliance.
- AC_DEFUN([AC_C_STRINGIZE],
--[AC_CACHE_CHECK([for preprocessor stringizing operator],
-- [ac_cv_c_stringize],
--[AC_EGREP_CPP([@%:@teststring],
-- [@%:@define x(y) #y
--
--char *s = x(teststring);],
-- [ac_cv_c_stringize=no],
-- [ac_cv_c_stringize=yes])])
--if test $ac_cv_c_stringize = yes; then
-+[AC_REQUIRE([AC_PROG_CC])
-+if test "$ac_prog_cc_stdc" != no; then
- AC_DEFINE(HAVE_STRINGIZE, 1,
- [Define to 1 if cpp supports the ANSI @%:@ stringizing operator.])
- fi
-@@ -2130,8 +2139,8 @@ fi
-
- # AC_C_PROTOTYPES
- # ---------------
--# Check if the C compiler supports prototypes, included if it needs
--# options.
-+# Check if the C compiler supports prototypes.
-+# Obsolete - new code should assume C89 compliance.
- AC_DEFUN([AC_C_PROTOTYPES],
- [AC_REQUIRE([AC_PROG_CC])dnl
- if test "$ac_prog_cc_stdc" != no; then
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch
deleted file mode 100644
index 85e9a45..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From e25dfa75e18295d28de67747b4ff9d65f65c4f06 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Sun, 2 Apr 2023 22:17:55 -0400
-Subject: [PATCH 14/29] Remove the last few internal uses of AC_EGREP_CPP.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Most of the remaining uses were converted to AC_COMPILE_IFELSE.
-The use in AC_FUNC_LOADAVG becomes an AC_PREPROC_IFELSE because
-we can’t be sure getloadavg.c can be _compiled_ at this point in
-the build. The use in AC_C_VARARRAYS could be either _PREPROC_ or
-_COMPILE_; we use _COMPILE_ because, _PREPROC_ is never used, then
-we don’t have to do the “checking how to run the C preprocessor” test.
-
-* lib/autoconf/c.m4 (AC_C_VARARRAYS): Use AC_COMPILE_IFELSE instead of
- AC_EGREP_CPP.
-* lib/autoconf/headers.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H)
- (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL_H): Likewise.
-* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use AC_PREPROC_IFELSE
- instead of AC_EGREP_CPP.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/c.m4 | 8 ++++----
- lib/autoconf/functions.m4 | 10 +++++-----
- lib/autoconf/headers.m4 | 24 ++++++++++--------------
- 3 files changed, 19 insertions(+), 23 deletions(-)
-
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index c8c6a665c..b8350c339 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -2197,11 +2197,11 @@ AC_DEFUN([AC_C_VARARRAYS],
- [
- AC_CACHE_CHECK([for variable-length arrays],
- ac_cv_c_vararrays,
-- [AC_EGREP_CPP([defined],
-- [#ifdef __STDC_NO_VLA__
-- defined
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE(
-+[[ #ifndef __STDC_NO_VLA__
-+ #error __STDC_NO_VLA__ not defined
- #endif
-- ],
-+]])],
- [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 74512e97d..499e4c024 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -842,11 +842,11 @@ AC_CHECK_FUNCS(getloadavg, [],
- # Some definitions of getloadavg require that the program be installed setgid.
- AC_CACHE_CHECK(whether getloadavg requires setgid,
- ac_cv_func_getloadavg_setgid,
--[AC_EGREP_CPP([Yowza Am I SETGID yet],
--[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
--#ifdef LDAV_PRIVILEGED
--Yowza Am I SETGID yet
--@%:@endif],
-+[AC_PREPROC_IFELSE([AC_LANG_SOURCE(
-+[[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
-+#ifndef LDAV_PRIVILEGED
-+#error setgid not needed
-+@%:@endif]])],
- ac_cv_func_getloadavg_setgid=yes,
- ac_cv_func_getloadavg_setgid=no)])
- if test $ac_cv_func_getloadavg_setgid = yes; then
-diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
-index 7f70e8fd4..19c124cc3 100644
---- a/lib/autoconf/headers.m4
-+++ b/lib/autoconf/headers.m4
-@@ -721,13 +721,11 @@ you to include it and time.h simultaneously.])
- m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
- [AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ],
- ac_cv_sys_tiocgwinsz_in_termios_h,
--[AC_EGREP_CPP([yes],
-- [#include <sys/types.h>
--#include <termios.h>
--#ifdef TIOCGWINSZ
-- yes
--#endif
--],
-+[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
-+[AC_INCLUDES_DEFAULT
-+[#include <termios.h>
-+const int tiocgwinsz = TIOCGWINSZ;
-+]])],
- ac_cv_sys_tiocgwinsz_in_termios_h=yes,
- ac_cv_sys_tiocgwinsz_in_termios_h=no)])
- ])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H
-@@ -738,13 +736,11 @@ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
- m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL],
- [AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ],
- ac_cv_sys_tiocgwinsz_in_sys_ioctl_h,
--[AC_EGREP_CPP([yes],
-- [#include <sys/types.h>
--#include <sys/ioctl.h>
--#ifdef TIOCGWINSZ
-- yes
--#endif
--],
-+[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
-+[AC_INCLUDES_DEFAULT
-+[#include <sys/ioctl.h>
-+const int tiocgwinsz = TIOCGWINSZ;
-+]])],
- ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes,
- ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)])
- ])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch
deleted file mode 100644
index 36d1a94..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1982523c6f052a2b361035a9d5d9737510ed0738 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 3 Apr 2023 09:12:40 -0700
-Subject: [PATCH 15/29] Support circa early 2022 Gnulib
-
-Problem reported by Frederic Berat in:
-https://lists.gnu.org/r/bug-rcs/2023-04/msg00001.html
-* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
-Bring back for compatibility with post-2.71, pre-2.73 Gnulib.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index a2dc5d488..5dc006959 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -277,6 +277,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1]];[]dnl
- ])
-+# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
-+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE])
-
- # _AC_SYS_LARGEFILE_OPTIONS
- # -------------------------
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch
deleted file mode 100644
index e96faf2..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From a1e82aff0fd842b0f09e2cd166560dfda725ba13 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sun, 9 Apr 2023 11:41:57 -0700
-Subject: [PATCH 16/29] Improve year2038, largefile option processing
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE)
-(_AC_SYS_YEAR2038_ENABLE, _AC_SYS_YEAR2038_OPT_IN)
-(AC_SYS_YEAR2038, _AC_SYS_LARGEFILE_PROBE)
-(_AC_SYS_LARGEFILE_ENABLE): Do not use enable_largefile to record
-whether largefile is required, as ‘./configure
---disable-largefile’ sets enable_largefile=no even if largefile is
-required and this disables largefile. Instead, use a separate
-shell variable ac_largefile_required and test it as well.
-Similarly for enable_year2038.
-(_AC_SYS_LARGEFILE_ENABLE): Omit --disable-largefile help string
-if year2038 is required, since largefile is a prereq for year2038.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 35 ++++++++++++++++++++++-------------
- 1 file changed, 22 insertions(+), 13 deletions(-)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 5dc006959..1a3f4a65c 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -155,10 +155,10 @@ AS_CASE([$ac_cv_sys_year2038_opts],
- ["none needed"], [],
- ["support not detected"],
- [ac_have_year2038=no
-- AS_CASE([$enable_year2038],
-- [required],
-+ AS_CASE([$ac_year2038_required,$enable_year2038],
-+ [yes,*],
- [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])],
-- [yes],
-+ [*,yes],
- [# If we're not cross compiling and 'touch' works with a large
- # timestamp, then we can presume the system supports wider time_t
- # *somehow* and we just weren't able to detect it. One common
-@@ -209,10 +209,12 @@ AS_CASE([$ac_cv_sys_year2038_opts],
- m4_define([_AC_SYS_YEAR2038_ENABLE],
- [m4_divert_text([DEFAULTS],
- m4_provide_if([AC_SYS_YEAR2038_REQUIRED],
-- [enable_year2038=required],
-+ [ac_year2038_required=yes],
-+ [ac_year2038_required=no]))dnl
-+m4_divert_text([DEFAULTS],
- m4_provide_if([AC_SYS_YEAR2038],
- [enable_year2038=yes],
-- [enable_year2038=no])))]dnl
-+ [enable_year2038=no]))]dnl
- [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
- [AC_ARG_ENABLE([year2038],
- m4_provide_if([AC_SYS_YEAR2038],
-@@ -231,7 +233,8 @@ m4_define([_AC_SYS_YEAR2038_ENABLE],
- # documented macro.
- AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
- [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
-- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
-+ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
-+ [_AC_SYS_YEAR2038_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
- ])])
-
-@@ -244,7 +247,8 @@ AC_DEFUN([AC_SYS_YEAR2038],
- [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
- [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
- [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
-- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
-+ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
-+ [_AC_SYS_YEAR2038_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
- ])])
-
-@@ -326,7 +330,7 @@ AS_CASE([$ac_cv_sys_largefile_opts],
- ["none needed"], [],
- ["support not detected"],
- [ac_have_largefile=no
-- AS_IF([test $enable_largefile = required],
-+ AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
- [AC_MSG_FAILURE([support for large files is required])])],
-
- ["-D_FILE_OFFSET_BITS=64"],
-@@ -358,11 +362,15 @@ _AC_SYS_YEAR2038_OPT_IN
- m4_define([_AC_SYS_LARGEFILE_ENABLE],
- [m4_divert_text([DEFAULTS],
- m4_provide_if([AC_SYS_LARGEFILE_REQUIRED],
-- [enable_largefile=required],
-- [enable_largefile=yes]))]dnl
-+ [ac_largefile_required=yes],
-+ [ac_largefile_required=no]))dnl
-+m4_divert_text([DEFAULTS],
-+ [enable_largefile=yes])]dnl
- [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
--[AC_ARG_ENABLE([largefile],
-- [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])])
-+ [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
-+ [AC_ARG_ENABLE([largefile],
-+ [AS_HELP_STRING([--disable-largefile],
-+ [omit support for large files])])])])])
-
- # AC_SYS_LARGEFILE
- # ----------------
-@@ -377,7 +385,8 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE],
- # large files; see also AC_SYS_LARGEFILE_REQUIRED.
- AC_DEFUN([AC_SYS_LARGEFILE],
- [m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
-- AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
-+ AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no],
-+ [_AC_SYS_LARGEFILE_PROBE])
- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
- ])])
-
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch
deleted file mode 100644
index f62fe1c..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0cc3c4ca8e6c550bf590ae45a916982b6ec50203 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Fri, 14 Apr 2023 16:18:35 +0200
-Subject: [PATCH 17/29] AC_SYS_YEAR2038: Fix configure failure on 32-bit mingw.
-
-* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
-spelling as in _AC_SYS_YEAR2038_OPTIONS.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 1a3f4a65c..3bf1a0ed1 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -182,7 +182,7 @@ AS_CASE([$ac_cv_sys_year2038_opts],
- [AC_DEFINE([_TIME_BITS], [64],
- [Number of bits in time_t, on hosts where this is settable.])],
-
-- ["-D__MINGW_USE_VC2005_COMPAT=1"],
-+ ["-D__MINGW_USE_VC2005_COMPAT"],
- [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
- [Define to 1 on platforms where this makes time_t a 64-bit type.])],
-
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch
deleted file mode 100644
index 478c4e4..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e704a13c9644f4f4b9a9dd4e215ee7a1707f5850 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Fri, 3 Mar 2023 14:32:13 +0100
-Subject: [PATCH 18/29] Document limitation of BusyBox tr.
-
-BusyBox 1.35.0 tr, which is shipped with Alpine Linux 3.17, does not support
-the POSIX [x*n] syntax.
-
-* doc/autoconf.texi (Limitations of Usual Tools): Document limitation of 'tr'
-from BusyBox.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/autoconf.texi | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index 5d5f613e6..b3c708e87 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -20368,6 +20368,20 @@ $ @kbd{echo abc | coreutils/tr bc d}
- add
- @end example
-
-+On platforms with the BusyBox tools, @command{tr} does not support the
-+@code{[@var{x}*@var{n}]} option syntax.
-+
-+@example
-+$ @kbd{echo abc | tr 'abcd' '[A*4]'}
-+[A*
-+$ @kbd{echo abc | coreutils/tr 'abcd' '[A*4]'}
-+AAA
-+$ @kbd{echo xyz | tr 'a-z' '[A*]'}
-+]]]
-+$ @kbd{echo xyz | coreutils/tr 'a-z' '[A*]'}
-+AAA
-+@end example
-+
- Posix requires @command{tr} to operate on binary files. But at least
- Solaris @command{/usr/ucb/tr} and @command{/usr/bin/tr} silently discard
- @code{NUL} in the input prior to doing any translation. When using
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch
deleted file mode 100644
index db9307e..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 2277f2c15744ad1cc5cd1ecc50a43108e50530a2 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Wed, 19 Apr 2023 14:17:24 -0700
-Subject: [PATCH 19/29] AC_SYS_YEAR2038_REQUIRED: Fix configure failure with
- MSVC.
-
-* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_PROBE): Distinguish the results
-"support not detected" and "supported through gnulib". If the result is
-"supported through gnulib", don't fail.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 3bf1a0ed1..f411695fe 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -323,11 +323,24 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
- test $ac_opt_found = no || break
- done
- CC="$ac_save_CC"
-+ dnl Gnulib implements large file support for native Windows, based on the
-+ dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.
-+ m4_ifdef([gl_LARGEFILE], [
-+ AC_REQUIRE([AC_CANONICAL_HOST])
-+ if test $ac_opt_found != yes; then
-+ AS_CASE([$host_os],
-+ [mingw*],
-+ [ac_cv_sys_largefile_opts="supported through gnulib"
-+ ac_opt_found=yes]
-+ )
-+ fi
-+ ])
- test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
-
- ac_have_largefile=yes
- AS_CASE([$ac_cv_sys_largefile_opts],
- ["none needed"], [],
-+ ["supported through gnulib"], [],
- ["support not detected"],
- [ac_have_largefile=no
- AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch
deleted file mode 100644
index cbd89cc..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch
+++ /dev/null
@@ -1,405 +0,0 @@
-From 9c0183724614517a67d0955065171465bab7154a Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 26 Apr 2023 18:21:48 -0700
-Subject: [PATCH 20/29] Tone down year-2038 changes
-
-New macro AC_SYS_YEAR2038_RECOMMENDED replaces new macro
-AC_SYS_YEAR2038_REQUIRED, and gives the builder an out of
-specifying --disable-year2038. Remove new macro
-AC_SYS_LARGEFILE_REQUIRED, which was added only for symmetry and
-does not seem to have a great need.
-* NEWS, doc/autoconf.texi: Document this.
-* lib/autoconf/specific.m4:
-Be more specific about mid-January 2038 than just Jan 2038.
-(_AC_SYS_YEAR2038_PROBE): Ignore IF-NOT-DETECTED arg.
-If support is not detected, merely set ac_have_year2038=no instead
-of erroring out. All callers changed.
-(_AC_SYS_YEAR2038_OPT_IN): Remove. All callers removed.
-(AC_SYS_YEAR2038): Simplify by requiring AC_SYS_LARGEFILE
-and then testing the result.
-(AC_SYS_YEAR2038_REQUIRED, AC_SYS_LARGEFILE_REQUIRED): Remove.
-(AC_SYS_YEAR2038_RECOMMENDED): New macro.
-(_AC_SYS_LARGEFILE_PROBE): If support is not detected, merely set
-ac_have_largefile=no instead of erroring out. All callers changed.
-Take on the burden of invoking year2038 probe as needed.
-(AC_SYS_LARGEFILE): Simplify.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 18 ++--
- doc/autoconf.texi | 34 +++-----
- lib/autoconf/specific.m4 | 177 +++++++++++----------------------------
- 3 files changed, 69 insertions(+), 160 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 8e4ecc1bf..a48a00858 100644
---- a/NEWS
-+++ b/NEWS
-@@ -51,7 +51,7 @@ GNU Autoconf NEWS - User visible changes.
-
- ** New features
-
--*** New macro AC_SYS_YEAR2038.
-+*** New macros AC_SYS_YEAR2038 and AC_SYS_YEAR2038_RECOMMENDED.
- This causes 'configure' to widen time_t if possible on systems where
- time_t by default cannot represent file and other timestamps after
- January 2038. Widening is possible only on 32-bit GNU/Linux x86 and
-@@ -67,18 +67,14 @@ GNU Autoconf NEWS - User visible changes.
- This is similar to longstanding consistency requirements with
- --enable-largefile and --disable-largefile.
-
-+ AC_SYS_YEAR2038_RECOMMENDED acts like AC_SYS_YEAR2038 except that
-+ 'configure' fails if the target lacks support for post-2038
-+ timestamps and --disable-year2038 is not given.
-+
- *** AC_SYS_LARGEFILE now optionally arranges to widen time_t.
- It now acts like AC_SYS_YEAR2038, except 'configure' defaults to
-- --disable-year2038 unless AC_SYS_YEAR2038 is also present.
-- As with AC_SYS_YEAR2038, application and library builders should
-- configure consistently.
--
--*** New macros AC_SYS_LARGEFILE_REQUIRED and AC_SYS_YEAR2038_REQUIRED.
-- These act like AC_SYS_LARGEFILE and AC_SYS_YEAR2038 respectively,
-- except that 'configure' fails if the target lacks support
-- for large files and for post-2038 timestamps, respectively.
-- As with AC_SYS_YEAR2038, application and library builders should
-- configure consistently.
-+ --disable-year2038 unless either AC_SYS_YEAR2038 or
-+ AC_SYS_YEAR2038_RECOMMENDED is also present.
-
- *** AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F extensions
- by defining __STDC_WANT_IEC_60559_EXT__.
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index b3c708e87..0f3047b31 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -8808,18 +8808,20 @@ if possible. These types may include @code{blkcnt_t}, @code{dev_t},
-
- Also, arrange for a @command{configure} option @code{--enable-year2038}
- to request widening the type @code{time_t} as needed to represent file
--wand other timestamps after January 2038. This widening is possible
-+wand other timestamps after mid-January 2038. This widening is possible
- only on 32-bit GNU/Linux x86 and ARM systems with glibc 2.34 or later.
- If year-2038 support is requested but @command{configure} fails to find a way
- to widen @code{time_t} and inspection of the system suggests that
- this feature is available somehow, @command{configure} will error out.
- If you want the default to be @code{--enable-year2038}, you can use
--@code{AC_SYS_YEAR2038} instead of @code{AC_SYS_LARGEFILE}.
-+@code{AC_SYS_YEAR2038} or @code{AC_SYS_YEAR2038_RECOMMENDED}
-+instead of @code{AC_SYS_LARGEFILE}.
- In other words, older packages that have long used @code{AC_SYS_LARGEFILE}
- can have year-2038 support on 32-bit GNU/Linux x86 and ARM systems either by
- regenerating @file{configure} with current Autoconf and configuring with
--@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} and
--configuring without @option{--disable-year2038}.
-+@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} or
-+@code{AC_SYS_YEAR2038_RECOMMENDED} and configuring without
-+@option{--disable-year2038}.
- A future version of Autoconf might change the @code{AC_SYS_LARGEFILE}
- default to @code{--enable-year2038}; if and when that happens,
- @code{AC_SYS_LARGEFILE} and @code{AC_SYS_YEAR2038} will become equivalent.
-@@ -8886,19 +8888,6 @@ library, enabling or disabling the application's large-file support may
- break binary compatibility with that library.
- @end defmac
-
--@defmac AC_SYS_LARGEFILE_REQUIRED
--@acindex{SYS_LARGEFILE_REQUIRED}
--This macro has the same effect as @code{AC_SYS_LARGEFILE},
--but also declares that the program being configured
--requires support for large files.
--If a large @code{off_t} is unavailable,
--@command{configure} will error out.
--The @option{--disable-largefile} option will not be available.
--
--Large-file and year-2038 support for applications and libraries should
--be configured compatibly. @xref{AC_SYS_LARGEFILE}.
--@end defmac
--
- @anchor{AC_SYS_LONG_FILE_NAMES}
- @defmac AC_SYS_LONG_FILE_NAMES
- @acindex{SYS_LONG_FILE_NAMES}
-@@ -8927,14 +8916,13 @@ applications and libraries should be configured compatibly.
- @xref{AC_SYS_LARGEFILE}.
- @end defmac
-
--@defmac AC_SYS_YEAR2038_REQUIRED
--@acindex{SYS_YEAR2038_REQUIRED}
-+@defmac AC_SYS_YEAR2038_RECOMMENDED
-+@acindex{SYS_YEAR2038_RECOMMENDED}
- This macro has the same effect as @code{AC_SYS_YEAR2038},
- but also declares that the program being configured
--requires support for timestamps after mid-January of 2038.
--If a large @code{time_t} is unavailable,
--@command{configure} will unconditionally error out.
--The @option{--disable-year2038} option will not be available.
-+should support timestamps after mid-January 2038.
-+If a large @code{time_t} is unavailable, @command{configure} will error
-+out unless the @option{--disable-year2038} option is specified.
-
- Year-2038 support for applications and libraries should be configured
- compatibly. @xref{AC_SYS_YEAR2038}.
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index f411695fe..88e0479e8 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -115,8 +115,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
- dnl 32-bit MinGW (misconfiguration)
- ))
-
--# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
--# -----------------------------------------
-+# _AC_SYS_YEAR2038_PROBE
-+# ----------------------
- # Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent
- # time points more than 2**31 - 1 seconds after the epoch (dates after
- # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
-@@ -129,13 +129,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
- # AC_TRY_RUN. Note also that some systems only support large time_t
- # together with large off_t.
- #
--# If support is not detected, the behavior depends on which of the
--# top-level AC_SYS_YEAR2038 macros was used (see below).
--#
- # If you change this macro you may also need to change
- # _AC_SYS_YEAR2038_OPTIONS.
- AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
--[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
-+[AC_CACHE_CHECK([for $CC option for timestamps after 2038],
- [ac_cv_sys_year2038_opts],
- [ac_save_CPPFLAGS="$CPPFLAGS"
- ac_opt_found=no
-@@ -154,29 +151,7 @@ ac_have_year2038=yes
- AS_CASE([$ac_cv_sys_year2038_opts],
- ["none needed"], [],
- ["support not detected"],
-- [ac_have_year2038=no
-- AS_CASE([$ac_year2038_required,$enable_year2038],
-- [yes,*],
-- [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])],
-- [*,yes],
-- [# If we're not cross compiling and 'touch' works with a large
-- # timestamp, then we can presume the system supports wider time_t
-- # *somehow* and we just weren't able to detect it. One common
-- # case that we deliberately *don't* probe for is a system that
-- # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
-- # wide time_t. (It would be inappropriate for us to override an
-- # intentional use of -m32.) Error out, demanding use of
-- # --disable-year2038 if this is intentional.
-- AS_IF([test $cross_compiling = no],
-- [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
-- [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
-- [*'Feb 7 2106'* | *'Feb 7 17:10'*],
-- [AC_MSG_FAILURE(m4_text_wrap(
-- [this system appears to support timestamps after January 2038,
-- but no mechanism for enabling wide 'time_t' was detected.
-- Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
-- To proceed with 32-bit time_t, configure with '--disable-year2038'.],
-- [], [], [55]))])])])])],
-+ [ac_have_year2038=no],
-
- ["-D_TIME_BITS=64"],
- [AC_DEFINE([_TIME_BITS], [64],
-@@ -189,7 +164,7 @@ AS_CASE([$ac_cv_sys_year2038_opts],
- ["-U_USE_32_BIT_TIME_T"*],
- [AC_MSG_FAILURE(m4_text_wrap(
- [the 'time_t' type is currently forced to be 32-bit.
-- It will stop working after January 2038.
-+ It will stop working after mid-January 2038.
- Remove _USE_32BIT_TIME_T from the compiler flags.],
- [], [], [55]))],
-
-@@ -199,44 +174,23 @@ AS_CASE([$ac_cv_sys_year2038_opts],
-
- # _AC_SYS_YEAR2038_ENABLE
- # -----------------------
--# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
- # Depending on which of the YEAR2038 macros was used, add either an
--# --enable-year2038, or a --disable-year2038, or no option at all to
--# the configure script. Note that this is expanded very late and
-+# --enable-year2038 or a --disable-year2038 to
-+# the configure script. This is expanded very late and
- # therefore there cannot be any code in the AC_ARG_ENABLE. The
- # default value for 'enable_year2038' is emitted unconditionally
- # because the generated code always looks at this variable.
- m4_define([_AC_SYS_YEAR2038_ENABLE],
- [m4_divert_text([DEFAULTS],
-- m4_provide_if([AC_SYS_YEAR2038_REQUIRED],
-- [ac_year2038_required=yes],
-- [ac_year2038_required=no]))dnl
--m4_divert_text([DEFAULTS],
- m4_provide_if([AC_SYS_YEAR2038],
- [enable_year2038=yes],
- [enable_year2038=no]))]dnl
--[m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
- [AC_ARG_ENABLE([year2038],
- m4_provide_if([AC_SYS_YEAR2038],
- [AS_HELP_STRING([--disable-year2038],
-- [omit support for dates after Jan 2038])],
-+ [don't support timestamps after 2038])],
- [AS_HELP_STRING([--enable-year2038],
-- [include support for dates after Jan 2038])]))])])
--
--# _AC_SYS_YEAR2038_OPT_IN
--# -----------------------
--# If the --enable-year2038 option is given to configure, attempt to
--# detect and activate support for large time_t on 32-bit systems.
--# This macro is automatically invoked by AC_SYS_LARGEFILE when large
--# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE
--# to avoid a dependency loop, and is therefore unsafe to expose as a
--# documented macro.
--AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
--[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
-- AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
-- [_AC_SYS_YEAR2038_PROBE])
-- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
--])])
-+ [support timestamps after 2038])]))])
-
- # AC_SYS_YEAR2038
- # ---------------
-@@ -244,28 +198,39 @@ AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
- # On systems where time_t is not always 64 bits, this probe can be
- # skipped by passing the --disable-year2038 option to configure.
- AC_DEFUN([AC_SYS_YEAR2038],
--[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
-- [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
--[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
-- AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
-- [_AC_SYS_YEAR2038_PROBE])
-- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
--])])
--
--# AC_SYS_YEAR2038_REQUIRED
--# ------------------------
--# Same as AC_SYS_YEAR2038, but declares that this program *requires*
--# support for large time_t. If we cannot find any way to make time_t
--# capable of representing values larger than 2**31 - 1, configure will
--# error out. Furthermore, no --enable-year2038 nor --disable-year2038
--# option will be available.
--AC_DEFUN([AC_SYS_YEAR2038_REQUIRED],
--[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
-- [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
--[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
-- _AC_SYS_YEAR2038_PROBE
-- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
--])])
-+[AC_REQUIRE([AC_SYS_LARGEFILE])dnl
-+AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no],
-+ [# If we're not cross compiling and 'touch' works with a large
-+ # timestamp, then we can presume the system supports wider time_t
-+ # *somehow* and we just weren't able to detect it. One common
-+ # case that we deliberately *don't* probe for is a system that
-+ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
-+ # wide time_t. (It would be inappropriate for us to override an
-+ # intentional use of -m32.) Error out, demanding use of
-+ # --disable-year2038 if this is intentional.
-+ AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
-+ [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
-+ [*'Feb 7 2106'* | *'Feb 7 17:10'*],
-+ [AC_MSG_FAILURE(m4_text_wrap(
-+ [this system appears to support timestamps after mid-January 2038,
-+ but no mechanism for enabling wide 'time_t' was detected.
-+ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
-+ To proceed with 32-bit time_t, configure with '--disable-year2038'.],
-+ [], [], [55]))])])])])
-+
-+# AC_SYS_YEAR2038_RECOMMENDED
-+# ---------------------------
-+# Same as AC_SYS_YEAR2038, but recommend support for large time_t.
-+# If we cannot find any way to make time_t capable of representing
-+# values larger than 2**31 - 1, error out unless --disable-year2038 is given.
-+AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
-+[AC_REQUIRE([AC_SYS_YEAR2038])dnl
-+AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
-+ [AC_MSG_FAILURE(m4_text_wrap(
-+ [could not enable timestamps after mid-January 2038.
-+ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
-+ To proceed with 32-bit time_t, configure with '--disable-year2038'.],
-+ [], [], [55]))])])
-
- # _AC_SYS_LARGEFILE_TEST_CODE
- # ---------------------------
-@@ -342,9 +307,7 @@ AS_CASE([$ac_cv_sys_largefile_opts],
- ["none needed"], [],
- ["supported through gnulib"], [],
- ["support not detected"],
-- [ac_have_largefile=no
-- AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
-- [AC_MSG_FAILURE([support for large files is required])])],
-+ [ac_have_largefile=no],
-
- ["-D_FILE_OFFSET_BITS=64"],
- [AC_DEFINE([_FILE_OFFSET_BITS], [64],
-@@ -360,30 +323,9 @@ AS_CASE([$ac_cv_sys_largefile_opts],
- [AC_MSG_ERROR(
- [internal error: bad value for \$ac_cv_sys_largefile_opts])])
-
--_AC_SYS_YEAR2038_OPT_IN
--])
--
--# _AC_SYS_LARGEFILE_ENABLE
--# ------------------------
--# Subroutine of AC_SYS_LARGEFILE. If AC_SYS_LARGEFILE_REQUIRED was
--# not used at any point in this configure script, add a
--# --disable-largefile option to the configure script. Note that this
--# is expanded very late and therefore there cannot be any code in the
--# AC_ARG_ENABLE. The default value for 'enable_largefile' is emitted
--# unconditionally because the generated shell code always looks at
--# this variable.
--m4_define([_AC_SYS_LARGEFILE_ENABLE],
--[m4_divert_text([DEFAULTS],
-- m4_provide_if([AC_SYS_LARGEFILE_REQUIRED],
-- [ac_largefile_required=yes],
-- [ac_largefile_required=no]))dnl
--m4_divert_text([DEFAULTS],
-- [enable_largefile=yes])]dnl
--[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
-- [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
-- [AC_ARG_ENABLE([largefile],
-- [AS_HELP_STRING([--disable-largefile],
-- [omit support for large files])])])])])
-+AS_IF([test "$enable_year2038" != no],
-+ [_AC_SYS_YEAR2038_PROBE])
-+AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
-
- # AC_SYS_LARGEFILE
- # ----------------
-@@ -394,29 +336,12 @@ m4_divert_text([DEFAULTS],
- # Additionally, on Linux file systems with 64-bit inodes a file that happens
- # to have a 64-bit inode number cannot be accessed by 32-bit applications on
- # Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
--# This macro allows configuration to continue if the system doesn't support
--# large files; see also AC_SYS_LARGEFILE_REQUIRED.
- AC_DEFUN([AC_SYS_LARGEFILE],
--[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
-- AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no],
-- [_AC_SYS_LARGEFILE_PROBE])
-- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
--])])
--
--# AC_SYS_LARGEFILE_REQUIRED
--# -------------------------
--# Same as AC_SYS_LARGEFILE, but declares that this program *requires*
--# support for large files. If we cannot find a combination of compiler
--# options and #defines that makes 'off_t' capable of representing 2**63 - 1,
--# 'configure' will error out. Furthermore, 'configure' will not offer a
--# --disable-largefile command line option.
--# If both AC_SYS_LARGEFILE and AC_SYS_LARGEFILE_REQUIRED are used in the
--# same configure script -- in either order -- AC_SYS_LARGEFILE_REQUIRED wins.
--AC_DEFUN([AC_SYS_LARGEFILE_REQUIRED],
--[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
-- _AC_SYS_LARGEFILE_PROBE
-- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
--])])
-+[AC_ARG_ENABLE([largefile],
-+ [AS_HELP_STRING([--disable-largefile],
-+ [omit support for large files])])dnl
-+AS_IF([test "$enable_largefile,$enable_year2038" != no,no],
-+ [_AC_SYS_LARGEFILE_PROBE])])
-
- # AC_SYS_LONG_FILE_NAMES
- # ----------------------
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch
deleted file mode 100644
index 56bcbb6..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 028526149ee804617a302ccef22cc6adbda681b0 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 10 May 2023 17:20:49 -0700
-Subject: [PATCH 21/29] Port AC_FUNC_MMAP to more-modern systems
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Don’t call
-getpagesize, as it’s tricky to configure, modern POSIX doesn’t
-require it, and calling it without including <unistd.h> provokes a
-compile-time error on modern systems. Instead, rework the test
-to not need getpagesize. Add a FIXME comment for unnecessary
-tests; I don't want to remove them now as we're too close to
-a release. Remove long-obsolete comment about GNU grep.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/functions.m4 | 44 +++++----------------------------------
- 1 file changed, 5 insertions(+), 39 deletions(-)
-
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 499e4c024..5a0f01856 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -1283,6 +1283,7 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
- AN_FUNCTION([mmap], [AC_FUNC_MMAP])
- AC_DEFUN([AC_FUNC_MMAP],
- [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
-+dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize.
- AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
- AC_CHECK_FUNCS_ONCE([getpagesize])
- AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
-@@ -1305,48 +1306,11 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
-- propagated back to all the places they're supposed to be.
--
-- Grep wants private fixed already mapped.
-- The main things grep needs to know about mmap are:
-- * does it exist and is it safe to write into the mmap'd area
-- * how to use it (BSD variants) */
-+ propagated back to all the places they're supposed to be. */
-
- #include <fcntl.h>
- #include <sys/mman.h>
-
--/* This mess was copied from the GNU getpagesize.h. */
--#ifndef HAVE_GETPAGESIZE
--# ifdef _SC_PAGESIZE
--# define getpagesize() sysconf(_SC_PAGESIZE)
--# else /* no _SC_PAGESIZE */
--# ifdef HAVE_SYS_PARAM_H
--# include <sys/param.h>
--# ifdef EXEC_PAGESIZE
--# define getpagesize() EXEC_PAGESIZE
--# else /* no EXEC_PAGESIZE */
--# ifdef NBPG
--# define getpagesize() NBPG * CLSIZE
--# ifndef CLSIZE
--# define CLSIZE 1
--# endif /* no CLSIZE */
--# else /* no NBPG */
--# ifdef NBPC
--# define getpagesize() NBPC
--# else /* no NBPC */
--# ifdef PAGESIZE
--# define getpagesize() PAGESIZE
--# endif /* PAGESIZE */
--# endif /* no NBPC */
--# endif /* no NBPG */
--# endif /* no EXEC_PAGESIZE */
--# else /* no HAVE_SYS_PARAM_H */
--# define getpagesize() 8192 /* punt totally */
--# endif /* no HAVE_SYS_PARAM_H */
--# endif /* no _SC_PAGESIZE */
--
--#endif /* no HAVE_GETPAGESIZE */
--
- int
- main (void)
- {
-@@ -1355,7 +1319,9 @@ main (void)
- int i, pagesize;
- int fd, fd2;
-
-- pagesize = getpagesize ();
-+ /* The "page size" need not equal the system page size,
-+ and need not even be a power of 2. */
-+ pagesize = 8192;
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch
deleted file mode 100644
index 1b168c7..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 33c26d2700f927432c756ccf7a4fc89403d35b95 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 10 May 2023 22:57:27 -0700
-Subject: [PATCH 22/29] Fix port of AC_FUNC_MMAP
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Matt Turner in:
-https://lists.gnu.org/r/bug-autoconf/2023-05/msg00005.html
-* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Go back to getting the
-page size, since the zero-fill test needs this after all.
-However, prefer sysconf (_SC_PAGESIZE) or sysconf (_SC_PAGE_SIZE)
-to getpagesize (), and use ‘long’ not ‘int’ to store the page size.
-Also, declare getpagesize if it is used as a function.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/functions.m4 | 41 ++++++++++++++++++++++++++++++++++-----
- 1 file changed, 36 insertions(+), 5 deletions(-)
-
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 5a0f01856..3d6e4aca8 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -1283,7 +1283,6 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
- AN_FUNCTION([mmap], [AC_FUNC_MMAP])
- AC_DEFUN([AC_FUNC_MMAP],
- [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
--dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize.
- AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
- AC_CHECK_FUNCS_ONCE([getpagesize])
- AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
-@@ -1311,17 +1310,49 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
- #include <fcntl.h>
- #include <sys/mman.h>
-
-+#ifndef getpagesize
-+# ifdef _SC_PAGESIZE
-+# define getpagesize() sysconf (_SC_PAGESIZE)
-+# elif defined _SC_PAGE_SIZE
-+# define getpagesize() sysconf (_SC_PAGE_SIZE)
-+# elif HAVE_GETPAGESIZE
-+int getpagesize ();
-+# else
-+# ifdef HAVE_SYS_PARAM_H
-+# include <sys/param.h>
-+# ifdef EXEC_PAGESIZE
-+# define getpagesize() EXEC_PAGESIZE
-+# else /* no EXEC_PAGESIZE */
-+# ifdef NBPG
-+# define getpagesize() NBPG * CLSIZE
-+# ifndef CLSIZE
-+# define CLSIZE 1
-+# endif /* no CLSIZE */
-+# else /* no NBPG */
-+# ifdef NBPC
-+# define getpagesize() NBPC
-+# else /* no NBPC */
-+# ifdef PAGESIZE
-+# define getpagesize() PAGESIZE
-+# endif /* PAGESIZE */
-+# endif /* no NBPC */
-+# endif /* no NBPG */
-+# endif /* no EXEC_PAGESIZE */
-+# else /* no HAVE_SYS_PARAM_H */
-+# define getpagesize() 8192 /* punt totally */
-+# endif /* no HAVE_SYS_PARAM_H */
-+# endif
-+#endif
-+
- int
- main (void)
- {
- char *data, *data2, *data3;
- const char *cdata2;
-- int i, pagesize;
-+ long i, pagesize;
- int fd, fd2;
-
-- /* The "page size" need not equal the system page size,
-- and need not even be a power of 2. */
-- pagesize = 8192;
-+ pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch
deleted file mode 100644
index 9fb33c3..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ccc0d640c4d829504568330f9674408af5092ffc Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sat, 13 May 2023 09:56:33 -0700
-Subject: [PATCH 23/29] Improve AC_SYS_YEAR2038_RECOMMENDED diagnostic
-
-* lib/autoconf/specific.m4 (AC_SYS_YEAR2038_RECOMMENDED):
-Do not recommend gcc -m64, as that likely will not work.
-Problem reported by Bruno Haible in:
-https://lists.gnu.org/r/bug-gnulib/2023-05/msg00060.html
-Instead, mention that 32-bit time_t is not recommended
-for this package, before telling the builder how
-to configure with 32-bit time_t anyway.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 88e0479e8..91f20bf0d 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -228,8 +228,9 @@ AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
- AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
- [AC_MSG_FAILURE(m4_text_wrap(
- [could not enable timestamps after mid-January 2038.
-- Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
-- To proceed with 32-bit time_t, configure with '--disable-year2038'.],
-+ This package recommends support for these later timestamps.
-+ However, to proceed with signed 32-bit time_t even though it
-+ will fail then, configure with '--disable-year2038'.],
- [], [], [55]))])])
-
- # _AC_SYS_LARGEFILE_TEST_CODE
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch
deleted file mode 100644
index 2644c57..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8e7281d7bebb5e389befe6e9a5afbb7b2ae13ae0 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 17 May 2023 11:50:27 -0700
-Subject: [PATCH 24/29] Improve AC_FUNC_MMAP comments
-
-* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Add comment.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/functions.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 3d6e4aca8..54d04cc38 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -1311,6 +1311,8 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
- #include <sys/mman.h>
-
- #ifndef getpagesize
-+/* Prefer sysconf to the legacy getpagesize function, as getpagesize has
-+ been removed from POSIX and is limited to page sizes that fit in 'int'. */
- # ifdef _SC_PAGESIZE
- # define getpagesize() sysconf (_SC_PAGESIZE)
- # elif defined _SC_PAGE_SIZE
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch
deleted file mode 100644
index b7affed..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 103514e40da5f20aebf83a3446452ccebe5172bb Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 19 Jun 2023 14:04:29 -0700
-Subject: [PATCH 25/29] Fix AC_SYS_LARGEFILE on GNU/Linux alpha, s390x
-
-Problem reported by Matoro <https://bugs.gnu.org/64123>.
-* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE):
-New overridable macro FTYPE, to test types other than off_t.
-(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for
--D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t.
-Needed for GNU/Linux on alpha and s390x.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/autoconf/specific.m4 | 21 +++++++++++++++------
- 1 file changed, 15 insertions(+), 6 deletions(-)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 91f20bf0d..9d5974548 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -238,13 +238,16 @@ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
- # C code used to probe for large file support.
- m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
- [@%:@include <sys/types.h>
-- /* Check that off_t can represent 2**63 - 1 correctly.
-- We can't simply define LARGE_OFF_T to be 9223372036854775807,
-+@%:@ifndef FTYPE
-+@%:@ define FTYPE off_t
-+@%:@endif
-+ /* Check that FTYPE can represent 2**63 - 1 correctly.
-+ We can't simply define LARGE_FTYPE to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
--@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
-- int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
-- && LARGE_OFF_T % 2147483647 == 1)
-+@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
-+ int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721
-+ && LARGE_FTYPE % 2147483647 == 1)
- ? 1 : -1]];[]dnl
- ])
- # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
-@@ -284,7 +287,13 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
- AS_IF([test x"$ac_opt" != x"none needed"],
- [CC="$ac_save_CC $ac_opt"])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
-- [ac_cv_sys_largefile_opts="$ac_opt"
-+ [AS_IF([test x"$ac_opt" = x"none needed"],
-+ [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
-+ CC="$CC -DFTYPE=ino_t"
-+ AC_COMPILE_IFELSE([], [],
-+ [CC="$CC -D_FILE_OFFSET_BITS=64"
-+ AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])])
-+ ac_cv_sys_largefile_opts=$ac_opt
- ac_opt_found=yes])
- test $ac_opt_found = no || break
- done
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch
deleted file mode 100644
index 8d25396..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-From a7421b411b4359b97528c8f4e9dd8abe82235813 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Tue, 20 Jun 2023 13:23:19 -0700
-Subject: [PATCH 26/29] Modernize INSTALL
-
-Problem reported for gettext bootstrap by Julien Palard in:
-https://savannah.gnu.org/bugs/?62196
-* doc/install.texi: Give a brief info as to how to bootstrap,
-on packages built from Git rather from a distribution tarball.
-Remove aging details about c99, macOS, X, HP-UX, OSF/1, Solaris,
-Haiku, sun4. Improve documentation for enable/disable and
-with/without options.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/install.texi | 157 +++++++++++++++++++++--------------------------
- 1 file changed, 70 insertions(+), 87 deletions(-)
-
-diff --git a/doc/install.texi b/doc/install.texi
-index e06689613..cec245fd0 100644
---- a/doc/install.texi
-+++ b/doc/install.texi
-@@ -18,9 +18,21 @@ warranty of any kind.
- @node Basic Installation
- @section Basic Installation
-
--Briefly, the shell command
--@samp{./configure@tie{}&& make@tie{}&& make@tie{}install}
--should configure, build, and install this package. The following
-+Briefly, the following shell commands:
-+
-+@example
-+test -f configure || ./bootstrap
-+./configure
-+make
-+make install
-+@end example
-+
-+@noindent
-+should configure, build, and install this package.
-+The @command{./bootstrap} line is intended for developers;
-+you can omit it when building from a distribution tarball.
-+
-+The following
- more-detailed instructions are generic; see the @file{README} file for
- instructions specific to this package.
- @ifclear autoconf
-@@ -32,6 +44,17 @@ More recommendations for GNU packages can be found in
- @ref{Makefile Conventions, , Makefile Conventions, standards,
- GNU Coding Standards}.
-
-+If the @command{bootstrap} shell script exists, it attempts to build the
-+@command{configure} shell script and related files, perhaps by
-+downloading other software components from the network, and by using
-+developer tools that are less commonly installed. Because the output of
-+@command{bootstrap} is system-independent, it is normally run by a
-+package developer so that its output can be put into the distribution
-+tarball and ordinary builders and users need not run @command{bootstrap}.
-+Some packages have commands like @command{./autopull.sh} and
-+@command {./autogen.sh} that you can run instead of @command{./bootstrap},
-+for more fine-grained control over bootstrapping.
-+
- The @command{configure} shell script attempts to guess correct values
- for various system-dependent variables used during compilation. It uses
- those values to create a @file{Makefile} in each directory of the
-@@ -63,8 +86,15 @@ The simplest way to compile this package is:
-
- @enumerate
- @item
--@command{cd} to the directory containing the package's source code and type
--@samp{./configure} to configure the package for your system.
-+@command{cd} to the directory containing the package's source code.
-+
-+@item
-+If this is a developer checkout and file @samp{configure} does not yet exist,
-+type @samp{./bootstrap} to create it.
-+You may need special developer tools and network access to bootstrap.
-+
-+@item
-+Type @samp{./configure} to configure the package for your system.
-
- Running @command{configure} might take a while. While running, it prints some
- messages telling which features it is checking for.
-@@ -124,7 +154,7 @@ parameters by setting variables in the command line or in the environment.
- Here is an example:
-
- @example
--./configure CC=c99 CFLAGS=-g LIBS=-lposix
-+./configure CC=gcc CFLAGS=-g LIBS=-lposix
- @end example
-
- @xref{Defining Variables}, for more details.
-@@ -148,21 +178,10 @@ architecture at a time in the source code directory. After you have
- installed the package for one architecture, use @samp{make distclean}
- before reconfiguring for another architecture.
-
--On MacOS X 10.5 and later systems, you can create libraries and
--executables that work on multiple system types---known as @dfn{fat} or
--@dfn{universal} binaries---by specifying multiple @option{-arch} options
--to the compiler but only a single @option{-arch} option to the
--preprocessor. Like this:
--
--@example
--./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-- CPP="gcc -E" CXXCPP="g++ -E"
--@end example
--
--This is not guaranteed to produce working output in all cases, you may
--have to build one architecture at a time and combine the results
--using the @command{lipo} tool if you have problems.
-+Some platforms, notably macOS, support ``fat'' or ``universal'' binaries,
-+where a single binary can execute on different architectures.
-+On these platforms you can configure and compile just once,
-+with options specific to that platform.
-
- @node Installation Names
- @section Installation Names
-@@ -227,20 +246,16 @@ an extra prefix or suffix on their names by giving @command{configure}
- the option @option{--program-prefix=@var{PREFIX}} or
- @option{--program-suffix=@var{SUFFIX}}.
-
--Some packages pay attention to @option{--enable-@var{feature}} options
-+Some packages pay attention to @option{--enable-@var{feature}}
-+and @option{--disable-@var{feature}} options
- to @command{configure}, where @var{feature} indicates an optional part
- of the package. They may also pay attention to
--@option{--with-@var{package}} options, where @var{package} is something
--like @samp{gnu-as} or @samp{x} (for the X Window System). The
--@file{README} should mention any @option{--enable-} and @option{--with-}
-+@option{--with-@var{package}} and @option{--without-@var{package}} options,
-+where @var{package} is something like @samp{gnu-ld}.
-+@samp{./configure --help} should mention the
-+@option{--enable-...} and @option{--with-...}
- options that the package recognizes.
-
--For packages that use the X Window System, @command{configure} can
--usually find the X include and library files automatically, but if it
--doesn't, you can use the @command{configure} options
--@option{--x-includes=@var{dir}} and @option{--x-libraries=@var{dir}} to
--specify their locations.
--
- Some packages offer the ability to configure how verbose the execution
- of @command{make} will be. For these packages, running
- @samp{./configure --enable-silent-rules} sets the default to minimal
-@@ -248,53 +263,6 @@ output, which can be overridden with @code{make V=1}; while running
- @samp{./configure --disable-silent-rules} sets the default to verbose,
- which can be overridden with @code{make V=0}.
-
--@node Particular Systems
--@section Particular systems
--
--On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is
--not installed, it is recommended to use the following options in order to
--use an ANSI C compiler:
--
--@example
--./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
--@end example
--
--@noindent
--and if that doesn't work, install pre-built binaries of GCC for HP-UX.
--
--HP-UX @command{make} updates targets which have the same timestamps as
--their prerequisites, which makes it generally unusable when shipped
--generated files such as @command{configure} are involved. Use GNU
--@command{make} instead.
--
--On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot
--parse its @code{<wchar.h>} header file. The option @option{-nodtk} can be
--used as a workaround. If GNU CC is not installed, it is therefore
--recommended to try
--
--@example
--./configure CC="cc"
--@end example
--
--@noindent
--and if that doesn't work, try
--
--@example
--./configure CC="cc -nodtk"
--@end example
--
--On Solaris, don't put @code{/usr/ucb} early in your @env{PATH}. This
--directory contains several dysfunctional programs; working variants
--of these programs are available in @code{/usr/bin}. So, if you need
--@code{/usr/ucb} in your @env{PATH}, put it @emph{after} @code{/usr/bin}.
--
--On Haiku, software installed for all users goes in @file{/boot/common},
--not @file{/usr/local}. It is recommended to use the following options:
--
--@example
--./configure --prefix=/boot/common
--@end example
--
- @node System Type
- @section Specifying the System Type
-
-@@ -304,7 +272,8 @@ will run on. Usually, assuming the package is built to be run on the
- @emph{same} architectures, @command{configure} can figure that out, but
- if it prints a message saying it cannot guess the machine type, give it
- the @option{--build=@var{type}} option. @var{type} can either be a
--short name for the system type, such as @samp{sun4}, or a canonical name
-+short name like @samp{mingw64} for the system type, or a canonical name
-+like @samp{x86_64-pc-linux-gnu}
- which has the form:
-
- @example
-@@ -319,6 +288,7 @@ where @var{system} can have one of these forms:
- @var{kernel}-@var{os}
- @end example
-
-+@noindent
- See the file @file{config.sub} for the possible values of each field.
- If @file{config.sub} isn't included in this package, then this package
- doesn't need to know the machine type.
-@@ -405,13 +375,6 @@ traditionally @file{config.cache}. @var{file} defaults to
- @itemx -C
- Alias for @option{--cache-file=config.cache}.
-
--@item --quiet
--@itemx --silent
--@itemx -q
--Do not print messages saying which checks are being made. To suppress
--all normal output, redirect it to @file{/dev/null} (any error messages
--will still be shown).
--
- @item --srcdir=@var{dir}
- Look for the package's source code in directory @var{dir}. Usually
- @command{configure} can determine that directory automatically.
-@@ -421,13 +384,33 @@ Use @var{dir} as the installation prefix. @ref{Installation Names}
- for more details, including other options available for fine-tuning
- the installation locations.
-
-+@item --build=@var{type}
-+Build for architecture @var{type}. @ref{Specifying the System Type}
-+for more details, including other system type options.
-+
-+@item --enable-@var{feature}
-+@itemx --disable-@var{feature}
-+Enable or disable the optional @var{feature}. @xref{Optional Features}.
-+
-+@item --with-@var{package}
-+@itemx --without-@var{package}
-+Use or omit @var{package} when building. @xref{Optional Features}.
-+
-+@item --quiet
-+@itemx --silent
-+@itemx -q
-+Do not print messages saying which checks are being made. To suppress
-+all normal output, redirect it to @file{/dev/null} (any error messages
-+will still be shown).
-+
- @item --no-create
- @itemx -n
- Run the configure checks, but stop before creating any output files.
- @end table
-
- @noindent
--@command{configure} also accepts some other, not widely useful, options.
-+@command{configure} also recognizes several environment variables,
-+and accepts some other, less widely useful, options.
- Run @samp{configure --help} for more details.
-
- @c Local Variables:
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch
deleted file mode 100644
index 7ab5074..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From eaea61e4485cdecf989fa777ff4e166c945a6eea Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Tue, 20 Jun 2023 13:39:15 -0700
-Subject: [PATCH 27/29] doc: fix broken cross-refs
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/autoconf.texi | 5 +----
- doc/install.texi | 2 +-
- 2 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index 0f3047b31..7817fc1b5 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -604,7 +604,6 @@ Running @command{configure} Scripts
- * Multiple Architectures:: Compiling for multiple architectures at once
- * Installation Names:: Installing in different directories
- * Optional Features:: Selecting optional features
--* Particular Systems:: Particular systems
- * System Type:: Specifying the system type
- * Sharing Defaults:: Setting site-wide defaults for @command{configure}
- * Defining Variables:: Specifying the compiler etc.
-@@ -23304,7 +23303,6 @@ may use comes with Autoconf.
- * Multiple Architectures:: Compiling for multiple architectures at once
- * Installation Names:: Installing in different directories
- * Optional Features:: Selecting optional features
--* Particular Systems:: Particular systems
- * System Type:: Specifying the system type
- * Sharing Defaults:: Setting site-wide defaults for @command{configure}
- * Defining Variables:: Specifying the compiler etc.
-@@ -26990,8 +26988,7 @@ for simple differences.
- @item
- Most tests which produce their result in a substituted variable allow to
- override the test by setting the variable on the @command{configure}
--command line (@pxref{Compilers and Options}, @pxref{Defining Variables},
--@pxref{Particular Systems}).
-+command line (@pxref{Compilers and Options}, @pxref{Defining Variables}).
-
- @item
- Many tests store their result in a cache variable (@pxref{Caching
-diff --git a/doc/install.texi b/doc/install.texi
-index cec245fd0..6d9788fa9 100644
---- a/doc/install.texi
-+++ b/doc/install.texi
-@@ -385,7 +385,7 @@ for more details, including other options available for fine-tuning
- the installation locations.
-
- @item --build=@var{type}
--Build for architecture @var{type}. @ref{Specifying the System Type}
-+Build for architecture @var{type}. @ref{System Type}.
- for more details, including other system type options.
-
- @item --enable-@var{feature}
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch
deleted file mode 100644
index 95ad80d..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-From 328f9b88ef896e8e31818c50d9ec2ade5c892ea4 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Fri, 23 Jun 2023 17:37:35 +0200
-Subject: [PATCH 28/29] INSTALL: Clarify --build, --host, --target, and the
- system types.
-
-* doc/install.texi (Compilers and Options): Add another reference.
-(System Types): Renamed from System Type. Explain how to canonicalize
-and how to validate a system type. Don't explain --build, --host,
---target here.
-(Building for a different system type): New section.
-(Troubleshooting the Build Type): New section.
-(Configuring a Compiler): New section.
-(configure Invocation): Mention the --host option, not the --build
-option, since --build is so rarely needed.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/autoconf.texi | 6 +--
- doc/install.texi | 132 +++++++++++++++++++++++++++++++++++++---------
- 2 files changed, 111 insertions(+), 27 deletions(-)
-
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index 7817fc1b5..043f7fb21 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -604,7 +604,7 @@ Running @command{configure} Scripts
- * Multiple Architectures:: Compiling for multiple architectures at once
- * Installation Names:: Installing in different directories
- * Optional Features:: Selecting optional features
--* System Type:: Specifying the system type
-+* System Types:: Specifying a system type
- * Sharing Defaults:: Setting site-wide defaults for @command{configure}
- * Defining Variables:: Specifying the compiler etc.
- * configure Invocation:: Changing how @command{configure} runs
-@@ -22383,7 +22383,7 @@ system it's running on. To do so it runs a script called
- command or symbols predefined by the C preprocessor.
-
- Alternately, the user can specify the system type with command line
--arguments to @command{configure} (@pxref{System Type}. Doing so is
-+arguments to @command{configure} (@pxref{System Types}. Doing so is
- necessary when
- cross-compiling. In the most complex case of cross-compiling, three
- system types are involved. The options to specify them are:
-@@ -23303,7 +23303,7 @@ may use comes with Autoconf.
- * Multiple Architectures:: Compiling for multiple architectures at once
- * Installation Names:: Installing in different directories
- * Optional Features:: Selecting optional features
--* System Type:: Specifying the system type
-+* System Types:: Specifying a system type
- * Sharing Defaults:: Setting site-wide defaults for @command{configure}
- * Defining Variables:: Specifying the compiler etc.
- * configure Invocation:: Changing how @command{configure} runs
-diff --git a/doc/install.texi b/doc/install.texi
-index 6d9788fa9..a3ef17828 100644
---- a/doc/install.texi
-+++ b/doc/install.texi
-@@ -157,8 +157,16 @@ Here is an example:
- ./configure CC=gcc CFLAGS=-g LIBS=-lposix
- @end example
-
--@xref{Defining Variables}, for more details.
--
-+See
-+@ref{Defining Variables} and
-+@ifset autoconf
-+@ref{Preset Output Variables}
-+@end ifset
-+@ifclear autoconf
-+@ref{Preset Output Variables,,, autoconf, Autoconf}
-+@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html})
-+@end ifclear
-+for more details.
-
- @node Multiple Architectures
- @section Compiling For Multiple Architectures
-@@ -263,18 +271,17 @@ output, which can be overridden with @code{make V=1}; while running
- @samp{./configure --disable-silent-rules} sets the default to verbose,
- which can be overridden with @code{make V=0}.
-
--@node System Type
--@section Specifying the System Type
-+@node System Types
-+@section Specifying a System Type
-
--There may be some features @command{configure} cannot figure out
--automatically, but needs to determine by the type of machine the package
--will run on. Usually, assuming the package is built to be run on the
--@emph{same} architectures, @command{configure} can figure that out, but
--if it prints a message saying it cannot guess the machine type, give it
--the @option{--build=@var{type}} option. @var{type} can either be a
--short name like @samp{mingw64} for the system type, or a canonical name
--like @samp{x86_64-pc-linux-gnu}
--which has the form:
-+The following sections go into details regarding situations where you
-+may have to specify a system type, either through the option
-+@option{--host=@var{type}}, or through the option
-+@option{--build=@var{type}}, or -- in the case of compilers -- through
-+@option{--target=@var{type}}.
-+
-+A system type @var{type} can either be a short name like @samp{mingw64},
-+or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form:
-
- @example
- @var{cpu}-@var{company}-@var{system}
-@@ -291,16 +298,93 @@ where @var{system} can have one of these forms:
- @noindent
- See the file @file{config.sub} for the possible values of each field.
- If @file{config.sub} isn't included in this package, then this package
--doesn't need to know the machine type.
-+doesn't need to know any machine type.
-+
-+The file @file{config.sub} is a program that validates and canonicalizes
-+a system type.
-+It can do canonicalization, as in
-+
-+@example
-+$ sh config.sub x86_64-linux
-+x86_64-pc-linux-gnu
-+$ sh config.sub arm64-linux
-+aarch64-unknown-linux-gnu
-+@end example
-+
-+@noindent
-+It also validates the parts. For example, this interaction tells you
-+that ``crusoe'' is not a valid cpu architecture name:
-
--If you are @emph{building} compiler tools for cross-compiling, you
--should use the option @option{--target=@var{type}} to select the type of
--system they will produce code for.
-+@example
-+$ sh config.sub crusoe-linux
-+Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized
-+@end example
-+
-+@node Building for a different system type
-+@section Creating binaries for a different system type
-+
-+When you want to create binaries that will run on a different machine
-+type than the one you are building on, you need to specify both
-+@itemize @bullet
-+@item
-+a @option{--host=@var{type}} option, specifying the machine type on
-+which the binaries shall run,
-+@item
-+compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++
-+compiler, and so on), pointing to compilers that generate object code
-+for that machine type.
-+@end itemize
-+
-+For example, to create binaries intended to run on a 64-bit ARM
-+processor:
-+@example
-+./configure --host=aarch64-linux-gnu \
-+ CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
-+@end example
-
--If you want to @emph{use} a cross compiler, that generates code for a
--platform different from the build platform, you should specify the
--@dfn{host} platform (i.e., that on which the generated programs will
--eventually be run) with @option{--host=@var{type}}.
-+If you do this on a machine that can execute such binaries (e.g.@: by
-+virtue of the @code{qemu-aarch64} program, system libraries for that
-+architecture under @code{$QEMU_LD_PREFIX}, and a Linux
-+@code{binfmt_misc} configuration), the build behaves like a native
-+build.
-+If not, the build is a cross-build, in the sense that @code{configure}
-+will make cross-compilation guesses instead of running test programs,
-+and ``make check'' will not work.
-+
-+@node Troubleshooting the Build Type
-+@section Fixing a ``cannot guess build type'' error
-+
-+In rare cases, it may happen that @code{configure} fails with the error
-+message ``cannot guess build type''.
-+This error means that the files @file{config.guess} and
-+@file{config.sub} don't recognize the type of the system on which you
-+are building.
-+In this case, first fetch the newest versions of these files, from
-+@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess}
-+and
-+@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub},
-+respectively, and use these as drop-in replacement for the files
-+@file{config.guess} and @file{config.sub} that were shipped with this
-+package.
-+
-+If this resolves the problem, feel free to report the solution to the
-+maintainers of this package.
-+
-+Otherwise, it means that your system is not yet supported by
-+@file{config.guess} and @file{config.sub}.
-+As a workaround, you can use a configure option
-+@option{--build=@var{type}}, where @var{type} comes closest to your
-+system type.
-+Also, you're welcome to file a report to
-+@email{config-patches@@gnu.org}.
-+
-+@node Configuring a Compiler
-+@section Configuration options specific to a compiler
-+
-+If you are building a compiler, and this compiler should generate code
-+for a system type that is different from the one on which the compiler
-+binaries shall run on, use the option @option{--target=@var{type}} to
-+select the type of system for which the compiler should produce code.
-
- @node Sharing Defaults
- @section Sharing Defaults
-@@ -384,9 +468,9 @@ Use @var{dir} as the installation prefix. @ref{Installation Names}
- for more details, including other options available for fine-tuning
- the installation locations.
-
--@item --build=@var{type}
--Build for architecture @var{type}. @ref{System Type}.
--for more details, including other system type options.
-+@item --host=@var{type}
-+Build binaries for architecture @var{type}. @ref{System Types} and
-+@ref{Building for a different system type} for more details.
-
- @item --enable-@var{feature}
- @itemx --disable-@var{feature}
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch
deleted file mode 100644
index 9129ab7..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch
+++ /dev/null
@@ -1,366 +0,0 @@
-From d8ca8b323873e5cd9d969a062f70b31db450ba53 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sat, 24 Jun 2023 14:39:34 -0700
-Subject: [PATCH 29/29] Shorten and improve INSTALL
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Rewrite install.texi so that INSTALL is shorter and hopefully
-more useful for new installers.
-* doc/install.texi: When not building the Autoconf manual, put
-copyright notice at the end, and omit external references as they
-do not work in INSTALL.
-Avoid long URLs as they do not work well in INSTALL or
-in info files. Be more consistent (though not entirely
-consistent) about “system” vs “architecture”.
-(System Types, Building for a different system type)
-(Troubleshooting the Build Type): Coalesce into a single section
-and rewrite for clarity and brevity. Mention build-aux. Do not
-mention --target here as it’s too rare to make the cut.
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/install.texi | 224 +++++++++++++++++------------------------------
- 1 file changed, 82 insertions(+), 142 deletions(-)
-
-diff --git a/doc/install.texi b/doc/install.texi
-index a3ef17828..6c3a9c21c 100644
---- a/doc/install.texi
-+++ b/doc/install.texi
-@@ -2,23 +2,13 @@
- @c the INSTALL file.
-
- @ifclear autoconf
--
- @unnumbered Installation Instructions
--
--Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023
--Free Software Foundation, Inc.
--
--Copying and distribution of this file, with or without modification, are
--permitted in any medium without royalty provided the copyright notice
--and this notice are preserved. This file is offered as-is, without
--warranty of any kind.
--
- @end ifclear
-
- @node Basic Installation
- @section Basic Installation
-
--Briefly, the following shell commands:
-+The following shell commands:
-
- @example
- test -f configure || ./bootstrap
-@@ -41,8 +31,13 @@ of the features documented below. The lack of an optional feature in a
- given package is not necessarily a bug.
- @end ifclear
- More recommendations for GNU packages can be found in
-+@ifset autoconf
- @ref{Makefile Conventions, , Makefile Conventions, standards,
- GNU Coding Standards}.
-+@end ifset
-+@ifclear autoconf
-+the GNU Coding Standards.
-+@end ifclear
-
- If the @command{bootstrap} shell script exists, it attempts to build the
- @command{configure} shell script and related files, perhaps by
-@@ -61,8 +56,8 @@ those values to create a @file{Makefile} in each directory of the
- package. It may also create one or more @file{.h} files containing
- system-dependent definitions. Finally, it creates a shell script
- @file{config.status} that you can run in the future to recreate the
--current configuration, and a file @file{config.log} containing compiler
--output (useful mainly for debugging @command{configure}).
-+current configuration, and a file @file{config.log} containing
-+output useful for debugging @command{configure}.
-
- It can also use an optional file (typically called @file{config.cache}
- and enabled with @option{--cache-file=config.cache} or simply
-@@ -77,10 +72,9 @@ they can be considered for the next release. If you are using the
- cache, and at some point @file{config.cache} contains results you don't
- want to keep, you may remove or edit it.
-
--The file @file{configure.ac} (or @file{configure.in}) is used to create
--@file{configure} by a program called @command{autoconf}. You need
--@file{configure.ac} if you want to change it or regenerate
--@file{configure} using a newer version of @command{autoconf}.
-+The @command{autoconf} program generates @file{configure} from the file
-+@file{configure.ac}. Normally you should edit @file{configure.ac}
-+instead of editing @file{configure} directly.
-
- The simplest way to compile this package is:
-
-@@ -95,8 +89,7 @@ You may need special developer tools and network access to bootstrap.
-
- @item
- Type @samp{./configure} to configure the package for your system.
--
--Running @command{configure} might take a while. While running, it prints some
-+This might take a while. While running, @command{configure} prints
- messages telling which features it is checking for.
-
- @item
-@@ -125,21 +118,11 @@ code directory by typing @samp{make clean}. To also remove the files
- that @command{configure} created (so you can compile the package for a
- different kind of computer), type @samp{make distclean}. There is also
- a @samp{make maintainer-clean} target, but that is intended mainly for
--the package's developers. If you use it, you may have to get all sorts
--of other programs in order to regenerate files that came with the
--distribution.
-+the package's developers. If you use it, you may have to bootstrap again.
-
- @item
--Often, you can also type @samp{make uninstall} to remove the installed
--files again. In practice, not all packages have tested that
--uninstallation works correctly, even though it is required by the
--GNU Coding Standards.
--
--@item
--Some packages, particularly those that use Automake, provide @samp{make
--distcheck}, which can by used by developers to test that all other
--targets like @samp{make install} and @samp{make uninstall} work
--correctly. This target is generally not run by end users.
-+If the package follows the GNU Coding Standards,
-+you can type @samp{make uninstall} to remove the installed files.
- @end enumerate
-
- @node Compilers and Options
-@@ -158,21 +141,17 @@ Here is an example:
- @end example
-
- See
--@ref{Defining Variables} and
-+@ref{Defining Variables}
- @ifset autoconf
--@ref{Preset Output Variables}
-+and @ref{Preset Output Variables}
- @end ifset
--@ifclear autoconf
--@ref{Preset Output Variables,,, autoconf, Autoconf}
--@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html})
--@end ifclear
- for more details.
-
- @node Multiple Architectures
- @section Compiling For Multiple Architectures
-
- You can compile the package for more than one kind of computer at the
--same time, by placing the object files for each architecture in their
-+same time, by placing the object files for each system in their
- own directory. To do this, you can use GNU @command{make}.
- @command{cd} to the directory where you want the object files and
- executables to go and run the @command{configure} script.
-@@ -182,9 +161,9 @@ known as a @dfn{VPATH} build.
-
- With a non-GNU @command{make},
- it is safer to compile the package for one
--architecture at a time in the source code directory. After you have
--installed the package for one architecture, use @samp{make distclean}
--before reconfiguring for another architecture.
-+system at a time in the source code directory. After you have
-+installed the package for one system, use @samp{make distclean}
-+before reconfiguring for another system.
-
- Some platforms, notably macOS, support ``fat'' or ``universal'' binaries,
- where a single binary can execute on different architectures.
-@@ -274,117 +253,65 @@ which can be overridden with @code{make V=0}.
- @node System Types
- @section Specifying a System Type
-
--The following sections go into details regarding situations where you
--may have to specify a system type, either through the option
--@option{--host=@var{type}}, or through the option
--@option{--build=@var{type}}, or -- in the case of compilers -- through
--@option{--target=@var{type}}.
--
--A system type @var{type} can either be a short name like @samp{mingw64},
--or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form:
--
--@example
--@var{cpu}-@var{company}-@var{system}
--@end example
--
--@noindent
--where @var{system} can have one of these forms:
-+By default @command{configure} builds for the current system.
-+To create binaries that can run on a different system type,
-+specify a @option{--host=@var{type}} option along with compiler
-+variables that specify how to generate object code for @var{type}.
-+For example, to create binaries intended to run on a 64-bit ARM
-+processor:
-
- @example
--@var{os}
--@var{kernel}-@var{os}
-+./configure --host=aarch64-linux-gnu \
-+ CC=aarch64-linux-gnu-gcc \
-+ CXX=aarch64-linux-gnu-g++
- @end example
-
- @noindent
--See the file @file{config.sub} for the possible values of each field.
--If @file{config.sub} isn't included in this package, then this package
--doesn't need to know any machine type.
--
--The file @file{config.sub} is a program that validates and canonicalizes
--a system type.
--It can do canonicalization, as in
-+If done on a machine that can execute these binaries
-+(e.g., via @command{qemu-aarch64}, @env{$QEMU_LD_PREFIX}, and Linux's
-+@code{binfmt_misc} capability), the build behaves like a native build.
-+Otherwise it is a cross-build: @code{configure}
-+will make cross-compilation guesses instead of running test programs,
-+and @code{make check} will not work.
-+
-+A system type can either be a short name like @samp{mingw64},
-+or a canonical name like @samp{x86_64-pc-linux-gnu}.
-+Canonical names have the form @var{cpu}-@var{company}-@var{system}
-+where @var{system} is either @var{os} or @var{kernel}-@var{os}.
-+To canonicalize and validate a system type,
-+you can run the command @file{config.sub},
-+which is often squirreled away in a subdirectory like @file{build-aux}.
-+For example:
-
- @example
--$ sh config.sub x86_64-linux
--x86_64-pc-linux-gnu
--$ sh config.sub arm64-linux
-+$ build-aux/config.sub arm64-linux
- aarch64-unknown-linux-gnu
-+$ build-aux/config.sub riscv-lnx
-+Invalid configuration 'riscv-lnx': OS 'lnx' not recognized
- @end example
-
- @noindent
--It also validates the parts. For example, this interaction tells you
--that ``crusoe'' is not a valid cpu architecture name:
--
--@example
--$ sh config.sub crusoe-linux
--Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized
--@end example
--
--@node Building for a different system type
--@section Creating binaries for a different system type
--
--When you want to create binaries that will run on a different machine
--type than the one you are building on, you need to specify both
--@itemize @bullet
--@item
--a @option{--host=@var{type}} option, specifying the machine type on
--which the binaries shall run,
--@item
--compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++
--compiler, and so on), pointing to compilers that generate object code
--for that machine type.
--@end itemize
--
--For example, to create binaries intended to run on a 64-bit ARM
--processor:
--@example
--./configure --host=aarch64-linux-gnu \
-- CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
--@end example
--
--If you do this on a machine that can execute such binaries (e.g.@: by
--virtue of the @code{qemu-aarch64} program, system libraries for that
--architecture under @code{$QEMU_LD_PREFIX}, and a Linux
--@code{binfmt_misc} configuration), the build behaves like a native
--build.
--If not, the build is a cross-build, in the sense that @code{configure}
--will make cross-compilation guesses instead of running test programs,
--and ``make check'' will not work.
--
--@node Troubleshooting the Build Type
--@section Fixing a ``cannot guess build type'' error
--
--In rare cases, it may happen that @code{configure} fails with the error
--message ``cannot guess build type''.
--This error means that the files @file{config.guess} and
--@file{config.sub} don't recognize the type of the system on which you
--are building.
--In this case, first fetch the newest versions of these files, from
--@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess}
--and
--@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub},
--respectively, and use these as drop-in replacement for the files
--@file{config.guess} and @file{config.sub} that were shipped with this
--package.
--
--If this resolves the problem, feel free to report the solution to the
--maintainers of this package.
--
--Otherwise, it means that your system is not yet supported by
--@file{config.guess} and @file{config.sub}.
--As a workaround, you can use a configure option
--@option{--build=@var{type}}, where @var{type} comes closest to your
--system type.
--Also, you're welcome to file a report to
-+You can look at the @file{config.sub} file to see which types are recognized.
-+If the file is absent, this package does not need the system type.
-+
-+If @command{configure} fails with the diagnostic ``cannot guess build type''.
-+@file{config.sub} did not recognize your system's type.
-+In this case, first fetch the newest versions of these files
-+from the @url{https://savannah.gnu.org/projects/config, GNU config package}.
-+If that fixes things, please report it to the
-+maintainers of the package containing @command{configure}.
-+Otherwise, you can try the configure option
-+@option{--build=@var{type}} where @var{type} comes close to your
-+system type; also, please report the problem to
- @email{config-patches@@gnu.org}.
-
--@node Configuring a Compiler
--@section Configuration options specific to a compiler
--
--If you are building a compiler, and this compiler should generate code
--for a system type that is different from the one on which the compiler
--binaries shall run on, use the option @option{--target=@var{type}} to
--select the type of system for which the compiler should produce code.
-+For more details about configuring system types, see
-+@ifset autoconf
-+@ref{Manual Configuration}.
-+@end ifset
-+@ifclear autoconf
-+the Autoconf documentation.
-+@end ifclear
-
- @node Sharing Defaults
- @section Sharing Defaults
-@@ -469,8 +396,8 @@ for more details, including other options available for fine-tuning
- the installation locations.
-
- @item --host=@var{type}
--Build binaries for architecture @var{type}. @ref{System Types} and
--@ref{Building for a different system type} for more details.
-+Build binaries for system @var{type}.
-+@xref{System Types}.
-
- @item --enable-@var{feature}
- @itemx --disable-@var{feature}
-@@ -497,6 +424,19 @@ Run the configure checks, but stop before creating any output files.
- and accepts some other, less widely useful, options.
- Run @samp{configure --help} for more details.
-
-+@ifclear autoconf
-+@node Copyright notice
-+@section Copyright notice
-+
-+Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023
-+Free Software Foundation, Inc.
-+
-+Copying and distribution of this file, with or without modification, are
-+permitted in any medium without royalty provided the copyright notice
-+and this notice are preserved. This file is offered as-is, without
-+warranty of any kind.
-+@end ifclear
-+
- @c Local Variables:
- @c fill-column: 72
- @c ispell-local-dictionary: "american"
---
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb
deleted file mode 100644
index 76130d5..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
-DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \
-configure software source code packages. Autoconf creates a configuration script for a package from a template \
-file that lists the operating system features that the package can use, in the form of M4 macro calls."
-LICENSE = "GPL-3.0-or-later"
-HOMEPAGE = "http://www.gnu.org/software/autoconf/"
-SECTION = "devel"
-DEPENDS = "m4-native autoconf-native automake-native gnu-config-native help2man-native"
-DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
- file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-SRC_URI = " \
- https://alpha.gnu.org/gnu/autoconf/autoconf-2.72c.tar.gz \
- file://program_prefix.patch \
- file://autoreconf-exclude.patch \
- file://remove-usr-local-lib-from-m4.patch \
- file://preferbash.patch \
- file://autotest-automake-result-format.patch \
- file://man-host-perl.patch \
- ${BACKPORTS} \
-"
-SRC_URI:append:class-native = " file://no-man.patch"
-
-BACKPORTS = "\
- file://backports/0001-mention-prototypes-more-prominently-in-NEWS.patch \
- file://backports/0002-build-run-make-fetch-which-updated-these.patch \
- file://backports/0003-NEWS-Tighten-up-wording.patch \
- file://backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch \
- file://backports/0006-Fix-timing-bug-on-high-speed-builds.patch \
- file://backports/0007-Support-underquoted-callers-better.patch \
- file://backports/0008-New-script-for-building-inside-Guix-containers.patch \
- file://backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch \
- file://backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch \
- file://backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch \
- file://backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch \
- file://backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch \
- file://backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch \
- file://backports/0015-Support-circa-early-2022-Gnulib.patch \
- file://backports/0016-Improve-year2038-largefile-option-processing.patch \
- file://backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch \
- file://backports/0018-Document-limitation-of-BusyBox-tr.patch \
- file://backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch \
- file://backports/0020-Tone-down-year-2038-changes.patch \
- file://backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch \
- file://backports/0022-Fix-port-of-AC_FUNC_MMAP.patch \
- file://backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch \
- file://backports/0024-Improve-AC_FUNC_MMAP-comments.patch \
- file://backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch \
- file://backports/0026-Modernize-INSTALL.patch \
- file://backports/0027-doc-fix-broken-cross-refs.patch \
- file://backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch \
- file://backports/0029-Shorten-and-improve-INSTALL.patch \
-"
-
-SRC_URI[sha256sum] = "21b64169c820c6cdf27fc981ca9c2fb615546e5dead92bccf8d92d0784cdd364"
-
-RDEPENDS:${PN} = "m4 gnu-config \
- perl \
- perl-module-bytes \
- perl-module-carp \
- perl-module-constant \
- perl-module-data-dumper \
- perl-module-errno \
- perl-module-exporter \
- perl-module-file-basename \
- perl-module-file-compare \
- perl-module-file-copy \
- perl-module-file-find \
- perl-module-file-glob \
- perl-module-file-path \
- perl-module-file-spec \
- perl-module-file-spec-unix \
- perl-module-file-stat \
- perl-module-file-temp \
- perl-module-getopt-long \
- perl-module-io-file \
- perl-module-list-util \
- perl-module-overloading \
- perl-module-posix \
- perl-module-scalar-util \
- perl-module-symbol \
- perl-module-thread-queue \
- perl-module-threads \
- "
-RDEPENDS:${PN}:class-native = "m4-native gnu-config-native hostperl-runtime-native"
-
-inherit autotools texinfo
-
-PERL = "${USRBINPATH}/perl"
-PERL:class-native = "/usr/bin/env perl"
-PERL:class-nativesdk = "/usr/bin/env perl"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
-
-EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
-
-# As autoconf installs its own config.* files, ensure that they're always up to date.
-update_gnu_config() {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/build-aux
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/build-aux
-}
-do_configure[prefuncs] += "update_gnu_config"
-
-do_configure:class-native() {
- oe_runconf
-}
-
-do_install:append() {
- rm -rf ${D}${datadir}/emacs
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.72d.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.72d.bb
new file mode 100644
index 0000000..939fc3a
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf_2.72d.bb
@@ -0,0 +1,82 @@
+SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
+DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \
+configure software source code packages. Autoconf creates a configuration script for a package from a template \
+file that lists the operating system features that the package can use, in the form of M4 macro calls."
+LICENSE = "GPL-3.0-or-later"
+HOMEPAGE = "http://www.gnu.org/software/autoconf/"
+SECTION = "devel"
+DEPENDS = "m4-native autoconf-native automake-native gnu-config-native help2man-native"
+DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
+ file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = " \
+ https://alpha.gnu.org/gnu/autoconf/${BP}.tar.gz \
+ file://program_prefix.patch \
+ file://autoreconf-exclude.patch \
+ file://remove-usr-local-lib-from-m4.patch \
+ file://preferbash.patch \
+ file://autotest-automake-result-format.patch \
+ file://man-host-perl.patch \
+"
+SRC_URI:append:class-native = " file://no-man.patch"
+
+SRC_URI[sha256sum] = "c09dcba3d051507459df2fcd58d6f19e5b342568fa910e3bb3a74b4402cde3a6"
+
+RDEPENDS:${PN} = "m4 gnu-config \
+ perl \
+ perl-module-bytes \
+ perl-module-carp \
+ perl-module-constant \
+ perl-module-data-dumper \
+ perl-module-errno \
+ perl-module-exporter \
+ perl-module-file-basename \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-file-find \
+ perl-module-file-glob \
+ perl-module-file-path \
+ perl-module-file-spec \
+ perl-module-file-spec-unix \
+ perl-module-file-stat \
+ perl-module-file-temp \
+ perl-module-getopt-long \
+ perl-module-io-file \
+ perl-module-list-util \
+ perl-module-overloading \
+ perl-module-posix \
+ perl-module-scalar-util \
+ perl-module-symbol \
+ perl-module-thread-queue \
+ perl-module-threads \
+ "
+RDEPENDS:${PN}:class-native = "m4-native gnu-config-native hostperl-runtime-native"
+
+inherit autotools texinfo
+
+PERL = "${USRBINPATH}/perl"
+PERL:class-native = "/usr/bin/env perl"
+PERL:class-nativesdk = "/usr/bin/env perl"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
+
+EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
+
+# As autoconf installs its own config.* files, ensure that they're always up to date.
+update_gnu_config() {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/build-aux
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/build-aux
+}
+do_configure[prefuncs] += "update_gnu_config"
+
+do_configure:class-native() {
+ oe_runconf
+}
+
+do_install:append() {
+ rm -rf ${D}${datadir}/emacs
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.41.inc b/poky/meta/recipes-devtools/binutils/binutils-2.41.inc
index b4934c0..804f092 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.41.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.41.inc
@@ -18,7 +18,7 @@
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-SRCREV ?= "cb4c3555ac4cf8aaf0935cb6e4b09e6882436d21"
+SRCREV ?= "c1321df4eb0a136304205085cd4913dd4eb01054"
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=https"
SRC_URI = "\
${BINUTILS_GIT_URI} \
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.27.5.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.27.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.27.5.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.27.7.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index ef4eec5..ecb0e48 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -19,7 +19,7 @@
SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
"
-SRC_URI[sha256sum] = "5175e8fe1ca9b1dd09090130db7201968bcce1595971ff9e9998c2f0765004c9"
+SRC_URI[sha256sum] = "08f71a106036bf051f692760ef9558c0577c42ac39e96ba097e7662bd4158d8e"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
index d6a1e04..6434b27 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
+++ b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -18,3 +18,6 @@
foreach(config ${toolchain_config_files})
include(${config})
endforeach()
+
+unset(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES)
+unset(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES)
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.27.5.bb b/poky/meta/recipes-devtools/cmake/cmake_3.27.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.27.5.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.27.7.bb
diff --git a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.27.bb
similarity index 76%
rename from poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb
rename to poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.27.bb
index f6d1146..55c88af 100644
--- a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb
+++ b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.27.bb
@@ -8,18 +8,14 @@
file://src/validator.c;beginline=4;endline=27;md5=281e1114ee6c486a1a0a4295986b9416"
SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[md5sum] = "29739e005f5887cf41639b8450f3c23f"
-SRC_URI[sha256sum] = "b26dbde79ea72c8c84fb7f9d870ffd857381d049a86d25e0038c4cef4c747309"
+SRC_URI[sha256sum] = "a0817df39ce385b6621880407c56f1f298168c040c2032cedf88d5b76affe836"
DEPENDS = "glib-2.0"
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "ac_cv_prog_EMACS=no"
+inherit meson pkgconfig
BBCLASSEXTEND = "native nativesdk"
do_install:append() {
rm -rf ${D}${datadir}/emacs
}
-
diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.7.1.bb
similarity index 70%
rename from poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb
rename to poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.7.1.bb
index 5a89e4b..a23cb33 100644
--- a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb
+++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.7.1.bb
@@ -5,11 +5,8 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=73001d804ea1e3d84365f652242cca20"
HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README"
-SRCREV = "21710612d35cd952490959bfa6ea9fe87aaa52dd"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https \
- file://0001-erofs-utils-fsck-don-t-allocate-read-too-large-exten.patch \
- file://0002-erofs-utils-fsck-block-insane-long-paths-when-extrac.patch \
-"
+SRCREV = "83d94dc619075e71ca4d0f42941cfc18d269a2af"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
@@ -19,8 +16,9 @@
inherit pkgconfig autotools
-PACKAGECONFIG ??= "lz4"
+PACKAGECONFIG ??= "lz4 zlib"
PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse"
diff --git a/poky/meta/recipes-devtools/erofs-utils/files/0001-erofs-utils-fsck-don-t-allocate-read-too-large-exten.patch b/poky/meta/recipes-devtools/erofs-utils/files/0001-erofs-utils-fsck-don-t-allocate-read-too-large-exten.patch
deleted file mode 100644
index 52f475d..0000000
--- a/poky/meta/recipes-devtools/erofs-utils/files/0001-erofs-utils-fsck-don-t-allocate-read-too-large-exten.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From c769805c79d5acede65d96e5786aa5ebb46c01e0 Mon Sep 17 00:00:00 2001
-From: Gao Xiang <hsiangkao@linux.alibaba.com>
-Date: Fri, 2 Jun 2023 11:05:19 +0800
-Subject: [PATCH 1/2] erofs-utils: fsck: don't allocate/read too large extents
-
-Since some crafted EROFS filesystem images could have insane large
-extents, which causes unexpected bahaviors when extracting data.
-
-Fix it by extracting large extents with a buffer of a reasonable
-maximum size limit and reading multiple times instead.
-
-Note that only `--extract` option is impacted.
-
-CVE: CVE-2023-33552
-Closes: https://nvd.nist.gov/vuln/detail/CVE-2023-33552
-Reported-by: Chaoming Yang <lometsj@live.com>
-Fixes: 412c8f908132 ("erofs-utils: fsck: add --extract=X support to extract to path X")
-Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
-Link: https://lore.kernel.org/r/20230602030519.117071-1-hsiangkao@linux.alibaba.com
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- fsck/main.c | 63 +++++++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 49 insertions(+), 14 deletions(-)
-
-diff --git a/fsck/main.c b/fsck/main.c
-index 6b42252..6689ad8 100644
---- a/fsck/main.c
-+++ b/fsck/main.c
-@@ -392,6 +392,8 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
- }
-
- while (pos < inode->i_size) {
-+ unsigned int alloc_rawsize;
-+
- map.m_la = pos;
- if (compressed)
- ret = z_erofs_map_blocks_iter(inode, &map,
-@@ -420,10 +422,28 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
- if (!(map.m_flags & EROFS_MAP_MAPPED) || !fsckcfg.check_decomp)
- continue;
-
-- if (map.m_plen > raw_size) {
-- raw_size = map.m_plen;
-- raw = realloc(raw, raw_size);
-- BUG_ON(!raw);
-+ if (map.m_plen > Z_EROFS_PCLUSTER_MAX_SIZE) {
-+ if (compressed) {
-+ erofs_err("invalid pcluster size %" PRIu64 " @ offset %" PRIu64 " of nid %" PRIu64,
-+ map.m_plen, map.m_la,
-+ inode->nid | 0ULL);
-+ ret = -EFSCORRUPTED;
-+ goto out;
-+ }
-+ alloc_rawsize = Z_EROFS_PCLUSTER_MAX_SIZE;
-+ } else {
-+ alloc_rawsize = map.m_plen;
-+ }
-+
-+ if (alloc_rawsize > raw_size) {
-+ char *newraw = realloc(raw, alloc_rawsize);
-+
-+ if (!newraw) {
-+ ret = -ENOMEM;
-+ goto out;
-+ }
-+ raw = newraw;
-+ raw_size = alloc_rawsize;
- }
-
- if (compressed) {
-@@ -434,18 +454,27 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
- }
- ret = z_erofs_read_one_data(inode, &map, raw, buffer,
- 0, map.m_llen, false);
-+ if (ret)
-+ goto out;
-+
-+ if (outfd >= 0 && write(outfd, buffer, map.m_llen) < 0)
-+ goto fail_eio;
- } else {
-- ret = erofs_read_one_data(&map, raw, 0, map.m_plen);
-- }
-- if (ret)
-- goto out;
-+ u64 p = 0;
-
-- if (outfd >= 0 && write(outfd, compressed ? buffer : raw,
-- map.m_llen) < 0) {
-- erofs_err("I/O error occurred when verifying data chunk @ nid %llu",
-- inode->nid | 0ULL);
-- ret = -EIO;
-- goto out;
-+ do {
-+ u64 count = min_t(u64, alloc_rawsize,
-+ map.m_llen);
-+
-+ ret = erofs_read_one_data(&map, raw, p, count);
-+ if (ret)
-+ goto out;
-+
-+ if (outfd >= 0 && write(outfd, raw, count) < 0)
-+ goto fail_eio;
-+ map.m_llen -= count;
-+ p += count;
-+ } while (map.m_llen);
- }
- }
-
-@@ -460,6 +489,12 @@ out:
- if (buffer)
- free(buffer);
- return ret < 0 ? ret : 0;
-+
-+fail_eio:
-+ erofs_err("I/O error occurred when verifying data chunk @ nid %llu",
-+ inode->nid | 0ULL);
-+ ret = -EIO;
-+ goto out;
- }
-
- static inline int erofs_extract_dir(struct erofs_inode *inode)
---
-2.34.1
-
diff --git a/poky/meta/recipes-devtools/erofs-utils/files/0002-erofs-utils-fsck-block-insane-long-paths-when-extrac.patch b/poky/meta/recipes-devtools/erofs-utils/files/0002-erofs-utils-fsck-block-insane-long-paths-when-extrac.patch
deleted file mode 100644
index f2f1e34..0000000
--- a/poky/meta/recipes-devtools/erofs-utils/files/0002-erofs-utils-fsck-block-insane-long-paths-when-extrac.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 6cebfbb79b1d5d8feb48801e1008eea5bfa8b599 Mon Sep 17 00:00:00 2001
-From: Gao Xiang <hsiangkao@linux.alibaba.com>
-Date: Fri, 2 Jun 2023 13:52:56 +0800
-Subject: [PATCH 2/2] erofs-utils: fsck: block insane long paths when
- extracting images
-
-Since some crafted EROFS filesystem images could have insane deep
-hierarchy (or may form directory loops) which triggers the
-PATH_MAX-sized path buffer OR stack overflow.
-
-Actually some crafted images cannot be deemed as real corrupted
-images but over-PATH_MAX paths are not something that we'd like to
-support for now.
-
-CVE: CVE-2023-33551
-Closes: https://nvd.nist.gov/vuln/detail/CVE-2023-33551
-Reported-by: Chaoming Yang <lometsj@live.com>
-Fixes: f44043561491 ("erofs-utils: introduce fsck.erofs")
-Fixes: b11f84f593f9 ("erofs-utils: fsck: convert to use erofs_iterate_dir()")
-Fixes: 412c8f908132 ("erofs-utils: fsck: add --extract=X support to extract to path X")
-Signeo-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
-Link: https://lore.kernel.org/r/20230602055256.18061-1-hsiangkao@linux.alibaba.com
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- fsck/main.c | 23 +++++++++++++++--------
- 1 file changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/fsck/main.c b/fsck/main.c
-index 6689ad8..28d95ec 100644
---- a/fsck/main.c
-+++ b/fsck/main.c
-@@ -680,28 +680,35 @@ again:
- static int erofsfsck_dirent_iter(struct erofs_dir_context *ctx)
- {
- int ret;
-- size_t prev_pos = fsckcfg.extract_pos;
-+ size_t prev_pos, curr_pos;
-
- if (ctx->dot_dotdot)
- return 0;
-
-- if (fsckcfg.extract_path) {
-- size_t curr_pos = prev_pos;
-+ prev_pos = fsckcfg.extract_pos;
-+ curr_pos = prev_pos;
-+
-+ if (prev_pos + ctx->de_namelen >= PATH_MAX) {
-+ erofs_err("unable to fsck since the path is too long (%u)",
-+ curr_pos + ctx->de_namelen);
-+ return -EOPNOTSUPP;
-+ }
-
-+ if (fsckcfg.extract_path) {
- fsckcfg.extract_path[curr_pos++] = '/';
- strncpy(fsckcfg.extract_path + curr_pos, ctx->dname,
- ctx->de_namelen);
- curr_pos += ctx->de_namelen;
- fsckcfg.extract_path[curr_pos] = '\0';
-- fsckcfg.extract_pos = curr_pos;
-+ } else {
-+ curr_pos += ctx->de_namelen;
- }
--
-+ fsckcfg.extract_pos = curr_pos;
- ret = erofsfsck_check_inode(ctx->dir->nid, ctx->de_nid);
-
-- if (fsckcfg.extract_path) {
-+ if (fsckcfg.extract_path)
- fsckcfg.extract_path[prev_pos] = '\0';
-- fsckcfg.extract_pos = prev_pos;
-- }
-+ fsckcfg.extract_pos = prev_pos;
- return ret;
- }
-
---
-2.34.1
-
diff --git a/poky/meta/recipes-devtools/git/git_2.42.1.bb b/poky/meta/recipes-devtools/git/git_2.43.0.bb
similarity index 97%
rename from poky/meta/recipes-devtools/git/git_2.42.1.bb
rename to poky/meta/recipes-devtools/git/git_2.43.0.bb
index 33269d3..f913290 100644
--- a/poky/meta/recipes-devtools/git/git_2.42.1.bb
+++ b/poky/meta/recipes-devtools/git/git_2.43.0.bb
@@ -160,4 +160,4 @@
"
EXTRA_OEMAKE += "NO_GETTEXT=1"
-SRC_URI[tarball.sha256sum] = "839d75c91ddfa9f7534f7b0888e462e3ad1422bb8ef12ec35f6261cea18efe33"
+SRC_URI[tarball.sha256sum] = "ed238f5c72a014f238cc49fe7df4c6883732a3881111b381c105e2c5be77302f"
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 2a0e6f8..718f798 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -9,8 +9,8 @@
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "63acb96f92473ceb5e21d873d7c0aee266b3d6d3"
-PV = "20230216+git"
+SRCREV = "28ea239c53a2d5d8800c472bc2452eaa16e37af2"
+PV = "20231127+git"
SRC_URI = "git://git.savannah.gnu.org/git/config.git;protocol=https;branch=master \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.17.bb b/poky/meta/recipes-devtools/json-c/json-c_0.17.bb
index f4b7a32..20bcece 100644
--- a/poky/meta/recipes-devtools/json-c/json-c_0.17.bb
+++ b/poky/meta/recipes-devtools/json-c/json-c_0.17.bb
@@ -17,6 +17,9 @@
RPROVIDES:${PN} = "libjson"
+# Required for ICECC builds
+EXTRA_OECMAKE = "-DDISABLE_WERROR=ON"
+
inherit cmake ptest
do_install_ptest() {
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index de8d411..9a88549 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -14,14 +14,14 @@
inherit cmake pkgconfig
-PV = "17.0.5"
+PV = "17.0.6"
MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
LLVM_RELEASE = "${PV}"
BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "98bfdac5ce82d1679f8af9a57501471812ab68d7"
+SRCREV = "6009708b4367171ccdbf4b5905cb6a803753fe18"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
diff --git a/poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.0.bb b/poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.1.bb
similarity index 90%
rename from poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.0.bb
rename to poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.1.bb
index e0c16d2..be3c787 100644
--- a/poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.0.bb
+++ b/poky/meta/recipes-devtools/log4cplus/log4cplus_2.1.1.bb
@@ -9,7 +9,7 @@
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \
"
-SRC_URI[sha256sum] = "2a8eb99d71b0680c0520c7c16248cdb4195da82f396b79fea30b0d9e289c8c72"
+SRC_URI[sha256sum] = "42dc435928917fd2f847046c4a0c6086b2af23664d198c7fc1b982c0bfe600c1"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
diff --git a/poky/meta/recipes-devtools/meson/meson_1.2.2.bb b/poky/meta/recipes-devtools/meson/meson_1.3.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/meson/meson_1.2.2.bb
rename to poky/meta/recipes-devtools/meson/meson_1.3.0.bb
index c38d88f..e794bb2 100644
--- a/poky/meta/recipes-devtools/meson/meson_1.2.2.bb
+++ b/poky/meta/recipes-devtools/meson/meson_1.3.0.bb
@@ -15,7 +15,7 @@
file://0001-Make-CPU-family-warnings-fatal.patch \
file://0002-Support-building-allarch-recipes-again.patch \
"
-SRC_URI[sha256sum] = "4a0f04de331fbc7af3b802a844fc8838f4ccd1ded1e792ba4f8f2faf8c5fe4d6"
+SRC_URI[sha256sum] = "4ba253ef60e454e23234696119cbafa082a0aead0bd3bbf6991295054795f5dc"
inherit python_setuptools_build_meta github-releases
diff --git a/poky/meta/recipes-devtools/python/python-pyasn1.inc b/poky/meta/recipes-devtools/python/python-pyasn1.inc
index 9eb8735..52fd985 100644
--- a/poky/meta/recipes-devtools/python/python-pyasn1.inc
+++ b/poky/meta/recipes-devtools/python/python-pyasn1.inc
@@ -3,7 +3,7 @@
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=190f79253908c986e6cacf380c3a5f6d"
-SRC_URI[sha256sum] = "97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"
+SRC_URI[sha256sum] = "6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"
RDEPENDS:${PN}:class-target += " \
${PYTHON_PN}-codecs \
diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb b/poky/meta/recipes-devtools/python/python3-certifi_2023.11.17.bb
similarity index 75%
rename from poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb
rename to poky/meta/recipes-devtools/python/python3-certifi_2023.11.17.bb
index c4e1e7b..daed712 100644
--- a/poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb
+++ b/poky/meta/recipes-devtools/python/python3-certifi_2023.11.17.bb
@@ -5,9 +5,9 @@
HOMEPAGE = " http://certifi.io/"
LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3c2b7404369c587c3559afb604fce2f2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c"
-SRC_URI[sha256sum] = "539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"
+SRC_URI[sha256sum] = "9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"
inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
index da0a3f2..3a5edaa 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
@@ -9,6 +9,7 @@
crate://crates.io/autocfg/1.1.0 \
crate://crates.io/base64/0.13.1 \
crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitflags/2.4.1 \
crate://crates.io/cc/1.0.79 \
crate://crates.io/cfg-if/1.0.0 \
crate://crates.io/foreign-types/0.3.2 \
@@ -18,9 +19,9 @@
crate://crates.io/lock_api/0.4.9 \
crate://crates.io/memoffset/0.8.0 \
crate://crates.io/once_cell/1.17.2 \
- crate://crates.io/openssl/0.10.54 \
+ crate://crates.io/openssl/0.10.60 \
crate://crates.io/openssl-macros/0.1.1 \
- crate://crates.io/openssl-sys/0.9.88 \
+ crate://crates.io/openssl-sys/0.9.96 \
crate://crates.io/ouroboros/0.15.6 \
crate://crates.io/ouroboros_macro/0.15.6 \
crate://crates.io/parking_lot/0.12.1 \
@@ -64,6 +65,7 @@
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
@@ -73,9 +75,9 @@
SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
SRC_URI[once_cell-1.17.2.sha256sum] = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b"
-SRC_URI[openssl-0.10.54.sha256sum] = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019"
+SRC_URI[openssl-0.10.60.sha256sum] = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-SRC_URI[openssl-sys-0.9.88.sha256sum] = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617"
+SRC_URI[openssl-sys-0.9.96.sha256sum] = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
SRC_URI[ouroboros-0.15.6.sha256sum] = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db"
SRC_URI[ouroboros_macro-0.15.6.sha256sum] = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.5.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.7.bb
similarity index 83%
rename from poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.5.bb
rename to poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.7.bb
index 44c67fd..eda492d 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.7.bb
@@ -9,7 +9,7 @@
# NOTE: Make sure to keep this recipe at the same version as python3-cryptography
# Upgrade both recipes at the same time
-SRC_URI[sha256sum] = "75e82aea2982729312af735adb2983f347bb21fff88ad5dda3673ed70e1d1caf"
+SRC_URI[sha256sum] = "7b36f976b6e58cc1801310e1c93c584c6539d371da7f8538edd8fc463dc80d5b"
PYPI_PACKAGE = "cryptography_vectors"
@@ -27,3 +27,5 @@
BBCLASSEXTEND = "native nativesdk"
UPSTREAM_CHECK_REGEX = ""
+
+RECIPE_NO_UPDATE_REASON = "Must be updated in sync with python3-cryptography."
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_41.0.5.bb b/poky/meta/recipes-devtools/python/python3-cryptography_41.0.7.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-cryptography_41.0.5.bb
rename to poky/meta/recipes-devtools/python/python3-cryptography_41.0.7.bb
index 17b08f0..4585677 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography_41.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography_41.0.7.bb
@@ -8,7 +8,7 @@
"
LDSHARED += "-pthread"
-SRC_URI[sha256sum] = "392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"
+SRC_URI[sha256sum] = "13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"
SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \
file://0001-Fix-include-directory-when-cross-compiling-9129.patch \
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.89.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.90.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.89.0.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.90.0.bb
index 035809c..1760bb3 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.89.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.90.0.bb
@@ -13,7 +13,7 @@
file://test_rle.py \
"
-SRC_URI[sha256sum] = "9168bb12cd29001067e66b5f25f1bbdeff08b80c29c3909e19fc8205d8b9aeed"
+SRC_URI[sha256sum] = "0ab33900b9362318bd03d911a77a0dda8629c1877420074d87ae466919f6e4c0"
RDEPENDS:${PN} += " \
python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-idna_3.4.bb b/poky/meta/recipes-devtools/python/python3-idna_3.6.bb
similarity index 63%
rename from poky/meta/recipes-devtools/python/python3-idna_3.4.bb
rename to poky/meta/recipes-devtools/python/python3-idna_3.6.bb
index 41a666f..228dce6 100644
--- a/poky/meta/recipes-devtools/python/python3-idna_3.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-idna_3.6.bb
@@ -1,9 +1,9 @@
SUMMARY = "Internationalised Domain Names in Applications"
HOMEPAGE = "https://github.com/kjd/idna"
LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dbec47b98e1469f6a104c82ff9698cee"
-SRC_URI[sha256sum] = "814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"
+SRC_URI[sha256sum] = "9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"
inherit pypi python_flit_core
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1_0.5.0.bb b/poky/meta/recipes-devtools/python/python3-pyasn1_0.5.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-pyasn1_0.5.0.bb
rename to poky/meta/recipes-devtools/python/python3-pyasn1_0.5.1.bb
diff --git a/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
index c3f1fb7..9d08e7a 100644
--- a/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
@@ -22,3 +22,5 @@
do_compile:class-native () {
python_flit_core_do_manual_build
}
+
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.5.2.bb b/poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-scons_4.5.2.bb
rename to poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb
index e0173a3..c3cc3f0 100644
--- a/poky/meta/recipes-devtools/python/python3-scons_4.5.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb
@@ -5,7 +5,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7"
SRC_URI += " file://0001-Fix-man-page-installation.patch"
-SRC_URI[sha256sum] = "813360b2bce476bc9cc12a0f3a22d46ce520796b352557202cb07d3e402f5458"
+SRC_URI[sha256sum] = "7db28958b188b800f803c287d0680cc3ac7c422ed0b1cf9895042c52567803ec"
PYPI_PACKAGE = "SCons"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_68.2.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools_69.0.2.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-setuptools_68.2.2.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_69.0.2.bb
index 06957d7..8093ab9 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_68.2.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_69.0.2.bb
@@ -11,7 +11,7 @@
SRC_URI += " \
file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
-SRC_URI[sha256sum] = "4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"
+SRC_URI[sha256sum] = "735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb
rename to poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
index 83bf705..46b46bf 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
@@ -13,7 +13,7 @@
PYPI_PACKAGE = "sphinx_rtd_theme"
-SRC_URI[sha256sum] = "590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"
+SRC_URI[sha256sum] = "bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"
UPSTREAM_CHECK_REGEX ?= "/sphinx-rtd-theme/(?P<pver>(\d+[\.\-_]*)+)/"
inherit setuptools3 pypi
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.4.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.4.bb
deleted file mode 100644
index e352601..0000000
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
-HOMEPAGE = "https://www.sphinx-doc.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c7715857042d4c8c0105999ca0c072c5"
-
-SRC_URI[sha256sum] = "828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"
-
-inherit pypi python_setuptools_build_meta
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.7.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.7.bb
new file mode 100644
index 0000000..ec36706
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.7.bb
@@ -0,0 +1,13 @@
+SUMMARY = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7715857042d4c8c0105999ca0c072c5"
+
+SRC_URI[sha256sum] = "39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"
+
+inherit pypi python_flit_core
+
+PYPI_ARCHIVE_NAME = "sphinxcontrib_applehelp-${PV}.${PYPI_PACKAGE_EXT}"
+S = "${WORKDIR}/sphinxcontrib_applehelp-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb
deleted file mode 100644
index 0d03436..0000000
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
-HOMEPAGE = "https://www.sphinx-doc.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fd30d9972a142c857a80c9f312e92b93"
-
-SRC_URI[sha256sum] = "ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"
-
-PYPI_PACKAGE = "sphinxcontrib-devhelp"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.5.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.5.bb
new file mode 100644
index 0000000..47934bd
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.5.bb
@@ -0,0 +1,15 @@
+SUMMARY = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd30d9972a142c857a80c9f312e92b93"
+
+SRC_URI[sha256sum] = "63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"
+
+PYPI_PACKAGE = "sphinxcontrib-devhelp"
+
+inherit pypi python_flit_core
+
+PYPI_ARCHIVE_NAME = "sphinxcontrib_devhelp-${PV}.${PYPI_PACKAGE_EXT}"
+S = "${WORKDIR}/sphinxcontrib_devhelp-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.1.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.1.bb
deleted file mode 100644
index bf034fb..0000000
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
-HOMEPAGE = "https://www.sphinx-doc.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=24dce5ef6a13563241c24bc366f48886"
-
-SRC_URI[sha256sum] = "0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"
-
-PYPI_PACKAGE = "sphinxcontrib-htmlhelp"
-
-inherit pypi python_setuptools_build_meta
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.4.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.4.bb
new file mode 100644
index 0000000..a0a4b44
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24dce5ef6a13563241c24bc366f48886"
+
+SRC_URI[sha256sum] = "6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"
+
+PYPI_PACKAGE = "sphinxcontrib-htmlhelp"
+
+inherit pypi python_flit_core
+
+PYPI_ARCHIVE_NAME = "sphinxcontrib_htmlhelp-${PV}.${PYPI_PACKAGE_EXT}"
+S = "${WORKDIR}/sphinxcontrib_htmlhelp-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb
deleted file mode 100644
index 41d2b61..0000000
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Is a sphinx extension which outputs QtHelp document."
-HOMEPAGE = "http://babel.edgewall.org/"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f7a83b72ea86d04827575ec0b63430eb"
-
-SRC_URI[sha256sum] = "4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"
-
-PYPI_PACKAGE = "sphinxcontrib-qthelp"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.6.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.6.bb
new file mode 100644
index 0000000..3538b06
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Is a sphinx extension which outputs QtHelp document."
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f7a83b72ea86d04827575ec0b63430eb"
+
+SRC_URI[sha256sum] = "62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"
+
+PYPI_PACKAGE = "sphinxcontrib-qthelp"
+
+inherit pypi python_flit_core
+
+PYPI_ARCHIVE_NAME = "sphinxcontrib_qthelp-${PV}.${PYPI_PACKAGE_EXT}"
+S = "${WORKDIR}/sphinxcontrib_qthelp-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb
deleted file mode 100644
index 7fa6d8a..0000000
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = 'sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle).'
-HOMEPAGE = "https://www.sphinx-doc.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=32a84ac5cd3bbd10c4d479233ad588b6"
-
-SRC_URI[sha256sum] = "aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"
-
-PYPI_PACKAGE = "sphinxcontrib-serializinghtml"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.9.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.9.bb
new file mode 100644
index 0000000..fbf0c3c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.9.bb
@@ -0,0 +1,15 @@
+SUMMARY = 'sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle).'
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32a84ac5cd3bbd10c4d479233ad588b6"
+
+SRC_URI[sha256sum] = "0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"
+
+PYPI_PACKAGE = "sphinxcontrib-serializinghtml"
+
+inherit pypi python_flit_core
+
+PYPI_ARCHIVE_NAME = "sphinxcontrib_serializinghtml-${PV}.${PYPI_PACKAGE_EXT}"
+S = "${WORKDIR}/sphinxcontrib_serializinghtml-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.14.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.22.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.14.bb
rename to poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.22.bb
index a6c7e95..44a6f5d 100644
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.14.bb
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.22.bb
@@ -3,7 +3,7 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "64b5e78305a5de347f2cd7ec8c12d704a3ef0cb85cc10c0ca5f73488d1c201f8"
+SRC_URI[sha256sum] = "c31a7e92f965f060a244b57d8ed5ee6f53fcb413ee17ce790e00577cb369ad99"
inherit pypi python_setuptools_build_meta ptest
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_2.0.7.bb b/poky/meta/recipes-devtools/python/python3-urllib3_2.1.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-urllib3_2.0.7.bb
rename to poky/meta/recipes-devtools/python/python3-urllib3_2.1.0.bb
index c286838..b5b37e2 100644
--- a/poky/meta/recipes-devtools/python/python3-urllib3_2.0.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_2.1.0.bb
@@ -3,7 +3,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda"
-SRC_URI[sha256sum] = "c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"
+SRC_URI[sha256sum] = "df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"
inherit pypi python_hatchling
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.9.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.11.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-wcwidth_0.2.9.bb
rename to poky/meta/recipes-devtools/python/python3-wcwidth_0.2.11.bb
index 983852d..c4db61e 100644
--- a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.11.bb
@@ -4,7 +4,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb"
-SRC_URI[sha256sum] = "a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"
+SRC_URI[sha256sum] = "25eb3ecbec328cdb945f56f2a7cfe784bdf7a73a8197398c7a7c65e7fe93e9ae"
inherit pypi setuptools3 ptest
diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.41.3.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-wheel_0.41.3.bb
rename to poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb
index bdba98b..807888e 100644
--- a/poky/meta/recipes-devtools/python/python3-wheel_0.41.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb
@@ -4,7 +4,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf"
-SRC_URI[sha256sum] = "4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841"
+SRC_URI[sha256sum] = "c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8"
inherit python_flit_core pypi
diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch b/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
new file mode 100644
index 0000000..199031d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
@@ -0,0 +1,32 @@
+From 013ff01fdf2aa6ca69a7c80a2a2996630877e4ea Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Fri, 6 Oct 2023 10:59:44 -0400
+Subject: [PATCH] test_storlines: skip due to load variability
+
+This is yet another test that intermittently fails on the Yocto AB when
+a worker is under heavy load, so skip it during testing.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+[YOCTO #14933]
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ Lib/test/test_ftplib.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
+index 082a90d46b..508814d56a 100644
+--- a/Lib/test/test_ftplib.py
++++ b/Lib/test/test_ftplib.py
+@@ -629,6 +629,7 @@ def test_storbinary_rest(self):
+ self.client.storbinary('stor', f, rest=r)
+ self.assertEqual(self.server.handler_instance.rest, str(r))
+
++ @unittest.skip('timing related test, dependent on load')
+ def test_storlines(self):
+ data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding)
+ f = io.BytesIO(data)
+--
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/python/python3_3.11.5.bb b/poky/meta/recipes-devtools/python/python3_3.11.5.bb
index 8e023c7..d375de4 100644
--- a/poky/meta/recipes-devtools/python/python3_3.11.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.11.5.bb
@@ -33,6 +33,7 @@
file://0001-Avoid-shebang-overflow-on-python-config.py.patch \
file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \
file://0001-skip-no_stdout_fileno-test-due-to-load-variability.patch \
+ file://0001-test_storlines-skip-due-to-load-variability.patch \
"
SRC_URI:append:class-native = " \
diff --git a/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch b/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch
index d3888c8..fba89a3 100644
--- a/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch
+++ b/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch
@@ -19,8 +19,8 @@
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
- # -*- coding:utf-8 -*-
#
# Copyright (C) 2008 The Android Open Source Project
+ #
--
2.33.0
diff --git a/poky/meta/recipes-devtools/repo/repo_2.37.bb b/poky/meta/recipes-devtools/repo/repo_2.39.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.37.bb
rename to poky/meta/recipes-devtools/repo/repo_2.39.bb
index d6d3d03..a0633a5 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.37.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.39.bb
@@ -12,7 +12,7 @@
SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
file://0001-python3-shebang.patch \
"
-SRCREV = "83c66ec661e39e47795086a5d26d0f3782ac1d49"
+SRCREV = "b99272c601bc5f466c3cfc782bb852c2c967ad27"
MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm_1.70.0.bb b/poky/meta/recipes-devtools/rust/rust-llvm_1.70.0.bb
index 57bbe79..5bfc1fa 100644
--- a/poky/meta/recipes-devtools/rust/rust-llvm_1.70.0.bb
+++ b/poky/meta/recipes-devtools/rust/rust-llvm_1.70.0.bb
@@ -30,9 +30,11 @@
LLVM_DIR = "llvm${LLVM_RELEASE}"
+RUST_LLVM_TARGETS ?= "ARM;AArch64;Mips;PowerPC;RISCV;X86"
+
EXTRA_OECMAKE = " \
-DCMAKE_BUILD_TYPE=Release \
- -DLLVM_TARGETS_TO_BUILD='ARM;AArch64;Mips;PowerPC;RISCV;X86' \
+ -DLLVM_TARGETS_TO_BUILD='${RUST_LLVM_TARGETS}' \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ZLIB=OFF \
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index 4a720e6..7a0790f 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -12,8 +12,5 @@
RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src"
-# Used by crossbeam_atomic.patch
-export TARGET_VENDOR
-
UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html"
UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src"
diff --git a/poky/meta/recipes-devtools/rust/rust_1.70.0.bb b/poky/meta/recipes-devtools/rust/rust_1.70.0.bb
index 16d4339..3d176e5 100644
--- a/poky/meta/recipes-devtools/rust/rust_1.70.0.bb
+++ b/poky/meta/recipes-devtools/rust/rust_1.70.0.bb
@@ -72,10 +72,7 @@
python do_configure() {
import json
- try:
- import configparser
- except ImportError:
- import ConfigParser as configparser
+ import configparser
# toml is rather similar to standard ini like format except it likes values
# that look more JSON like. So for our purposes simply escaping all values
@@ -157,13 +154,9 @@
config.set("build", "vendor", e(True))
- if not "targets" in locals():
- targets = [d.getVar("RUST_TARGET_SYS")]
- config.set("build", "target", e(targets))
+ config.set("build", "target", e([d.getVar("RUST_TARGET_SYS")]))
- if not "hosts" in locals():
- hosts = [d.getVar("RUST_HOST_SYS")]
- config.set("build", "host", e(hosts))
+ config.set("build", "host", e([d.getVar("RUST_HOST_SYS")]))
# We can't use BUILD_SYS since that is something the rust snapshot knows
# nothing about when trying to build some stage0 tools (like fabricate)
@@ -232,9 +225,11 @@
ALLOW_EMPTY:${PN} = "1"
-PACKAGES =+ "${PN}-tools-clippy ${PN}-tools-rustfmt"
+PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt"
+FILES:${PN}-rustdoc = "${bindir}/rustdoc"
FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver"
FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt"
+RDEPENDS:${PN}-rustdoc = "${PN}"
RDEPENDS:${PN}-tools-clippy = "${PN}"
RDEPENDS:${PN}-tools-rustfmt = "${PN}"
diff --git a/poky/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch b/poky/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
new file mode 100644
index 0000000..df92c24
--- /dev/null
+++ b/poky/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
@@ -0,0 +1,226 @@
+From 721d5be99eb37d31e48bd66d61808a66a4c5ab84 Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Mon, 30 Oct 2023 12:16:07 -0400
+Subject: [PATCH] changes to SIGINT handler while waiting for a child; skip
+ vertical whitespace after translating an integer
+
+Upstream-Status: Backport from
+[https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=fe24a6a55e8850298b496c5b9d82f1866eba190e]
+
+[Adjust and drop some codes to be applicable the tree]
+
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ general.c | 5 +++--
+ jobs.c | 24 ++++++++++++++++--------
+ tests/redir.right | 4 ++--
+ tests/redir11.sub | 2 ++
+ tests/type.right | 16 ++++++++--------
+ tests/type.tests | 24 ++++++++++++------------
+ 6 files changed, 43 insertions(+), 32 deletions(-)
+
+diff --git a/general.c b/general.c
+index 85c5a8b6..65e2ee06 100644
+--- a/general.c
++++ b/general.c
+@@ -262,8 +262,9 @@ legal_number (string, result)
+ if (errno || ep == string)
+ return 0; /* errno is set on overflow or underflow */
+
+- /* Skip any trailing whitespace, since strtoimax does not. */
+- while (whitespace (*ep))
++ /* Skip any trailing whitespace, since strtoimax does not, using the same
++ test that strtoimax uses for leading whitespace. */
++ while (isspace ((unsigned char) *ep))
+ ep++;
+
+ /* If *string is not '\0' but *ep is '\0' on return, the entire string
+diff --git a/jobs.c b/jobs.c
+index 6b986ed7..262d78de 100644
+--- a/jobs.c
++++ b/jobs.c
+@@ -2718,6 +2718,10 @@ wait_for_background_pids (ps)
+ #define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+ static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+
++/* The current SIGINT handler as set by restore_sigint_handler. Only valid
++ immediately after restore_sigint_handler, used for continuations. */
++static SigHandler *cur_sigint_handler = INVALID_SIGNAL_HANDLER;
++
+ static int wait_sigint_received;
+ static int child_caught_sigint;
+
+@@ -2735,6 +2739,7 @@ wait_sigint_cleanup ()
+ static void
+ restore_sigint_handler ()
+ {
++ cur_sigint_handler = old_sigint_handler;
+ if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+ {
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -2758,8 +2763,7 @@ wait_sigint_handler (sig)
+ restore_sigint_handler ();
+ /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+ what POSIX.2 says (see builtins/wait.def for more info). */
+- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+- signal_is_trapped (SIGINT) &&
++ if (signal_is_trapped (SIGINT) &&
+ ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+ {
+ trap_handler (SIGINT); /* set pending_traps[SIGINT] */
+@@ -2782,6 +2786,8 @@ wait_sigint_handler (sig)
+ {
+ set_exit_status (128+SIGINT);
+ restore_sigint_handler ();
++ if (cur_sigint_handler == INVALID_SIGNAL_HANDLER)
++ set_sigint_handler (); /* XXX - only do this in one place */
+ kill (getpid (), SIGINT);
+ }
+
+@@ -2926,11 +2932,13 @@ wait_for (pid, flags)
+ {
+ SigHandler *temp_sigint_handler;
+
+- temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+- if (temp_sigint_handler == wait_sigint_handler)
+- internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
+- else
+- old_sigint_handler = temp_sigint_handler;
++ temp_sigint_handler = old_sigint_handler;
++ old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
++ if (old_sigint_handler == wait_sigint_handler)
++ {
++ internal_debug ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
++ old_sigint_handler = temp_sigint_handler;
++ }
+ waiting_for_child = 0;
+ if (old_sigint_handler == SIG_IGN)
+ set_signal_handler (SIGINT, old_sigint_handler);
+@@ -4136,7 +4144,7 @@ set_job_status_and_cleanup (job)
+ SIGINT (if we reset the sighandler to the default).
+ In this case, we have to fix things up. What a crock. */
+ if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
+- temp_handler = trap_to_sighandler (SIGINT);
++ temp_handler = trap_to_sighandler (SIGINT);
+ restore_sigint_handler ();
+ if (temp_handler == SIG_DFL)
+ termsig_handler (SIGINT); /* XXX */
+diff --git a/tests/redir.right b/tests/redir.right
+index 8db10414..9e1403c8 100644
+--- a/tests/redir.right
++++ b/tests/redir.right
+@@ -154,10 +154,10 @@ foo
+ 1
+ 7
+ after: 42
+-./redir11.sub: line 53: $(ss= declare -i ss): ambiguous redirect
++./redir11.sub: line 55: $(ss= declare -i ss): ambiguous redirect
+ after: 42
+ a+=3
+ foo
+ foo
+-./redir11.sub: line 75: 42: No such file or directory
++./redir11.sub: line 77: 42: No such file or directory
+ 42
+diff --git a/tests/redir11.sub b/tests/redir11.sub
+index d417cdb6..ca9854cd 100644
+--- a/tests/redir11.sub
++++ b/tests/redir11.sub
+@@ -34,6 +34,8 @@ a=4 b=7 ss=4 declare -i ss
+ a=4 b=7 foo
+ echo after: $a
+
++exec 7>&- 4>&-
++
+ unset a
+ a=4 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 3'; }
+ a=1 echo foo 2>&1 >&$(foo) | { grep -q 'Bad file' || echo 'redir11 bad 4'; }
+diff --git a/tests/type.right b/tests/type.right
+index bbc228e8..e0a66745 100644
+--- a/tests/type.right
++++ b/tests/type.right
+@@ -24,15 +24,15 @@ func ()
+ }
+ while
+ while is a shell keyword
+-./type.tests: line 56: type: m: not found
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++./type.tests: line 59: type: morealias: not found
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ alias
+-alias m='more'
+-alias m='more'
+-alias m='more'
+-m is aliased to `more'
++alias morealias='more'
++alias morealias='more'
++alias morealias='more'
++morealias is aliased to `more'
+ builtin
+ builtin is a shell builtin
+ /bin/sh
+diff --git a/tests/type.tests b/tests/type.tests
+index fd39c18a..ddc15407 100644
+--- a/tests/type.tests
++++ b/tests/type.tests
+@@ -25,8 +25,6 @@ type -r ${THIS_SH}
+ type notthere
+ command -v notthere
+
+-alias m=more
+-
+ unset -f func 2>/dev/null
+ func() { echo this is func; }
+
+@@ -49,24 +47,26 @@ command -V func
+ command -v while
+ command -V while
+
++alias morealias=more
++
+ # the following two lines should produce the same output
+ # post-3.0 patch makes command -v silent, as posix specifies
+ # first test with alias expansion off (should all fail or produce no output)
+-type -t m
+-type m
+-command -v m
++type -t morealias
++type morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+ # then test with alias expansion on
+ shopt -s expand_aliases
+-type m
+-type -t m
+-command -v m
++type morealias
++type -t morealias
++command -v morealias
+ alias -p
+-alias m
++alias morealias
+
+-command -V m
++command -V morealias
+ shopt -u expand_aliases
+
+ command -v builtin
+@@ -76,7 +76,7 @@ command -V /bin/sh
+
+ unset -f func
+ type func
+-unalias m
++unalias morealias
+ type m
+
+ hash -r
+--
+2.35.5
+
diff --git a/poky/meta/recipes-extended/bash/bash_5.2.21.bb b/poky/meta/recipes-extended/bash/bash_5.2.21.bb
index 6df73b6..46d921b 100644
--- a/poky/meta/recipes-extended/bash/bash_5.2.21.bb
+++ b/poky/meta/recipes-extended/bash/bash_5.2.21.bb
@@ -12,6 +12,7 @@
file://run-bash-ptests \
file://fix-run-builtins.patch \
file://use_aclocal.patch \
+ file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \
"
SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8"
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index ff5f55e..31f686c 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -57,7 +57,7 @@
--enable-debug \
--disable-relro \
--enable-libusb \
- --with-system-groups=lpadmin \
+ --with-system-groups=lpadmin,root,sys,wheel \
--with-cups-group=lp \
--with-domainsocket=/run/cups/cups.sock \
--with-pkgconfpath=${libdir}/pkgconfig \
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_6.5.bb b/poky/meta/recipes-extended/ethtool/ethtool_6.6.bb
similarity index 93%
rename from poky/meta/recipes-extended/ethtool/ethtool_6.5.bb
rename to poky/meta/recipes-extended/ethtool/ethtool_6.6.bb
index ef925e1..ab82435 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_6.5.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_6.6.bb
@@ -11,7 +11,7 @@
file://avoid_parallel_tests.patch \
"
-SRC_URI[sha256sum] = "aed41ca58b3129126f18429172064d214191d7e7ef52c6e3f6b2ff7503706c03"
+SRC_URI[sha256sum] = "d4cdb4f7498781fb516e2b3d0eadab28691da3fd3e3445954e82d745de95fb96"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch b/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
index 0c2c97c..8824bf2 100644
--- a/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
+++ b/poky/meta/recipes-extended/iptables/iptables/0001-configure-Add-option-to-enable-disable-libnfnetlink.patch
@@ -1,7 +1,7 @@
-From 698ed332e2c592235d2b737c545ac25ad0970e15 Mon Sep 17 00:00:00 2001
+From 0096c854d5015918ed154dccb3ad472fd06c1010 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:16:31 +0200
-Subject: [PATCH 1/4] configure: Add option to enable/disable libnfnetlink
+Subject: [PATCH] configure: Add option to enable/disable libnfnetlink
This changes the configure behaviour from autodetecting
for libnfnetlink to having an option to disable it explicitly
@@ -10,12 +10,13 @@
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index bc2ed47b..e27745e5 100644
+index d99fa3b..d607772 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,6 +63,9 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
@@ -28,9 +29,9 @@
AC_ARG_ENABLE([connlabel],
AS_HELP_STRING([--disable-connlabel],
[Do not build libnetfilter_conntrack]),
-@@ -117,9 +120,10 @@ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
- AC_CHECK_LIB(pcap, pcap_compile,, AC_MSG_ERROR(missing libpcap library required by bpf compiler or nfsynproxy tool))
- fi
+@@ -113,9 +116,10 @@ AM_CONDITIONAL([ENABLE_SYNCONF], [test "$enable_nfsynproxy" = "yes"])
+ AM_CONDITIONAL([ENABLE_NFTABLES], [test "$enable_nftables" = "yes"])
+ AM_CONDITIONAL([ENABLE_CONNLABEL], [test "$enable_connlabel" = "yes"])
-PKG_CHECK_MODULES([libnfnetlink], [libnfnetlink >= 1.0],
- [nfnetlink=1], [nfnetlink=0])
@@ -40,8 +41,5 @@
+ ])
+AM_CONDITIONAL([HAVE_LIBNFNETLINK], [test "x$enable_libnfnetlink" = "xyes"])
- if test "x$enable_nftables" = "xyes"; then
- PKG_CHECK_MODULES([libmnl], [libmnl >= 1.0], [mnl=1], [mnl=0])
---
-2.30.2
-
+ if test "x$enable_bpfc" = "xyes" || test "x$enable_nfsynproxy" = "xyes"; then
+ PKG_CHECK_MODULES([libpcap], [libpcap], [], [
diff --git a/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch b/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
index 9621d46..a190c7e 100644
--- a/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
+++ b/poky/meta/recipes-extended/iptables/iptables/0002-iptables-xshared.h-add-missing-sys.types.h-include.patch
@@ -1,7 +1,7 @@
-From d4699d2169fe2d91d0f1f4369d40d2e5f42b8877 Mon Sep 17 00:00:00 2001
+From 465e3ef77f1763d225adc76220e43ee9bd73b178 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 17 May 2022 10:56:59 +0200
-Subject: [PATCH 2/4] iptables/xshared.h: add missing sys.types.h include
+Subject: [PATCH] iptables/xshared.h: add missing sys.types.h include
This resolves the build error under musl:
@@ -12,12 +12,13 @@
Upstream-Status: Submitted [via email to phil@nwl.cc]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
---
iptables/xshared.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/iptables/xshared.h b/iptables/xshared.h
-index 0ed9f3c2..b1413834 100644
+index a200e0d..f543dbf 100644
--- a/iptables/xshared.h
+++ b/iptables/xshared.h
@@ -6,6 +6,7 @@
@@ -28,6 +29,3 @@
#include <linux/netfilter_arp/arp_tables.h>
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv6/ip6_tables.h>
---
-2.30.2
-
diff --git a/poky/meta/recipes-extended/iptables/iptables/0003-Makefile.am-do-not-install-etc-ethertypes.patch b/poky/meta/recipes-extended/iptables/iptables/0003-Makefile.am-do-not-install-etc-ethertypes.patch
deleted file mode 100644
index cbc9757..0000000
--- a/poky/meta/recipes-extended/iptables/iptables/0003-Makefile.am-do-not-install-etc-ethertypes.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 28291b41bc3717f51e8d9d465f0100f1ca99dc26 Mon Sep 17 00:00:00 2001
-From: Trevor Gamblin <trevor.gamblin@windriver.com>
-Date: Wed, 9 Mar 2022 12:50:39 -0500
-Subject: [PATCH 3/4] Makefile.am: do not install /etc/ethertypes
-
-The /etc/ethertypes is provided by netbase since 6.0[1].
-Do not instal the file in ebtables, otherwise there would be a conflict:
-Error: Transaction test error:
- file /etc/ethertypes conflicts between attempted installs of
-netbase-1:6.2-r0.corei7_64 and iptables-1.8.7-r0.corei7_64
-
-[1]
-https://salsa.debian.org/md/netbase/-/commit/316680c6a2c3641b6abc76b3eebf88781f609d35)
-
-This patch is based off of the same change made for the ebtables recipe:
-
-http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-filter/ebtables/ebtables-2.0.11/0001-Makefile.am-do-not-install-etc-ethertypes.patch?h=master
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 451c3cb2..5125238c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -20,7 +20,7 @@ EXTRA_DIST = autogen.sh iptables-test.py xlate-test.py
-
- if ENABLE_NFTABLES
- confdir = $(sysconfdir)
--dist_conf_DATA = etc/ethertypes etc/xtables.conf
-+dist_conf_DATA = etc/xtables.conf
- endif
-
- .PHONY: tarball
---
-2.30.2
-
diff --git a/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch b/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
index 20c40c4..5a022eb 100644
--- a/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
+++ b/poky/meta/recipes-extended/iptables/iptables/0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch
@@ -1,7 +1,7 @@
-From e7aa1dd2831f9bb5d0603c5e5027387ad7721b00 Mon Sep 17 00:00:00 2001
+From 6832501bbb90a3dab977a4625d0391804c0e795c Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 21 Feb 2017 11:49:07 +0200
-Subject: [PATCH 4/4] configure.ac:
+Subject: [PATCH] configure.ac:
only-check-conntrack-when-libnfnetlink-enabled.patch
Package libnetfilter-conntrack depends on package libnfnetlink. iptables
@@ -23,15 +23,16 @@
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index e27745e5..528f1bb5 100644
+index d607772..25a8e75 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -158,10 +158,12 @@ if test "$nftables" != 1; then
+@@ -159,10 +159,12 @@ if test "$nftables" != 1; then
fi
if test "x$enable_connlabel" = "xyes"; then
@@ -46,6 +47,3 @@
if test "$nfconntrack" -ne 1; then
blacklist_modules="$blacklist_modules connlabel";
echo "WARNING: libnetfilter_conntrack not found, connlabel match will not be built";
---
-2.30.2
-
diff --git a/poky/meta/recipes-extended/iptables/iptables/format-security.patch b/poky/meta/recipes-extended/iptables/iptables/format-security.patch
deleted file mode 100644
index fae920f..0000000
--- a/poky/meta/recipes-extended/iptables/iptables/format-security.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ed4082a7405a5838c205a34c1559e289949200cc Mon Sep 17 00:00:00 2001
-From: Phil Sutter <phil@nwl.cc>
-Date: Thu, 12 Jan 2023 14:38:44 +0100
-Subject: extensions: NAT: Fix for -Werror=format-security
-
-Have to pass either a string literal or format string to xt_xlate_add().
-
-Fixes: f30c5edce0413 ("extensions: Merge SNAT, DNAT, REDIRECT and MASQUERADE")
-Signed-off-by: Phil Sutter <phil@nwl.cc>
-Upstream-Status: Backport [https://git.netfilter.org/iptables/commit/?id=ed4082a7405a5838c205a34c1559e289949200cc]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- extensions/libxt_NAT.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/extensions/libxt_NAT.c b/extensions/libxt_NAT.c
-index da9f2201..2a634398 100644
---- a/extensions/libxt_NAT.c
-+++ b/extensions/libxt_NAT.c
-@@ -424,7 +424,7 @@ __NAT_xlate(struct xt_xlate *xl, const struct nf_nat_range2 *r,
- if (r->flags & NF_NAT_RANGE_PROTO_OFFSET)
- return 0;
-
-- xt_xlate_add(xl, tgt);
-+ xt_xlate_add(xl, "%s", tgt);
- if (strlen(range_str))
- xt_xlate_add(xl, " to %s", range_str);
- if (r->flags & NF_NAT_RANGE_PROTO_RANDOM) {
---
-cgit v1.2.3
-
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.9.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.10.bb
similarity index 95%
rename from poky/meta/recipes-extended/iptables/iptables_1.8.9.bb
rename to poky/meta/recipes-extended/iptables/iptables_1.8.10.bb
index dc91973..cd2f3bc 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.9.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.10.bb
@@ -15,11 +15,9 @@
file://ip6tables.rules \
file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
file://0002-iptables-xshared.h-add-missing-sys.types.h-include.patch \
- file://0003-Makefile.am-do-not-install-etc-ethertypes.patch \
file://0004-configure.ac-only-check-conntrack-when-libnfnetlink-.patch \
- file://format-security.patch \
"
-SRC_URI[sha256sum] = "ef6639a43be8325a4f8ea68123ffac236cb696e8c78501b64e8106afb008c87f"
+SRC_URI[sha256sum] = "5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c"
SYSTEMD_SERVICE:${PN} = "\
iptables.service \
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.26.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.27.bb
similarity index 95%
rename from poky/meta/recipes-extended/libsolv/libsolv_0.7.26.bb
rename to poky/meta/recipes-extended/libsolv/libsolv_0.7.27.bb
index bae7960..2ea80c6 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.26.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.27.bb
@@ -12,7 +12,7 @@
file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
"
-SRCREV = "48c985375134d2443eee551613161cadc278af2f"
+SRCREV = "0caa2edb94ba228003bf18960e4574256e92f8fb"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
index 7af3ea9..809d927 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
@@ -57,6 +57,11 @@
FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
+# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is
+# packaged with the pam-plugin-env package to avoid breaking installations which
+# install that file via other packages
+FILES:pam-plugin-env = "${sysconfdir}/environment"
+
PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
def get_multilib_bit(d):
@@ -113,7 +118,7 @@
pam_pkgname = mlprefix + 'pam-plugin%s'
do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
- 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='')
+ 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True)
do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
}
diff --git a/poky/meta/recipes-extended/shadow/files/CVE-2023-4641.patch b/poky/meta/recipes-extended/shadow/files/CVE-2023-4641.patch
new file mode 100644
index 0000000..1fabfe9
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/CVE-2023-4641.patch
@@ -0,0 +1,147 @@
+From 25dbe2ce166a13322b7536ff2f738786ea2e61e7 Mon Sep 17 00:00:00 2001
+From: Alejandro Colomar <alx@kernel.org>
+Date: Sat, 10 Jun 2023 16:20:05 +0200
+Subject: [PATCH] gpasswd(1): Fix password leak
+
+How to trigger this password leak?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When gpasswd(1) asks for the new password, it asks twice (as is usual
+for confirming the new password). Each of those 2 password prompts
+uses agetpass() to get the password. If the second agetpass() fails,
+the first password, which has been copied into the 'static' buffer
+'pass' via STRFCPY(), wasn't being zeroed.
+
+agetpass() is defined in <./libmisc/agetpass.c> (around line 91), and
+can fail for any of the following reasons:
+
+- malloc(3) or readpassphrase(3) failure.
+
+ These are going to be difficult to trigger. Maybe getting the system
+ to the limits of memory utilization at that exact point, so that the
+ next malloc(3) gets ENOMEM, and possibly even the OOM is triggered.
+ About readpassphrase(3), ENFILE and EINTR seem the only plausible
+ ones, and EINTR probably requires privilege or being the same user;
+ but I wouldn't discard ENFILE so easily, if a process starts opening
+ files.
+
+- The password is longer than PASS_MAX.
+
+ The is plausible with physical access. However, at that point, a
+ keylogger will be a much simpler attack.
+
+And, the attacker must be able to know when the second password is being
+introduced, which is not going to be easy.
+
+How to read the password after the leak?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Provoking the leak yourself at the right point by entering a very long
+password is easy, and inspecting the process stack at that point should
+be doable. Try to find some consistent patterns.
+
+Then, search for those patterns in free memory, right after the victim
+leaks their password.
+
+Once you get the leak, a program should read all the free memory
+searching for patterns that gpasswd(1) leaves nearby the leaked
+password.
+
+On 6/10/23 03:14, Seth Arnold wrote:
+> An attacker process wouldn't be able to use malloc(3) for this task.
+> There's a handful of tools available for userspace to allocate memory:
+>
+> - brk / sbrk
+> - mmap MAP_ANONYMOUS
+> - mmap /dev/zero
+> - mmap some other file
+> - shm_open
+> - shmget
+>
+> Most of these return only pages of zeros to a process. Using mmap of an
+> existing file, you can get some of the contents of the file demand-loaded
+> into the memory space on the first use.
+>
+> The MAP_UNINITIALIZED flag only works if the kernel was compiled with
+> CONFIG_MMAP_ALLOW_UNINITIALIZED. This is rare.
+>
+> malloc(3) doesn't zero memory, to our collective frustration, but all the
+> garbage in the allocations is from previous allocations in the current
+> process. It isn't leftover from other processes.
+>
+> The avenues available for reading the memory:
+> - /dev/mem and /dev/kmem (requires root, not available with Secure Boot)
+> - /proc/pid/mem (requires ptrace privileges, mediated by YAMA)
+> - ptrace (requires ptrace privileges, mediated by YAMA)
+> - causing memory to be swapped to disk, and then inspecting the swap
+>
+> These all require a certain amount of privileges.
+
+How to fix it?
+~~~~~~~~~~~~~~
+
+memzero(), which internally calls explicit_bzero(3), or whatever
+alternative the system provides with a slightly different name, will
+make sure that the buffer is zeroed in memory, and optimizations are not
+allowed to impede this zeroing.
+
+This is not really 100% effective, since compilers may place copies of
+the string somewhere hidden in the stack. Those copies won't get zeroed
+by explicit_bzero(3). However, that's arguably a compiler bug, since
+compilers should make everything possible to avoid optimizing strings
+that are later passed to explicit_bzero(3). But we all know that
+sometimes it's impossible to have perfect knowledge in the compiler, so
+this is plausible. Nevertheless, there's nothing we can do against such
+issues, except minimizing the time such passwords are stored in plain
+text.
+
+Security concerns
+~~~~~~~~~~~~~~~~~
+
+We believe this isn't easy to exploit. Nevertheless, and since the fix
+is trivial, this fix should probably be applied soon, and backported to
+all supported distributions, to prevent someone else having more
+imagination than us to find a way.
+
+Affected versions
+~~~~~~~~~~~~~~~~~
+
+All. Bug introduced in shadow 19990709. That's the second commit in
+the git history.
+
+Fixes: 45c6603cc86c ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
+
+CVE: CVE-2023-4641
+Upstream-Status: Backport [https://github.com/shadow-maint/shadow/commit/65c88a43a23c2391dcc90c0abda3e839e9c57904]
+
+Reported-by: Alejandro Colomar <alx@kernel.org>
+Cc: Serge Hallyn <serge@hallyn.com>
+Cc: Iker Pedrosa <ipedrosa@redhat.com>
+Cc: Seth Arnold <seth.arnold@canonical.com>
+Cc: Christian Brauner <christian@brauner.io>
+Cc: Balint Reczey <rbalint@debian.org>
+Cc: Sam James <sam@gentoo.org>
+Cc: David Runge <dvzrv@archlinux.org>
+Cc: Andreas Jaeger <aj@suse.de>
+Cc: <~hallyn/shadow@lists.sr.ht>
+Signed-off-by: Alejandro Colomar <alx@kernel.org>
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ src/gpasswd.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gpasswd.c b/src/gpasswd.c
+index 5983f787..2d8869ef 100644
+--- a/src/gpasswd.c
++++ b/src/gpasswd.c
+@@ -896,6 +896,7 @@ static void change_passwd (struct group *gr)
+ strzero (cp);
+ cp = getpass (_("Re-enter new password: "));
+ if (NULL == cp) {
++ memzero (pass, sizeof pass);
+ exit (1);
+ }
+
+--
+2.34.1
+
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 83e1a84..ce3ce62 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -17,6 +17,7 @@
file://0001-Fix-can-not-print-full-login.patch \
file://CVE-2023-29383.patch \
file://0001-Overhaul-valid_field.patch \
+ file://CVE-2023-4641.patch \
"
SRC_URI:append:class-target = " \
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb b/poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb
similarity index 94%
rename from poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb
index 577eb43..c8631e0 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb
@@ -31,7 +31,7 @@
file://migrator.patch \
file://distributor.patch \
"
-SRC_URI[archive.sha256sum] = "5335dd573581db61e126d854dc16ae519657a5b8790789a47d25e43e17cd3a43"
+SRC_URI[archive.sha256sum] = "7c994ef34ecd60e915de331ee123c08938f9623cefada6d50b99e3c9c5ad8135"
# Developer mode enables debugging
PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
diff --git a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.1.bb b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.3.bb
similarity index 94%
rename from poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.1.bb
rename to poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.3.bb
index 7722ebd..54d7ef7 100644
--- a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.1.bb
+++ b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_2023.3.bb
@@ -10,7 +10,7 @@
SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
-SRCREV = "63b4fad4181e793f34b7777a89e5cb58fe8ac7e6"
+SRCREV = "96f2e9b93e1d8a5338eb05b87fd879856ab7b3cc"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.117.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.118.bb
similarity index 96%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.117.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.118.bb
index 3e6fb16..7e0b23e 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.117.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.118.bb
@@ -13,7 +13,7 @@
SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
"
-SRC_URI[sha256sum] = "a2888d69e3eb1c8a77adc08a75a60fbae01f0d208d26f034d1a12e362361242b"
+SRC_URI[sha256sum] = "a777bd85f2b5fc9c57f886c82058300578317cafdbc77d0a769d7e9a9567ab88"
inherit meson pkgconfig manpages
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
index 8230ba5..06379ee 100644
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
@@ -1,4 +1,4 @@
-From c853c9e5c44f1b23a15a7ba629ee02f7d8ec23a0 Mon Sep 17 00:00:00 2001
+From 2afe24fc95dbb89e99df29ccbe73afa835f58202 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 6 Jan 2020 12:44:42 +0100
Subject: [PATCH] meson.build: use 'python3' directly for python
@@ -14,15 +14,15 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 13d95bb..b241eb2 100644
+index de6d16b5..79cedbf6 100644
--- a/meson.build
+++ b/meson.build
-@@ -64,7 +64,7 @@ flags = [
+@@ -68,7 +68,7 @@ flags = [
add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
-prog_python = import('python').find_installation('python3')
+prog_python = 'python3'
- libdrm_dep = dependency('libdrm', version : '>=2.4.50')
- thread_dep = dependency('threads')
+ not_found = dependency('', required: false)
+ libdrm_dep = dependency('libdrm', version : '>=2.4.50', required: get_option('drm').enabled() or get_option('venus'))
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch
new file mode 100644
index 0000000..48488d7
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch
@@ -0,0 +1,56 @@
+From ea328b246d093477cf26a68b42e975aaaef6abad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Nov 2023 21:55:36 -0800
+Subject: [PATCH] vtest: Fix undefined behavior with clang
+
+This is seen when compiling with CC="clang -D_FORTIFY_SOURCE=2"
+Move #ifdef outside of printf() call.
+
+Fixes
+
+| ../git/vtest/vtest_server.c:244:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
+| 244 | #ifdef ENABLE_VENUS
+| | ^
+| ../git/vtest/vtest_server.c:246:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
+| 246 | #endif
+| | ^
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1309]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vtest/vtest_server.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c
+index 1ca7f74f..93d949d7 100644
+--- a/vtest/vtest_server.c
++++ b/vtest/vtest_server.c
+@@ -197,6 +197,12 @@ static void vtest_server_parse_args(int argc, char **argv)
+ /* getopt_long stores the option index here. */
+ int option_index = 0;
+
++#ifdef ENABLE_VENUS
++ char* ven = " [--venus]";
++#else
++ char* ven = "";
++#endif
++
+ do {
+ ret = getopt_long(argc, argv, "", long_options, &option_index);
+
+@@ -244,10 +250,8 @@ static void vtest_server_parse_args(int argc, char **argv)
+ printf("Usage: %s [--no-fork] [--no-loop-or-fork] [--multi-clients] "
+ "[--use-glx] [--use-egl-surfaceless] [--use-gles] [--no-virgl]"
+ "[--rendernode <dev>] [--socket-path <path>] "
+-#ifdef ENABLE_VENUS
+- " [--venus]"
+-#endif
+- " [file]\n", argv[0]);
++ "%s"
++ " [file]\n", argv[0], ven);
+ exit(EXIT_FAILURE);
+ break;
+ }
+--
+2.43.0
+
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.4.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb
similarity index 83%
rename from poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.4.bb
rename to poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb
index f76e7cb..eb7ba10 100644
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.4.bb
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb
@@ -9,18 +9,19 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm"
-SRCREV = "88b9fe3bfc64b23a701e4875006dbc0e769f14f6"
-SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=master;protocol=https \
+SRCREV = "9c9d55ecbe502e0d71ee99529709efcca69aac42"
+SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https \
file://0001-meson.build-use-python3-directly-for-python.patch \
+ file://0001-vtest-Fix-undefined-behavior-with-clang.patch \
"
S = "${WORKDIR}/git"
inherit meson pkgconfig features_check
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus-experimental', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus', '', d)}"
-PACKAGECONFIG[venus-experimental] = "-Dvenus-experimental=true,-Dvenus-experimental=false,vulkan-loader vulkan-headers"
+PACKAGECONFIG[venus] = "-Dvenus=true,-Dvenus=false,vulkan-loader vulkan-headers"
PACKAGECONFIG[va] = "-Dvideo=true,-Dvideo=false,libva"
PACKAGECONFIG[render-server] = "-Drender-server=true,-Drender-server=false"
PACKAGECONFIG[drm-msm-experimental] = "-Ddrm-msm-experimental=true,-Ddrm-msm-experimental=false"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb
similarity index 92%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb
index 62e9b15..02045cc 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb
@@ -9,11 +9,11 @@
SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "560f11c4bbbca10f495f3ef7d3a6aa4ca62b4f8fb0b52e7d459d18a26e46e017"
+SRC_URI[sha256sum] = "0edc14eccdd391514458bc5f5a4b99863ed2d651e4dd761a90abf4f46ef99c2b"
UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
-inherit meson pkgconfig
+inherit meson pkgconfig bash-completion
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} xkbregistry"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch
new file mode 100644
index 0000000..598f5a7
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch
@@ -0,0 +1,79 @@
+From 4f32efe70b618c4721bf197692fc9d709d352528 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 20 Nov 2023 11:27:12 -0500
+Subject: [PATCH 1/2] fix: phys_proc_id and cpu_core_id moved in linux
+ 6.7.0-rc1
+
+See upstream commit:
+
+ commit 02fb601d27a7abf60d52b21bdf5b100a8d63da3f
+ Author: Thomas Gleixner <tglx@linutronix.de>
+ Date: Mon Aug 14 10:18:30 2023 +0200
+
+ x86/cpu: Move phys_proc_id into topology info
+
+ Rename it to pkg_id which is the terminology used in the kernel.
+
+ No functional change.
+
+See upstream commit:
+
+ commit e95256335d45cc965cd12c423535002974313340
+ Author: Thomas Gleixner <tglx@linutronix.de>
+ Date: Mon Aug 14 10:18:34 2023 +0200
+
+ x86/cpu: Move cpu_core_id into topology info
+
+ Rename it to core_id and stick it to the other ID fields.
+
+ No functional change.
+
+Upstream-Status: Backport [commit 4f32efe7]
+
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Change-Id: I574b02430210d5bb72c4b9db901d0e3a6dc7bea0
+---
+ .../instrumentation/events/lttng-statedump.h | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/include/instrumentation/events/lttng-statedump.h b/include/instrumentation/events/lttng-statedump.h
+index 642aa356..4831a941 100644
+--- a/include/instrumentation/events/lttng-statedump.h
++++ b/include/instrumentation/events/lttng-statedump.h
+@@ -253,6 +253,23 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
+
+ #define LTTNG_HAVE_STATEDUMP_CPU_TOPOLOGY
+
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0))
++LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
++ TP_PROTO(struct lttng_kernel_session *session, struct cpuinfo_x86 *c),
++ TP_ARGS(session, c),
++ TP_FIELDS(
++ ctf_string(architecture, "x86")
++ ctf_integer(uint16_t, cpu_id, c->cpu_index)
++ ctf_string(vendor, c->x86_vendor_id[0] ? c->x86_vendor_id : "unknown")
++ ctf_integer(uint8_t, family, c->x86)
++ ctf_integer(uint8_t, model, c->x86_model)
++ ctf_string(model_name, c->x86_model_id[0] ? c->x86_model_id : "unknown")
++ ctf_integer(uint16_t, physical_id, c->topo.pkg_id)
++ ctf_integer(uint16_t, core_id, c->topo.core_id)
++ ctf_integer(uint16_t, cores, c->booted_cores)
++ )
++)
++#else
+ LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
+ TP_PROTO(struct lttng_kernel_session *session, struct cpuinfo_x86 *c),
+ TP_ARGS(session, c),
+@@ -268,6 +285,8 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
+ ctf_integer(uint16_t, cores, c->booted_cores)
+ )
+ )
++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0) */
++
+ #endif /* CONFIG_X86_32 || CONFIG_X86_64 */
+
+ #endif /* LTTNG_TRACE_LTTNG_STATEDUMP_H */
+--
+2.34.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
index 76a5787..120528b 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
@@ -19,10 +19,10 @@
src/Kbuild | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
-diff --git a/src/Kbuild b/src/Kbuild
-index 7137874..04eb5c9 100644
---- a/src/Kbuild
-+++ b/src/Kbuild
+Index: lttng-modules-2.13.10/src/Kbuild
+===================================================================
+--- lttng-modules-2.13.10.orig/src/Kbuild
++++ lttng-modules-2.13.10/src/Kbuild
@@ -2,10 +2,13 @@
ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
@@ -38,7 +38,7 @@
TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/..
lttng_check_linux_version = $(shell pwd)/include/linux/version.h
-@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-impl.o
+@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-
obj-$(CONFIG_LTTNG) += probes/
obj-$(CONFIG_LTTNG) += lib/
obj-$(CONFIG_LTTNG) += tests/
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch
new file mode 100644
index 0000000..b374483
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch
@@ -0,0 +1,35 @@
+From 76e4ea0c33a8c7726c0df28083d5c8bc1c1335e8 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@gmail.com>
+Date: Thu, 23 Nov 2023 13:49:51 -0500
+Subject: [PATCH] wrapper/fdtable: adjust fd lookup to v6.7+
+
+commit 0ede61d8589cc2d93 [file: convert to SLAB_TYPESAFE_BY_RCU]
+renames lookup_fd_rcu to lookup_fdget_rcu, so we need to
+version adjust the fdtable wrapper accordingly.
+
+Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2023-November/030667.html]
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ include/wrapper/fdtable.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/include/wrapper/fdtable.h b/include/wrapper/fdtable.h
+index fa5f7207..aaf2b9e7 100644
+--- a/include/wrapper/fdtable.h
++++ b/include/wrapper/fdtable.h
+@@ -16,7 +16,11 @@
+ static inline
+ struct file *lttng_lookup_fd_rcu(unsigned int fd)
+ {
++#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(6,7,0))
+ return lookup_fd_rcu(fd);
++#else
++ return lookup_fdget_rcu(fd);
++#endif
+ }
+ #else
+ static inline
+--
+2.34.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch
new file mode 100644
index 0000000..a1b979c
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch
@@ -0,0 +1,71 @@
+From aee34d916bdae79abcf103ef098cbb2e0c20bf83 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 20 Nov 2023 11:33:14 -0500
+Subject: [PATCH 2/2] fix: mm, vmscan signatures changed in linux 6.7.0-rc1
+
+See upstream commit:
+
+ commit 3dfbb555c98ac55b9d911f9af0e35014b445fb41
+ Author: Vlastimil Babka <vbabka@suse.cz>
+ Date: Thu Sep 14 15:16:39 2023 +0200
+
+ mm, vmscan: remove ISOLATE_UNMAPPED
+
+ This isolate_mode_t flag is effectively unused since 89f6c88a6ab4 ("mm:
+ __isolate_lru_page_prepare() in isolate_migratepages_block()") as
+ sc->may_unmap is now checked directly (and only node_reclaim has a mode
+ that sets it to 0). The last remaining place is mm_vmscan_lru_isolate
+ tracepoint for the isolate_mode parameter. That one was mainly used to
+ indicate the active/inactive mode, which the trace-vmscan-postprocess.pl
+ script consumed, but that got silently broken. After fixing the script by
+ the previous patch, it does not need the isolate_mode anymore. So just
+ remove the parameter and with that the whole ISOLATE_UNMAPPED flag.
+
+Upstream-Status: Backport [commit aee34d91]
+
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Change-Id: Ie7346886d926a1a9d20bcb1570c587c5e943a1c3
+---
+ include/instrumentation/events/mm_vmscan.h | 28 +++++++++++++++++++++-
+ 1 file changed, 27 insertions(+), 1 deletion(-)
+
+Index: lttng-modules-2.13.10/include/instrumentation/events/mm_vmscan.h
+===================================================================
+--- lttng-modules-2.13.10.orig/include/instrumentation/events/mm_vmscan.h
++++ lttng-modules-2.13.10/include/instrumentation/events/mm_vmscan.h
+@@ -369,7 +369,33 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_sla
+ )
+ #endif
+
+-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0))
++LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate,
++
++ TP_PROTO(int classzone_idx,
++ int order,
++ unsigned long nr_requested,
++ unsigned long nr_scanned,
++ unsigned long nr_skipped,
++ unsigned long nr_taken,
++ int lru
++ ),
++
++ TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped,
++ nr_taken, lru
++ ),
++
++ TP_FIELDS(
++ ctf_integer(int, classzone_idx, classzone_idx)
++ ctf_integer(int, order, order)
++ ctf_integer(unsigned long, nr_requested, nr_requested)
++ ctf_integer(unsigned long, nr_scanned, nr_scanned)
++ ctf_integer(unsigned long, nr_skipped, nr_skipped)
++ ctf_integer(unsigned long, nr_taken, nr_taken)
++ ctf_integer(int, lru, lru)
++ )
++)
++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
+ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate,
+
+ TP_PROTO(int classzone_idx,
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
index 4c0e37e..a7e3096 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
@@ -10,6 +10,9 @@
include lttng-platforms.inc
SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch \
+ file://0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch \
+ file://0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch \
"
# Use :append here so that the patch is applied also when using devupstream
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.3.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/mpg123/mpg123_1.31.3.bb
rename to poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb
index b03ee9f..3ea68b1 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.3.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb
@@ -10,7 +10,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "1ca77d3a69a5ff845b7a0536f783fee554e1041139a6b978f6afe14f5814ad1a"
+SRC_URI[sha256sum] = "2d9913a57d4ee8f497a182c6e82582602409782a4fb481e989feebf4435867b4"
UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -40,7 +40,6 @@
EXTRA_OECONF = " \
--enable-shared \
--enable-largefile \
- --disable-lfs-alias \
--with-audio='${AUDIOMODS}' \
${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
index e996776..a1fc9e2 100644
--- a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
@@ -1,4 +1,4 @@
-From 174fd202f2c85e43261139d71ad18908cc29b586 Mon Sep 17 00:00:00 2001
+From 7cf4cf097895bd4c3f3d3a6f783c766b3173cf1a Mon Sep 17 00:00:00 2001
From: Randy Witt <randy.e.witt@intel.com>
Date: Fri, 16 Oct 2020 16:54:30 -0700
Subject: [PATCH] Makefile: Allow for CC and AR to be overridden
@@ -15,11 +15,11 @@
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index 4df61ec..a229986 100644
+index 223a839..a735584 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
- VERSION = 2.5
+ VERSION = 2.6
-CC = $(CROSS_COMPILE)gcc
-AR = $(CROSS_COMPILE)ar
+CC ?= $(CROSS_COMPILE)gcc
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
index 527e14a..70315c4 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -1,5 +1,5 @@
-SRCREV = "4579b9a6d85ae528f76e92421eb5e7b33cd26b17"
-PV = "2.5"
+SRCREV = "217cd8518c5f7777d490892aa9c765a6b2782cb5"
+PV = "2.6"
PE = "1"
SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main;protocol=https"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
index 34e0ff9..e5ece82 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
@@ -1,4 +1,4 @@
-From 647c93de99a0f71f478d76a4cc7714eba7ba1447 Mon Sep 17 00:00:00 2001
+From 95398982f4a120147a98a27e176facf6d95b2bf7 Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Thu, 2 Jun 2022 11:19:06 +0300
Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems
@@ -33,6 +33,7 @@
Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
.../cpu/arm/filters/FELightingNEON.cpp | 4 +-
.../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++----------
@@ -203,7 +204,7 @@
-
-#endif // FELightingNEON_h
diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
-index 70c6512f..b032c82e 100644
+index 70f583b3..7d5d27e5 100644
--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
@@ -26,6 +26,10 @@
@@ -218,7 +219,7 @@
class DistantLightSource : public LightSource {
diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
-index 53beb596..e78a9354 100644
+index 179edf6d..694d712d 100644
--- a/Source/WebCore/platform/graphics/filters/FELighting.h
+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
@@ -35,8 +35,6 @@
@@ -229,8 +230,8 @@
-
class FELighting : public FilterEffect {
public:
- const Color& lightingColor() const { return m_lightingColor; }
-@@ -64,11 +62,6 @@ protected:
+ bool operator==(const FELighting&) const;
+@@ -68,11 +66,6 @@ protected:
std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override;
@@ -243,7 +244,7 @@
float m_surfaceScale;
float m_diffuseConstant;
diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h
-index 3a5723f0..675d63f5 100644
+index a8cfdab8..34f867bb 100644
--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h
@@ -26,6 +26,10 @@
@@ -258,7 +259,7 @@
class PointLightSource : public LightSource {
diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
-index 684626f7..dea58389 100644
+index 6404467a..5cac38f2 100644
--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
@@ -26,6 +26,10 @@
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch b/poky/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch
deleted file mode 100644
index ae99810..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Add additional check on GST_GL_HAVE_PLATFORM_GLX before using gst_gl_display_x11_new_with_display
-
-This ensures that there is a compile time check for glx support in gstreamer as
-runtime check is not enough because gst_gl_display_x11_new_with_display() API comes from
-gst/gl/x11/gstgldisplay_x11.h which is only included when GST_GL_HAVE_PLATFORM_GLX is defined
-therefore make this check consistent to fix build with some platforms which use pvr gl drivers
-where this problem appear at compile time.
-
-
-/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/webkitgtk/2.40.2-r0/webkitgtk-2.40.2/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp:68:31: error: use of undeclared identifier 'gst_gl_display_x11_new_with_display'; did you mean 'gst_gl_display_egl_new_with_egl_display'?
- 68 | return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- | gst_gl_display_egl_new_with_egl_display
-
-This issue is 2.40 specific since GLX support is removed [1] from trunk upstream, therefore
-this patch wont be needed when upgrading to 2.42+
-
-[1] https://github.com/WebKit/WebKit/commit/320560f9e53ddcd53954059bd005e0c75eb91abf
-
-Upstream-Status: Inappropriate [GLX support is gone in 2.41+]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp 2023-02-20 01:22:18.917743700 -0800
-+++ b/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp 2023-07-08 08:45:09.739177065 -0700
-@@ -63,7 +63,7 @@
- if (glPlatform == GST_GL_PLATFORM_EGL)
- return GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(sharedDisplay.eglDisplay()));
- #endif
--#if USE(GLX)
-+#if USE(GLX) && GST_GL_HAVE_PLATFORM_GLX
- if (is<PlatformDisplayX11>(sharedDisplay) && glPlatform == GST_GL_PLATFORM_GLX)
- return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
- #endif
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
similarity index 97%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
index 0c54f20..2ba60eb 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
@@ -13,10 +13,9 @@
file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
file://reproducibility.patch \
file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
- file://check-GST_GL_HAVE_PLATFORM_GLX.patch \
file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
"
-SRC_URI[sha256sum] = "7de051a263668621d91a61a5eb1c3771d1a7cec900043d4afef06c326c16037f"
+SRC_URI[sha256sum] = "5720aa3e8627f1b9f63252187d4df0f8233ae71d697b1796ebfbe5ca750bd118"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
@@ -75,6 +74,7 @@
PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
EXTRA_OECMAKE = " \
-DPORT=GTK \
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_251.bb b/poky/meta/recipes-support/diffoscope/diffoscope_252.bb
similarity index 93%
rename from poky/meta/recipes-support/diffoscope/diffoscope_251.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_252.bb
index 8862509..86dc85d 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_251.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_252.bb
@@ -12,7 +12,7 @@
inherit pypi setuptools3
-SRC_URI[sha256sum] = "c9ba2fc24379b2ba4457dc7be6970884cc2ee94c20d44f3889c2a4741e6178d3"
+SRC_URI[sha256sum] = "e268384fa484f3dd8a936da626e6ef1b231dcb286d09a360f37548637f8dd46d"
RDEPENDS:${PN} += "\
binutils \
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb b/poky/meta/recipes-support/gnutls/gnutls_3.8.2.bb
similarity index 97%
rename from poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.8.2.bb
index 455031d..43fb5c4 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.8.2.bb
@@ -25,7 +25,7 @@
file://Add-ptest-support.patch \
"
-SRC_URI[sha256sum] = "ba8b9e15ae20aba88f44661978f5b5863494316fe7e722ede9d069fe6294829c"
+SRC_URI[sha256sum] = "e765e5016ffa9b9dd243e363a0460d577074444ee2491267db2e96c9c2adef77"
inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest
diff --git a/poky/meta/recipes-support/icu/icu_73-2.bb b/poky/meta/recipes-support/icu/icu_74-1.bb
similarity index 95%
rename from poky/meta/recipes-support/icu/icu_73-2.bb
rename to poky/meta/recipes-support/icu/icu_74-1.bb
index 7c59f8b..88ded16 100644
--- a/poky/meta/recipes-support/icu/icu_73-2.bb
+++ b/poky/meta/recipes-support/icu/icu_74-1.bb
@@ -78,7 +78,7 @@
BBCLASSEXTEND = "native nativesdk"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=80c2cf39ad8ae12b9b9482a1737c6650"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=08dc3852df8fffa807301902ad899ff8"
def icu_download_version(d):
pvsplit = d.getVar('PV').split('-')
@@ -111,8 +111,8 @@
SRC_URI:append:class-target = "\
file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
"
-SRC_URI[code.sha256sum] = "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1"
-SRC_URI[data.sha256sum] = "ca1ee076163b438461e484421a7679fc33a64cd0a54f9d4b401893fa1eb42701"
+SRC_URI[code.sha256sum] = "86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0"
+SRC_URI[data.sha256sum] = "67d5ab39c5187e1dd0fed60a3fe52794dce9784b4c045cb85e19f5d317fd783f"
UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)"
GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases"
diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.2.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.3.bb
similarity index 95%
rename from poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.2.bb
rename to poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.3.bb
index 524b06c..1c4f4d6 100644
--- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.2.bb
+++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.3.bb
@@ -27,7 +27,7 @@
file://no-bench-slope.patch \
file://run-ptest \
"
-SRC_URI[sha256sum] = "3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03"
+SRC_URI[sha256sum] = "8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa"
CVE_STATUS[CVE-2018-12433] = "disputed: CVE is disputed and not affecting crypto libraries for any distro."
CVE_STATUS[CVE-2018-12438] = "disputed: CVE is disputed and not affecting crypto libraries for any distro."
diff --git a/poky/meta/recipes-support/libksba/libksba_1.6.4.bb b/poky/meta/recipes-support/libksba/libksba_1.6.5.bb
similarity index 93%
rename from poky/meta/recipes-support/libksba/libksba_1.6.4.bb
rename to poky/meta/recipes-support/libksba/libksba_1.6.5.bb
index f9636f9..62ba73d 100644
--- a/poky/meta/recipes-support/libksba/libksba_1.6.4.bb
+++ b/poky/meta/recipes-support/libksba/libksba_1.6.5.bb
@@ -24,7 +24,7 @@
SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://ksba-add-pkgconfig-support.patch"
-SRC_URI[sha256sum] = "bbb43f032b9164d86c781ffe42213a83bf4f2fee91455edfa4654521b8b03b6b"
+SRC_URI[sha256sum] = "a564628c574c99287998753f98d750babd91a4e9db451f46ad140466ef2a6d16"
do_configure:prepend () {
# Else these could be used in preference to those in aclocal-copy
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
new file mode 100644
index 0000000..d867e5b
--- /dev/null
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
@@ -0,0 +1,44 @@
+From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Nov 2023 18:49:10 -0800
+Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17
+
+Fixes build errors about missing function prototypes with clang-17
+
+Fixes
+| ../libsoup-2.74.3/libsoup/soup-xmlrpc-old.c:512:8: error: call to undeclared function 'xmlParseMemory'; ISO C99 and later do not support implicit function declarations
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libsoup/soup-xmlrpc-old.c | 1 +
+ libsoup/soup-xmlrpc.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c
+index c57086b6..527e3b23 100644
+--- a/libsoup/soup-xmlrpc-old.c
++++ b/libsoup/soup-xmlrpc-old.c
+@@ -11,6 +11,7 @@
+
+ #include <string.h>
+
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+
+ #include "soup-xmlrpc-old.h"
+diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c
+index 42dcda9c..e991cbf0 100644
+--- a/libsoup/soup-xmlrpc.c
++++ b/libsoup/soup-xmlrpc.c
+@@ -17,6 +17,7 @@
+
+ #include <string.h>
+ #include <errno.h>
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+ #include "soup-xmlrpc.h"
+ #include "soup.h"
+--
+2.43.0
+
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
index a605857..ee20530 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
@@ -11,7 +11,8 @@
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
+SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
+ file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch"
SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13"
CVE_PRODUCT = "libsoup"
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.38.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.39.bb
similarity index 95%
rename from poky/meta/recipes-support/libxslt/libxslt_1.1.38.bb
rename to poky/meta/recipes-support/libxslt/libxslt_1.1.39.bb
index ed5b15b..2cc0c84 100644
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.38.bb
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.39.bb
@@ -15,7 +15,7 @@
SRC_URI = "https://download.gnome.org/sources/libxslt/1.1/libxslt-${PV}.tar.xz"
-SRC_URI[sha256sum] = "1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1"
+SRC_URI[sha256sum] = "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0"
UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-support/p11-kit/files/strerror-1.patch b/poky/meta/recipes-support/p11-kit/files/strerror-1.patch
deleted file mode 100644
index 6af4fee..0000000
--- a/poky/meta/recipes-support/p11-kit/files/strerror-1.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 3ba2c55dfdc8ff20de369f07f6c57d08718d3add Mon Sep 17 00:00:00 2001
-From: Adam Sampson <ats@offog.org>
-Date: Sun, 2 Jul 2023 15:22:49 +0100
-Subject: [PATCH] Check for GNU strerror_r using the compiler only
-
-The new test that was added to distinguish GNU/XSI strerror_r ran a
-compiled program, which doesn't work when cross-compiling. The only
-difference at compile time is that the GNU version returns char * and
-the XSI version returns int, so detect it by compiling a program that
-dereferences the return value.
-
-Signed-off-by: Adam Sampson <ats@offog.org>
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- configure.ac | 19 +++++++------------
- meson.build | 10 +++++-----
- 2 files changed, 12 insertions(+), 17 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 40f5a583..29890622 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -146,19 +146,14 @@ if test "$os_unix" = "yes"; then
-
- AC_CHECK_FUNC(
- [strerror_r],
-- [AC_RUN_IFELSE(
-- [AC_LANG_SOURCE([[
-- #include <errno.h>
-- #include <string.h>
--
-- int main (void)
-- {
-- char buf[32];
-- return strerror_r (EINVAL, buf, 32);
-- }
-- ]])],
-- [AC_DEFINE([HAVE_XSI_STRERROR_R], 1, [Whether XSI-compliant strerror_r() is available])],
-+ [AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[#include <errno.h>
-+ #include <string.h>]],
-+ [[/* GNU strerror_r returns char *, XSI returns int */
-+ char buf[32];
-+ return *strerror_r (EINVAL, buf, 32);]])],
- [AC_DEFINE([HAVE_GNU_STRERROR_R], 1, [Whether GNU-specific strerror_r() is available])],
-+ [AC_DEFINE([HAVE_XSI_STRERROR_R], 1, [Whether XSI-compliant strerror_r() is available])],
- [])],
- [])
-
-diff --git a/meson.build b/meson.build
-index 0f8c8da0..4cc3f89a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -306,15 +306,15 @@ if cc.has_function('strerror_r', prefix: '#include <string.h>')
-
- int main (void)
- {
-+ /* GNU strerror_r returns char *, XSI returns int */
- char buf[32];
-- return strerror_r (EINVAL, buf, 32);
-+ return *strerror_r (EINVAL, buf, 32);
- }
- '''
-- strerror_r_check = cc.run(strerror_r_code, name : 'strerror_r check')
-- if strerror_r_check.returncode() == 0
-- conf.set('HAVE_XSI_STRERROR_R', 1)
-- else
-+ if cc.compiles(strerror_r_code, name : 'GNU strerror_r check')
- conf.set('HAVE_GNU_STRERROR_R', 1)
-+ else
-+ conf.set('HAVE_XSI_STRERROR_R', 1)
- endif
- endif
-
diff --git a/poky/meta/recipes-support/p11-kit/files/strerror-2.patch b/poky/meta/recipes-support/p11-kit/files/strerror-2.patch
deleted file mode 100644
index 1a9180b..0000000
--- a/poky/meta/recipes-support/p11-kit/files/strerror-2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7aa6251bf4ce36d027d53c9c96bb05f90ef7eb5b Mon Sep 17 00:00:00 2001
-From: Adam Sampson <ats@offog.org>
-Date: Sun, 2 Jul 2023 15:44:06 +0100
-Subject: [PATCH] Define _GNU_SOURCE when testing for strerror_r
-
-The Meson check for GNU/XSI strerror_r didn't inherit the project
-options that include _GNU_SOURCE (unlike the autoconf version), so the
-result didn't match how the code that uses it will be compiled. Add
-_GNU_SOURCE explicitly as with the following checks.
-
-Signed-off-by: Adam Sampson <ats@offog.org>
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/meson.build b/meson.build
-index 4cc3f89a..9a72e148 100644
---- a/meson.build
-+++ b/meson.build
-@@ -301,6 +301,7 @@ endforeach
-
- if cc.has_function('strerror_r', prefix: '#include <string.h>')
- strerror_r_code = '''
-+#define _GNU_SOURCE
- #include <errno.h>
- #include <string.h>
-
diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.25.2.bb
similarity index 85%
rename from poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb
rename to poky/meta/recipes-support/p11-kit/p11-kit_0.25.2.bb
index ad1fda3..d00ef2d 100644
--- a/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb
+++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.25.2.bb
@@ -10,10 +10,8 @@
DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
-SRC_URI = "git://github.com/p11-glue/p11-kit;branch=master;protocol=https \
- file://strerror-1.patch \
- file://strerror-2.patch"
-SRCREV = "a8cce8bd8065bbf80bd47219f85f0cd9cf27dd0c"
+SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https"
+SRCREV = "66d6b42ef8dd84fcd8e199ac9f23f822f1a058c9"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
new file mode 100644
index 0000000..936f72c
--- /dev/null
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
@@ -0,0 +1,26 @@
+From 665383306c725f299a1b373f947cda01949d49e4 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 19 Nov 2023 11:18:11 +0100
+Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17
+
+Fixes #219
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/c918fe77e255150938e83a6aec259f153d303573]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/test-subclassing.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/test-subclassing.c b/src/test-subclassing.c
+index dd099e4..0758164 100644
+--- a/src/test-subclassing.c
++++ b/src/test-subclassing.c
+@@ -1,4 +1,5 @@
+ #include <libxml/tree.h>
++#include <libxml/parser.h>
+ #include <stdio.h>
+ #include <string.h>
+
+--
+2.43.0
+
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch b/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch
new file mode 100644
index 0000000..2af6b46
--- /dev/null
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch
@@ -0,0 +1,54 @@
+From 461d00fcd5c5842b9a56f7462d55d46bf21163cc Mon Sep 17 00:00:00 2001
+From: Patrick Williams <patrick@stwcx.xyz>
+Date: Fri, 1 Dec 2023 11:19:02 -0600
+Subject: [PATCH] Handle build with older versions of GCC
+
+Older versions of GCC (prior to 9.1) did not put the `std::filesystem`
+support directly into libstdcpp, but in a separate `libstdc++fs`. Add
+meson logic to detect if an extra linker flag is necessary.
+
+Fixes #223.
+
+Tested on AlmaLinux 8 which uses GCC-8.
+
+Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/278]
+---
+ meson.build | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index ecc012f..93acd40 100644
+--- a/meson.build
++++ b/meson.build
+@@ -11,6 +11,7 @@ config = configuration_data()
+ i18n = import('i18n')
+
+ cc = meson.get_compiler('c')
++cxx = meson.get_compiler('cpp')
+
+ ###############################################################################
+ # Project configuration
+@@ -46,6 +47,19 @@ if not xdgmime_found
+ ''')
+ endif
+
++###############################################################################
++# Check if GCC needs -lstdc++fs (before 9.1)
++
++if not cxx.links('''
++ #include <filesystem>
++ int main() {
++ return std::filesystem::is_directory(
++ std::filesystem::status("/tmp")) ? 0 : 1;
++ }
++ ''', name: 'std++fs-check')
++ add_project_link_arguments('-lstdc++fs', language : 'cpp')
++endif
++
+ ###############################################################################
+ # Dependencies
+
+--
+2.41.0
+
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb
index 5ba4023..ef5df44 100644
--- a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb
@@ -8,7 +8,9 @@
DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native xmlto-native"
-SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master"
+SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master \
+ file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch \
+ file://0002-Handle-build-with-older-versions-of-GCC.patch"
SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index a37310a..6b440d8 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -19,8 +19,8 @@
file://no-path-adjust.patch \
"
-PV .= ".2068"
-SRCREV = "9198c1f2b1ddecde22af918541e0de2a32f0f45a"
+PV .= ".2130"
+SRCREV = "075ad7047457debfeef13442c01e74088b461092"
# Do not consider .z in x.y.z, as that is updated with every commit
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+)\.0"
diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
index b4100fc..8934d5f 100644
--- a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
+++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -11,32 +11,25 @@
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
[1] https://gitlab.gnome.org/GNOME/vte/issues/72
-
---
- src/missing.hh | 4 ++++
- src/widget.cc | 1 +
- 2 files changed, 5 insertions(+)
+ src/widget.cc | 4 +++
+ 1 files changed, 4 insertions(+)
---- a/src/missing.hh
-+++ b/src/missing.hh
-@@ -24,6 +24,10 @@
- #define NSIG (8 * sizeof(sigset_t))
- #endif
+diff --git a/src/widget.cc b/src/widget.cc
+index 07f7cabf..31a77f68 100644
+--- a/src/widget.cc
++++ b/src/widget.cc
+@@ -16,6 +16,10 @@
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef W_EXITCODE
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#endif
+
- #ifndef HAVE_FDWALK
- int fdwalk(int (*cb)(void* data, int fd),
- void* data);
---- a/src/widget.cc
-+++ b/src/widget.cc
-@@ -21,6 +21,7 @@
+ #include "config.h"
+
#include "widget.hh"
-
- #include <sys/wait.h> // for W_EXITCODE
-+#include "missing.hh" // for W_EXITCODE on non-glibc systems
-
- #include <exception>
- #include <new>
+--
+2.42.0
+
diff --git a/poky/meta/recipes-support/vte/vte_0.72.2.bb b/poky/meta/recipes-support/vte/vte_0.72.2.bb
deleted file mode 100644
index 44e7149..0000000
--- a/poky/meta/recipes-support/vte/vte_0.72.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Virtual terminal emulator GTK+ widget library"
-DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications."
-HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE"
-BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "GPL-3.0-only & LGPL-3.0-or-later & MIT"
-LICENSE:libvte = "LGPL-3.0-or-later"
-
-LIC_FILES_CHKSUM = " \
- file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \
- file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
- file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
-
-GIR_MESON_OPTION = 'gir'
-GIDOCGEN_MESON_OPTION = "docs"
-
-inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection
-
-# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
-SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "f7966fd185a6981f53964162b71cfef7e606495155d6f5827b72aa0dd6741c9e"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-# Help g-ir-scanner find the .so for linking
-do_compile:prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
-}
-
-# Package additional files
-FILES:${PN}-dev += "${datadir}/vala/vapi/*"
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
-# vala requires gir
-PACKAGECONFIG:remove:class-native = "vala"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-PACKAGES =+ "libvte ${PN}-prompt"
-FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
-FILES:${PN}-prompt = " \
- ${sysconfdir}/profile.d \
- ${libexecdir}/vte-urlencode-cwd \
-"
-
-FILES:${PN}-dev += "${datadir}/glade/"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/vte/vte_0.74.1.bb b/poky/meta/recipes-support/vte/vte_0.74.1.bb
new file mode 100644
index 0000000..071f668
--- /dev/null
+++ b/poky/meta/recipes-support/vte/vte_0.74.1.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Virtual terminal emulator GTK+ widget library"
+DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications."
+HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
+LICENSE = "GPL-3.0-only & LGPL-3.0-or-later & MIT"
+LICENSE:libvte = "LGPL-3.0-or-later"
+
+LIC_FILES_CHKSUM = " \
+ file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \
+ file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
+ file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
+
+GIR_MESON_OPTION = 'gir'
+GIDOCGEN_MESON_OPTION = "docs"
+
+inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection systemd vala
+
+SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
+SRC_URI[archive.sha256sum] = "2328c3f1c998350a18e0e513348e9fc581d57ea4e7b89aedf11e0e3c65042b4f"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
+EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
+
+PACKAGECONFIG ??= " \
+ gnutls \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gtk4', '', d)} \
+"
+PACKAGECONFIG[fribidi] = "-Dfribidi=true,-Dfribidi=false,fribidi"
+PACKAGECONFIG[gtk4] = "-Dgtk4=true,-Dgtk4=false,gtk4"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
+
+PACKAGES =+ "libvte-gtk4 ${PN}-gtk4 ${PN}-gtk4-dev libvte ${PN}-prompt"
+FILES:libvte-gtk4 = "${libdir}/lib*gtk4.so.* ${libdir}/girepository-1.0/Vte-3.91.typelib"
+FILES:${PN}-gtk4 ="${bindir}/vte-2.91-gtk4"
+FILES:${PN}-gtk4-dev = "${libdir}/lib*gtk4.so \
+ ${libdir}/pkgconfig/vte-2.91-gtk4.pc \
+ ${datadir}/gir-1.0/Vte-3.91.gir \
+ ${datadir}/vala/vapi/vte-2.91-gtk4.deps \
+ ${datadir}/vala/vapi/vte-2.91-gtk4.vapi \
+ ${includedir}/vte-2.91-gtk4 \
+ "
+FILES:${PN} +="${systemd_user_unitdir}"
+FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+FILES:${PN}-prompt = " \
+ ${sysconfdir}/profile.d \
+ ${libexecdir}/vte-urlencode-cwd \
+"
+
+FILES:${PN}-dev += "${datadir}/glade/"
diff --git a/poky/scripts/lib/devtool/__init__.py b/poky/scripts/lib/devtool/__init__.py
index 702db66..b4f998a 100644
--- a/poky/scripts/lib/devtool/__init__.py
+++ b/poky/scripts/lib/devtool/__init__.py
@@ -233,6 +233,30 @@
bb.process.run('git checkout -b %s' % devbranch, cwd=repodir)
bb.process.run('git tag -f %s' % basetag, cwd=repodir)
+ # if recipe unpacks another git repo inside S, we need to declare it as a regular git submodule now,
+ # so we will be able to tag branches on it and extract patches when doing finish/update on the recipe
+ stdout, _ = bb.process.run("git status --porcelain", cwd=repodir)
+ found = False
+ for line in stdout.splitlines():
+ if line.endswith("/"):
+ new_dir = line.split()[1]
+ for root, dirs, files in os.walk(os.path.join(repodir, new_dir)):
+ if ".git" in dirs + files:
+ (stdout, _) = bb.process.run('git remote', cwd=root)
+ remote = stdout.splitlines()[0]
+ (stdout, _) = bb.process.run('git remote get-url %s' % remote, cwd=root)
+ remote_url = stdout.splitlines()[0]
+ logger.error(os.path.relpath(os.path.join(root, ".."), root))
+ bb.process.run('git submodule add %s %s' % (remote_url, os.path.relpath(root, os.path.join(root, ".."))), cwd=os.path.join(root, ".."))
+ found = True
+ if found:
+ useroptions = []
+ oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
+ bb.process.run('git %s commit -m "Adding additionnal submodule from SRC_URI\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=os.path.join(root, ".."))
+ found = False
+ if os.path.exists(os.path.join(repodir, '.gitmodules')):
+ bb.process.run('git submodule foreach --recursive "git tag -f %s"' % basetag, cwd=repodir)
+
def recipe_to_append(recipefile, config, wildcard=False):
"""
Convert a recipe file to a bbappend file path within the workspace.
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index d53fb81..ad6e346 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -234,10 +234,14 @@
if args.fetchuri and not args.no_git:
setup_git_repo(srctree, args.version, 'devtool', d=tinfoil.config_data)
- initial_rev = None
+ initial_rev = {}
if os.path.exists(os.path.join(srctree, '.git')):
(stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srctree)
- initial_rev = stdout.rstrip()
+ initial_rev["."] = stdout.rstrip()
+ (stdout, _) = bb.process.run('git submodule --quiet foreach --recursive \'echo `git rev-parse HEAD` $PWD\'', cwd=srctree)
+ for line in stdout.splitlines():
+ (rev, submodule) = line.split()
+ initial_rev[os.path.relpath(submodule, srctree)] = rev
if args.src_subdir:
srctree = os.path.join(srctree, args.src_subdir)
@@ -251,7 +255,8 @@
if b_is_s:
f.write('EXTERNALSRC_BUILD = "%s"\n' % srctree)
if initial_rev:
- f.write('\n# initial_rev: %s\n' % initial_rev)
+ for key, value in initial_rev.items():
+ f.write('\n# initial_rev %s: %s\n' % (key, value))
if args.binary:
f.write('do_install:append() {\n')
@@ -823,8 +828,8 @@
_check_compatible_recipe(pn, rd)
- initial_rev = None
- commits = []
+ initial_revs = {}
+ commits = {}
check_commits = False
if bb.data.inherits_class('kernel-yocto', rd):
@@ -880,15 +885,23 @@
args.no_extract = True
if not args.no_extract:
- initial_rev, _ = _extract_source(srctree, args.keep_temp, args.branch, False, config, basepath, workspace, args.fixed_setup, rd, tinfoil, no_overrides=args.no_overrides)
- if not initial_rev:
+ initial_revs["."], _ = _extract_source(srctree, args.keep_temp, args.branch, False, config, basepath, workspace, args.fixed_setup, rd, tinfoil, no_overrides=args.no_overrides)
+ if not initial_revs["."]:
return 1
logger.info('Source tree extracted to %s' % srctree)
+
if os.path.exists(os.path.join(srctree, '.git')):
# Get list of commits since this revision
- (stdout, _) = bb.process.run('git rev-list --reverse %s..HEAD' % initial_rev, cwd=srctree)
- commits = stdout.split()
+ (stdout, _) = bb.process.run('git rev-list --reverse %s..HEAD' % initial_revs["."], cwd=srctree)
+ commits["."] = stdout.split()
check_commits = True
+ (stdout, _) = bb.process.run('git submodule --quiet foreach --recursive \'echo `git rev-parse devtool-base` $PWD\'', cwd=srctree)
+ for line in stdout.splitlines():
+ (rev, submodule_path) = line.split()
+ submodule = os.path.relpath(submodule_path, srctree)
+ initial_revs[submodule] = rev
+ (stdout, _) = bb.process.run('git rev-list --reverse devtool-base..HEAD', cwd=submodule_path)
+ commits[submodule] = stdout.split()
else:
if os.path.exists(os.path.join(srctree, '.git')):
# Check if it's a tree previously extracted by us. This is done
@@ -905,11 +918,11 @@
for line in stdout.splitlines():
if line.startswith('*'):
(stdout, _) = bb.process.run('git rev-parse devtool-base', cwd=srctree)
- initial_rev = stdout.rstrip()
- if not initial_rev:
+ initial_revs["."] = stdout.rstrip()
+ if not initial_revs["."]:
# Otherwise, just grab the head revision
(stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srctree)
- initial_rev = stdout.rstrip()
+ initial_revs["."] = stdout.rstrip()
branch_patches = {}
if check_commits:
@@ -976,10 +989,11 @@
' ln -sfT ${KCONFIG_CONFIG_ROOTDIR}/.config ${S}/.config.new\n'
' fi\n'
'}\n')
- if initial_rev:
- f.write('\n# initial_rev: %s\n' % initial_rev)
- for commit in commits:
- f.write('# commit: %s\n' % commit)
+ if initial_revs:
+ for name, rev in initial_revs.items():
+ f.write('\n# initial_rev %s: %s\n' % (name, rev))
+ for commit in commits[name]:
+ f.write('# commit %s: %s\n' % (name, commit))
if branch_patches:
for branch in branch_patches:
if branch == args.branch:
@@ -1202,44 +1216,56 @@
branchname = stdout.rstrip()
# Parse initial rev from recipe if not specified
- commits = []
+ commits = {}
patches = []
+ initial_revs = {}
with open(recipe_path, 'r') as f:
for line in f:
- if line.startswith('# initial_rev:'):
- if not initial_rev:
- initial_rev = line.split(':')[-1].strip()
- elif line.startswith('# commit:') and not force_patch_refresh:
- commits.append(line.split(':')[-1].strip())
- elif line.startswith('# patches_%s:' % branchname):
- patches = line.split(':')[-1].strip().split(',')
+ pattern = r'^#\s.*\s(.*):\s([0-9a-fA-F]+)$'
+ match = re.search(pattern, line)
+ if match:
+ name = match.group(1)
+ rev = match.group(2)
+ if line.startswith('# initial_rev'):
+ if not (name == "." and initial_rev):
+ initial_revs[name] = rev
+ elif line.startswith('# commit') and not force_patch_refresh:
+ if name not in commits:
+ commits[name] = [rev]
+ else:
+ commits[name].append(rev)
+ elif line.startswith('# patches_%s:' % branchname):
+ patches = line.split(':')[-1].strip().split(',')
- update_rev = initial_rev
- changed_revs = None
- if initial_rev:
+ update_revs = dict(initial_revs)
+ changed_revs = {}
+ for name, rev in initial_revs.items():
# Find first actually changed revision
stdout, _ = bb.process.run('git rev-list --reverse %s..HEAD' %
- initial_rev, cwd=srctree)
+ rev, cwd=os.path.join(srctree, name))
newcommits = stdout.split()
- for i in range(min(len(commits), len(newcommits))):
- if newcommits[i] == commits[i]:
- update_rev = commits[i]
+ if name in commits:
+ for i in range(min(len(commits[name]), len(newcommits))):
+ if newcommits[i] == commits[name][i]:
+ update_revs[name] = commits[name][i]
try:
stdout, _ = bb.process.run('git cherry devtool-patched',
- cwd=srctree)
+ cwd=os.path.join(srctree, name))
except bb.process.ExecutionError as err:
stdout = None
if stdout is not None and not force_patch_refresh:
- changed_revs = []
for line in stdout.splitlines():
if line.startswith('+ '):
rev = line.split()[1]
if rev in newcommits:
- changed_revs.append(rev)
+ if name not in changed_revs:
+ changed_revs[name] = [rev]
+ else:
+ changed_revs[name].append(rev)
- return initial_rev, update_rev, changed_revs, patches
+ return initial_revs, update_revs, changed_revs, patches
def _remove_file_entries(srcuri, filelist):
"""Remove file:// entries from SRC_URI"""
@@ -1294,14 +1320,17 @@
raise
-def _export_patches(srctree, rd, start_rev, destdir, changed_revs=None):
+def _export_patches(srctree, rd, start_revs, destdir, changed_revs=None):
"""Export patches from srctree to given location.
Returns three-tuple of dicts:
1. updated - patches that already exist in SRCURI
2. added - new patches that don't exist in SRCURI
3 removed - patches that exist in SRCURI but not in exported patches
- In each dict the key is the 'basepath' of the URI and value is the
- absolute path to the existing file in recipe space (if any).
+ In each dict the key is the 'basepath' of the URI and value is:
+ - for updated and added dicts, a dict with 2 optionnal keys:
+ - 'path': the absolute path to the existing file in recipe space (if any)
+ - 'patchdir': the directory in wich the patch should be applied (if any)
+ - for removed dict, the absolute path to the existing file in recipe space
"""
import oe.recipeutils
from oe.patch import GitApplyTree
@@ -1315,54 +1344,60 @@
# Generate patches from Git, exclude local files directory
patch_pathspec = _git_exclude_path(srctree, 'oe-local-files')
- GitApplyTree.extractPatches(srctree, start_rev, destdir, patch_pathspec)
+ GitApplyTree.extractPatches(srctree, start_revs, destdir, patch_pathspec)
+ for dirpath, dirnames, filenames in os.walk(destdir):
+ new_patches = filenames
+ reldirpath = os.path.relpath(dirpath, destdir)
+ for new_patch in new_patches:
+ # Strip numbering from patch names. If it's a git sequence named patch,
+ # the numbers might not match up since we are starting from a different
+ # revision This does assume that people are using unique shortlog
+ # values, but they ought to be anyway...
+ new_basename = seqpatch_re.match(new_patch).group(2)
+ match_name = None
+ for old_patch in existing_patches:
+ old_basename = seqpatch_re.match(old_patch).group(2)
+ old_basename_splitext = os.path.splitext(old_basename)
+ if old_basename.endswith(('.gz', '.bz2', '.Z')) and old_basename_splitext[0] == new_basename:
+ old_patch_noext = os.path.splitext(old_patch)[0]
+ match_name = old_patch_noext
+ break
+ elif new_basename == old_basename:
+ match_name = old_patch
+ break
+ if match_name:
+ # Rename patch files
+ if new_patch != match_name:
+ bb.utils.rename(os.path.join(destdir, new_patch),
+ os.path.join(destdir, match_name))
+ # Need to pop it off the list now before checking changed_revs
+ oldpath = existing_patches.pop(old_patch)
+ if changed_revs is not None and dirpath in changed_revs:
+ # Avoid updating patches that have not actually changed
+ with open(os.path.join(dirpath, match_name), 'r') as f:
+ firstlineitems = f.readline().split()
+ # Looking for "From <hash>" line
+ if len(firstlineitems) > 1 and len(firstlineitems[1]) == 40:
+ if not firstlineitems[1] in changed_revs[dirpath]:
+ continue
+ # Recompress if necessary
+ if oldpath.endswith(('.gz', '.Z')):
+ bb.process.run(['gzip', match_name], cwd=destdir)
+ if oldpath.endswith('.gz'):
+ match_name += '.gz'
+ else:
+ match_name += '.Z'
+ elif oldpath.endswith('.bz2'):
+ bb.process.run(['bzip2', match_name], cwd=destdir)
+ match_name += '.bz2'
+ updated[match_name] = {'path' : oldpath}
+ if reldirpath != ".":
+ updated[match_name]['patchdir'] = reldirpath
+ else:
+ added[new_patch] = {}
+ if reldirpath != ".":
+ added[new_patch]['patchdir'] = reldirpath
- new_patches = sorted(os.listdir(destdir))
- for new_patch in new_patches:
- # Strip numbering from patch names. If it's a git sequence named patch,
- # the numbers might not match up since we are starting from a different
- # revision This does assume that people are using unique shortlog
- # values, but they ought to be anyway...
- new_basename = seqpatch_re.match(new_patch).group(2)
- match_name = None
- for old_patch in existing_patches:
- old_basename = seqpatch_re.match(old_patch).group(2)
- old_basename_splitext = os.path.splitext(old_basename)
- if old_basename.endswith(('.gz', '.bz2', '.Z')) and old_basename_splitext[0] == new_basename:
- old_patch_noext = os.path.splitext(old_patch)[0]
- match_name = old_patch_noext
- break
- elif new_basename == old_basename:
- match_name = old_patch
- break
- if match_name:
- # Rename patch files
- if new_patch != match_name:
- bb.utils.rename(os.path.join(destdir, new_patch),
- os.path.join(destdir, match_name))
- # Need to pop it off the list now before checking changed_revs
- oldpath = existing_patches.pop(old_patch)
- if changed_revs is not None:
- # Avoid updating patches that have not actually changed
- with open(os.path.join(destdir, match_name), 'r') as f:
- firstlineitems = f.readline().split()
- # Looking for "From <hash>" line
- if len(firstlineitems) > 1 and len(firstlineitems[1]) == 40:
- if not firstlineitems[1] in changed_revs:
- continue
- # Recompress if necessary
- if oldpath.endswith(('.gz', '.Z')):
- bb.process.run(['gzip', match_name], cwd=destdir)
- if oldpath.endswith('.gz'):
- match_name += '.gz'
- else:
- match_name += '.Z'
- elif oldpath.endswith('.bz2'):
- bb.process.run(['bzip2', match_name], cwd=destdir)
- match_name += '.bz2'
- updated[match_name] = oldpath
- else:
- added[new_patch] = None
return (updated, added, existing_patches)
@@ -1530,6 +1565,12 @@
recipedir = os.path.basename(recipefile)
logger.info('Updating SRCREV in recipe %s%s' % (recipedir, dry_run_suffix))
+ # Get original SRCREV
+ old_srcrev = rd.getVar('SRCREV') or ''
+ if old_srcrev == "INVALID":
+ raise DevtoolError('Update mode srcrev is only valid for recipe fetched from an SCM repository')
+ old_srcrev = {'.': old_srcrev}
+
# Get HEAD revision
try:
stdout, _ = bb.process.run('git rev-parse HEAD', cwd=srctree)
@@ -1556,13 +1597,12 @@
if not no_remove:
# Find list of existing patches in recipe file
patches_dir = tempfile.mkdtemp(dir=tempdir)
- old_srcrev = rd.getVar('SRCREV') or ''
upd_p, new_p, del_p = _export_patches(srctree, rd, old_srcrev,
patches_dir)
logger.debug('Patches: update %s, new %s, delete %s' % (dict(upd_p), dict(new_p), dict(del_p)))
# Remove deleted local files and "overlapping" patches
- remove_files = list(del_f.values()) + list(upd_p.values()) + list(del_p.values())
+ remove_files = list(del_f.values()) + [value["path"] for value in upd_p.values() if "path" in value] + [value["path"] for value in del_p.values() if "path" in value]
if remove_files:
removedentries = _remove_file_entries(srcuri, remove_files)[0]
update_srcuri = True
@@ -1576,11 +1616,10 @@
patchfields['SRC_URI'] = '\\\n '.join(srcuri)
if dry_run_outdir:
logger.info('Creating bbappend (dry-run)')
- else:
- appendfile, destpath = oe.recipeutils.bbappend_recipe(
- rd, appendlayerdir, files, wildcardver=wildcard_version,
- extralines=patchfields, removevalues=removevalues,
- redirect_output=dry_run_outdir)
+ appendfile, destpath = oe.recipeutils.bbappend_recipe(
+ rd, appendlayerdir, files, wildcardver=wildcard_version,
+ extralines=patchfields, removevalues=removevalues,
+ redirect_output=dry_run_outdir)
else:
files_dir = _determine_files_dir(rd)
for basepath, path in upd_f.items():
@@ -1632,15 +1671,15 @@
else:
patchdir_params = {'patchdir': relpatchdir}
- def srcuri_entry(basepath):
+ def srcuri_entry(basepath, patchdir_params):
if patchdir_params:
paramstr = ';' + ';'.join('%s=%s' % (k,v) for k,v in patchdir_params.items())
else:
paramstr = ''
return 'file://%s%s' % (basepath, paramstr)
- initial_rev, update_rev, changed_revs, filter_patches = _get_patchset_revs(srctree, append, initial_rev, force_patch_refresh)
- if not initial_rev:
+ initial_revs, update_revs, changed_revs, filter_patches = _get_patchset_revs(srctree, append, initial_rev, force_patch_refresh)
+ if not initial_revs:
raise DevtoolError('Unable to find initial revision - please specify '
'it with --initial-rev')
@@ -1658,11 +1697,11 @@
# Get updated patches from source tree
patches_dir = tempfile.mkdtemp(dir=tempdir)
- upd_p, new_p, _ = _export_patches(srctree, rd, update_rev,
+ upd_p, new_p, _ = _export_patches(srctree, rd, update_revs,
patches_dir, changed_revs)
# Get all patches from source tree and check if any should be removed
all_patches_dir = tempfile.mkdtemp(dir=tempdir)
- _, _, del_p = _export_patches(srctree, rd, initial_rev,
+ _, _, del_p = _export_patches(srctree, rd, initial_revs,
all_patches_dir)
logger.debug('Pre-filtering: update: %s, new: %s' % (dict(upd_p), dict(new_p)))
if filter_patches:
@@ -1677,18 +1716,31 @@
updaterecipe = False
destpath = None
srcuri = (rd.getVar('SRC_URI', False) or '').split()
+
if appendlayerdir:
files = OrderedDict((os.path.join(local_files_dir, key), val) for
key, val in list(upd_f.items()) + list(new_f.items()))
files.update(OrderedDict((os.path.join(patches_dir, key), val) for
key, val in list(upd_p.items()) + list(new_p.items())))
+
+ params = []
+ for file, param in files.items():
+ patchdir_param = dict(patchdir_params)
+ patchdir = param.get('patchdir', ".")
+ if patchdir != "." :
+ if patchdir_param:
+ patchdir_param['patchdir'] += patchdir
+ else:
+ patchdir_param['patchdir'] = patchdir
+ params.append(patchdir_param)
+
if files or remove_files:
removevalues = None
if remove_files:
removedentries, remaining = _remove_file_entries(
srcuri, remove_files)
if removedentries or remaining:
- remaining = [srcuri_entry(os.path.basename(item)) for
+ remaining = [srcuri_entry(os.path.basename(item), patchdir_params) for
item in remaining]
removevalues = {'SRC_URI': removedentries + remaining}
appendfile, destpath = oe.recipeutils.bbappend_recipe(
@@ -1696,7 +1748,7 @@
wildcardver=wildcard_version,
removevalues=removevalues,
redirect_output=dry_run_outdir,
- params=[patchdir_params] * len(files))
+ params=params)
else:
logger.info('No patches or local source files needed updating')
else:
@@ -1713,14 +1765,22 @@
_move_file(os.path.join(local_files_dir, basepath), path,
dry_run_outdir=dry_run_outdir, base_outdir=recipedir)
updatefiles = True
- for basepath, path in upd_p.items():
- patchfn = os.path.join(patches_dir, basepath)
+ for basepath, param in upd_p.items():
+ path = param['path']
+ patchdir = param.get('patchdir', ".")
+ if patchdir != "." :
+ patchdir_param = dict(patchdir_params)
+ if patchdir_param:
+ patchdir_param['patchdir'] += patchdir
+ else:
+ patchdir_param['patchdir'] = patchdir
+ patchfn = os.path.join(patches_dir, patchdir, basepath)
if os.path.dirname(path) + '/' == dl_dir:
# This is a a downloaded patch file - we now need to
# replace the entry in SRC_URI with our local version
logger.info('Replacing remote patch %s with updated local version' % basepath)
path = os.path.join(files_dir, basepath)
- _replace_srcuri_entry(srcuri, basepath, srcuri_entry(basepath))
+ _replace_srcuri_entry(srcuri, basepath, srcuri_entry(basepath, patchdir_param))
updaterecipe = True
else:
logger.info('Updating patch %s%s' % (basepath, dry_run_suffix))
@@ -1734,15 +1794,23 @@
os.path.join(files_dir, basepath),
dry_run_outdir=dry_run_outdir,
base_outdir=recipedir)
- srcuri.append(srcuri_entry(basepath))
+ srcuri.append(srcuri_entry(basepath, patchdir_params))
updaterecipe = True
- for basepath, path in new_p.items():
+ for basepath, param in new_p.items():
+ patchdir = param.get('patchdir', ".")
logger.info('Adding new patch %s%s' % (basepath, dry_run_suffix))
- _move_file(os.path.join(patches_dir, basepath),
+ _move_file(os.path.join(patches_dir, patchdir, basepath),
os.path.join(files_dir, basepath),
dry_run_outdir=dry_run_outdir,
base_outdir=recipedir)
- srcuri.append(srcuri_entry(basepath))
+ params = dict(patchdir_params)
+ if patchdir != "." :
+ if params:
+ params['patchdir'] += patchdir
+ else:
+ params['patchdir'] = patchdir
+
+ srcuri.append(srcuri_entry(basepath, params))
updaterecipe = True
# Update recipe, if needed
if _remove_file_entries(srcuri, remove_files)[0]:
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 9cd50be..10827a7 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -90,7 +90,7 @@
_rename_recipe_dirs(oldpv, newpv, path)
return _rename_recipe_file(oldrecipe, bpn, oldpv, newpv, path)
-def _write_append(rc, srctreebase, srctree, same_dir, no_same_dir, rev, copied, workspace, d):
+def _write_append(rc, srctreebase, srctree, same_dir, no_same_dir, revs, copied, workspace, d):
"""Writes an append file"""
if not os.path.exists(rc):
raise DevtoolError("bbappend not created because %s does not exist" % rc)
@@ -119,8 +119,9 @@
if b_is_s:
f.write('EXTERNALSRC_BUILD:pn-%s = "%s"\n' % (pn, srctree))
f.write('\n')
- if rev:
- f.write('# initial_rev: %s\n' % rev)
+ if revs:
+ for name, rev in revs.items():
+ f.write('# initial_rev %s: %s\n' % (name, rev))
if copied:
f.write('# original_path: %s\n' % os.path.dirname(d.getVar('FILE')))
f.write('# original_files: %s\n' % ' '.join(copied))
@@ -182,10 +183,15 @@
uri, rev = _get_uri(crd)
if srcrev:
rev = srcrev
+ paths = [srctree]
if uri.startswith('git://') or uri.startswith('gitsm://'):
__run('git fetch')
__run('git checkout %s' % rev)
__run('git tag -f devtool-base-new')
+ __run('git submodule update --recursive')
+ __run('git submodule foreach \'git tag -f devtool-base-new\'')
+ (stdout, _) = __run('git submodule --quiet foreach \'echo $sm_path\'')
+ paths += [os.path.join(srctree, p) for p in stdout.splitlines()]
md5 = None
sha256 = None
_, _, _, _, _, params = bb.fetch2.decodeurl(uri)
@@ -256,29 +262,32 @@
__run('git %s commit -q -m "Commit of upstream changes at version %s" --allow-empty' % (' '.join(useroptions), newpv))
__run('git tag -f devtool-base-%s' % newpv)
- (stdout, _) = __run('git rev-parse HEAD')
- rev = stdout.rstrip()
+ revs = {}
+ for path in paths:
+ (stdout, _) = _run('git rev-parse HEAD', cwd=path)
+ revs[os.path.relpath(path,srctree)] = stdout.rstrip()
if no_patch:
patches = oe.recipeutils.get_recipe_patches(crd)
if patches:
logger.warning('By user choice, the following patches will NOT be applied to the new source tree:\n %s' % '\n '.join([os.path.basename(patch) for patch in patches]))
else:
- __run('git checkout devtool-patched -b %s' % branch)
- (stdout, _) = __run('git branch --list devtool-override-*')
- branches_to_rebase = [branch] + stdout.split()
- for b in branches_to_rebase:
- logger.info("Rebasing {} onto {}".format(b, rev))
- __run('git checkout %s' % b)
- try:
- __run('git rebase %s' % rev)
- except bb.process.ExecutionError as e:
- if 'conflict' in e.stdout:
- logger.warning('Command \'%s\' failed:\n%s\n\nYou will need to resolve conflicts in order to complete the upgrade.' % (e.command, e.stdout.rstrip()))
- __run('git rebase --abort')
- else:
- logger.warning('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
- __run('git checkout %s' % branch)
+ for path in paths:
+ _run('git checkout devtool-patched -b %s' % branch, cwd=path)
+ (stdout, _) = _run('git branch --list devtool-override-*', cwd=path)
+ branches_to_rebase = [branch] + stdout.split()
+ for b in branches_to_rebase:
+ logger.info("Rebasing {} onto {}".format(b, revs[os.path.relpath(path,srctree)]))
+ _run('git checkout %s' % b, cwd=path)
+ try:
+ _run('git rebase %s' % revs[os.path.relpath(path, srctree)], cwd=path)
+ except bb.process.ExecutionError as e:
+ if 'conflict' in e.stdout:
+ logger.warning('Command \'%s\' failed:\n%s\n\nYou will need to resolve conflicts in order to complete the upgrade.' % (e.command, e.stdout.rstrip()))
+ _run('git rebase --abort', cwd=path)
+ else:
+ logger.warning('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
+ _run('git checkout %s' % branch, cwd=path)
if tmpsrctree:
if keep_temp:
@@ -288,7 +297,7 @@
if tmpdir != tmpsrctree:
shutil.rmtree(tmpdir)
- return (rev, md5, sha256, srcbranch, srcsubdir_rel)
+ return (revs, md5, sha256, srcbranch, srcsubdir_rel)
def _add_license_diff_to_recipe(path, diff):
notice_text = """# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
diff --git a/poky/scripts/lib/recipetool/append.py b/poky/scripts/lib/recipetool/append.py
index 9dbb1cc..4b6a711 100644
--- a/poky/scripts/lib/recipetool/append.py
+++ b/poky/scripts/lib/recipetool/append.py
@@ -299,7 +299,7 @@
if st.st_mode & stat.S_IXUSR:
perms = '0755'
install = {args.newfile: (args.targetpath, perms)}
- oe.recipeutils.bbappend_recipe(rd, args.destlayer, {args.newfile: sourcepath}, install, wildcardver=args.wildcard_version, machine=args.machine)
+ oe.recipeutils.bbappend_recipe(rd, args.destlayer, {args.newfile: {'path' : sourcepath}}, install, wildcardver=args.wildcard_version, machine=args.machine)
tinfoil.modified_files()
return 0
else:
@@ -353,7 +353,7 @@
logger.warning('{0!r} is already in SRC_URI, not adding'.format(source_uri))
else:
extralines.append('SRC_URI += {0}'.format(source_uri))
- copyfiles[newfile] = srcfile
+ copyfiles[newfile] = {'path' : srcfile}
oe.recipeutils.bbappend_recipe(rd, args.destlayer, copyfiles, None, wildcardver=args.wildcard_version, machine=args.machine, extralines=extralines)
tinfoil.modified_files()
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index 4f30926..13a9cdd 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -400,9 +400,10 @@
exec_native_cmd(objcopy_cmd, native_sysroot)
else:
- install_cmd = "install -m 0644 %s/%s %s/%s" % \
- (staging_kernel_dir, kernel, hdddir, kernel)
- exec_cmd(install_cmd)
+ if source_params.get('install-kernel-into-boot-dir') != 'false':
+ install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ (staging_kernel_dir, kernel, hdddir, kernel)
+ exec_cmd(install_cmd)
if get_bitbake_var("IMAGE_EFI_BOOT_FILES"):
for src_path, dst_path in cls.install_task:
diff --git a/poky/scripts/lib/wic/plugins/source/rawcopy.py b/poky/scripts/lib/wic/plugins/source/rawcopy.py
index ccf3325..21903c2 100644
--- a/poky/scripts/lib/wic/plugins/source/rawcopy.py
+++ b/poky/scripts/lib/wic/plugins/source/rawcopy.py
@@ -58,7 +58,8 @@
decompressor = {
".bz2": "bzip2",
".gz": "gzip",
- ".xz": "xz"
+ ".xz": "xz",
+ ".zst": "zstd -f",
}.get(extension)
if not decompressor:
raise WicError("Not supported compressor filename extension: %s" % extension)