diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2023-12-06 01:48:56 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2023-12-06 18:21:06 +0300 |
commit | da295319aa739dfa657fb4a1ba7e81804ba48658 (patch) | |
tree | d8bb670855f82ac4f2a50e8ca78b4534c0865485 /meta-openembedded | |
parent | 4e5690417ceb3d4e031bf3fcd306f724026f9d3d (diff) | |
download | openbmc-da295319aa739dfa657fb4a1ba7e81804ba48658.tar.xz |
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>
Diffstat (limited to 'meta-openembedded')
175 files changed, 1532 insertions, 6175 deletions
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 997a5a71b3..9a4dad35d1 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:riscv32 = " -Dvapi=false" 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 748ea7b5a5..9669e337a8 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 @@ DEPENDS = " \ 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 014b329b34..8616f2c9b0 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 @@ DEPENDS = " \ desktop-file-utils-native \ gtk+3 \ gsettings-desktop-schemas \ - vte9 \ + vte \ dconf \ libhandy \ libpcre2 \ @@ -35,4 +35,4 @@ FILES:${PN} += " \ ${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 index 6cf706a925..a5477301bc 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 @@ inherit gnomebase pkgconfig gsettings features_check 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 88acdb190e..cabbf2cc11 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 @@ PV = "1.0+really0.15.0" 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 @@ do_install:append() { 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 @@ PACKAGES =+ "${PN}-python" 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 index 883d02d51b..b4da781f0f 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 @@ LIC_FILES_CHKSUM = " \ 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 4f14985469..ead875824d 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 @@ REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" 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 e38ef2b04a..e3730cfaa6 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 @@ FILES:${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*" 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 acebd6dce5..a478dcd80d 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> --- 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 @@ index 0000000..dcabb92 +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 0000000000..56c91de3c4 --- /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 738e609c05..0000000000 --- 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 ffb7371640..ae8706df72 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 @@ Upstream-Status: Pending 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 10853333e2..5bb30bfcb2 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 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 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 @@ index ad0ba60..4477446 100644 + 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 @@ index 1e9333527c..2d42787029 100644 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 de79a293c5..8f8e28f92b 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 124e04490f..0000000000 --- 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 ea27285e09..0000000000 --- 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 0000000000..b58ee11bdc --- /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 index 2a5de1872d..8d5d1a3849 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 @@ MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" 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 @@ LDFLAGS:append:riscv32 = " -latomic" 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 @@ do_install_ptest() { 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 @@ do_install:append() { 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 3e93cf3c47..0000000000 --- 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 e1f30248ca..0000000000 --- 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 6bf159aba8..0000000000 --- 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 754f9345a0..0000000000 --- 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 b06ba94a34..0000000000 --- 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 index c447df0512..9db6710d9c 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 @@ LIC_FILES_CHKSUM = "file://doc/licenses/GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a 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 c81322e680..65f2f80ace 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 @@ SRC_URI = "git://gitlab.freedesktop.org/spice/libcacard.git;protocol=https;branc 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 3d34f222d0..82ce7067d9 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_OPTION = 'gtk_doc' 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 a1f3010dd1..419316a26e 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 @@ DEPENDS:append:class-nativesdk = " nativesdk-openssl" 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 33aff7f442..9182acf449 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 @@ PTESTS_FAST_META_OE = "\ nlohmann-json \ nodejs \ onig \ - poco \ protobuf \ sdbus-c++ \ uthash \ @@ -51,6 +50,7 @@ PTESTS_SLOW_META_OE = "\ 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 index 52bcffe713..868887a47f 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 @@ HOMEPAGE = "https://thingsboard.io/" 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 9b8b7d02e3..0000000000 --- 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 16506566c2..0000000000 --- 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 fc4af0a519..0000000000 --- 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 1b59ad304c..0000000000 --- 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 587df1adae..0000000000 --- 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 d8222c4d1d..0000000000 --- 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 d5815935d7..0000000000 --- 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 3f7ba4ccb4..0000000000 --- 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 6e322b8f91..0000000000 --- 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 6c85cfc204..0000000000 --- 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 d86ac11abb..0000000000 --- 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 8f10f415cc..0000000000 --- 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 5f72f47b07..0000000000 --- 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 3196afa2b1..0000000000 --- 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 fd962eaf2d..0000000000 --- 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 31d8345378..0000000000 --- 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 e8cb337583..0000000000 --- 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 8aea3abac9..0000000000 --- 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 f47741612f..0000000000 --- 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 24952f19f5..0000000000 --- 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 b4f3d0d27f..0000000000 --- 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 f32c8867df..0000000000 --- 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 8ef7d13e98..0000000000 --- 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 ba687e0418..0000000000 --- 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 7472eea628..0000000000 --- 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 c75ec36d18..0000000000 --- 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 2abd449b8b..0000000000 --- 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 b471d9c325..0000000000 --- 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 163ebf3b33..0000000000 --- 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 fa1d49e145..0000000000 --- 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 335798cea7..0000000000 --- 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 6aa86d1fcf..0000000000 --- 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 108b2b5c10..0000000000 --- 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 0000000000..90e28340c6 --- /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 index 3deab25ea5..65fcf0a3ab 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 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ 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 ae54469927..b117dcf670 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 @@ index 29229ad..9a83c36 100644 #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 e6a3386df0..3cf3a63b94 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 @@ ${CROSS_COMPILE}cpp inside it, allowing both to use different 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 @@ index a9e94f777f6b..391e63c7fac6 100755 # 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 2436b36f2d..fba9a8767f 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 @@ This ensures the install paths are not hardcoded. 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 @@ index a9f8908..7eadc60 100644 - 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 index bb5aa69077..1e1e923399 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 @@ SUMMARY = "Paho MQTT - C++ libraries for the MQTT and MQTT-SN protocols" 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 index 2507933098..2156889eb1 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 @@ DEPENDS = "gensio libyaml" 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 500408e11e..1b4d5a0fe5 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 @@ SRC_URI = "git://git.sr.ht/~emersion/basu;protocol=https;branch=master" 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 0f01356129..1a588eb29c 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 @@ RDEPENDS:packagegroup-meta-oe-gnome ="\ 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 f6ade0c7e4..2dc6e1eca1 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 @@ set -o pipefail 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 2363679c98..5e9646c569 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> +#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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 517886c727..0000000000 --- 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 7dfa1a0df2..0000000000 --- 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 5027682df2..0000000000 --- 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 0000000000..fcc56a2e65 --- /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 0000000000..c634d8ec3d --- /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 0000000000..96322e5a56 --- /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 57e18a5808..0000000000 --- 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 0fc320420e..0000000000 --- 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 index f3edc7d82b..e50b47a5a0 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: Alex Kiernan <alex.kiernan@gmail.com> 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 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com> +#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 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com> /* 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 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com> 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 index d93f630752..4143ab4d70 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: Khem Raj <raj.khem@gmail.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> +#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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> #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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> #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 index 005ef022fd..ec451cddb7 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 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> [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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> ['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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> + (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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 - ---- 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" + #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) - 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* # .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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> /* 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> _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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 327084bae9..0000000000 --- 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 index 846c01bd4f..0d69e8e9cd 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: Khem Raj <raj.khem@gmail.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> /* 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> + 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> }; 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> /* 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> +#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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> +#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 0000000000..d6aaadc006 --- /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 index 029f413aa8..2071f4fb20 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 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] 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 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 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 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> } --- 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/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 e6507c5f89..0000000000 --- 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 index 0026a7b72a..543fba7cdb 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 @@ just historical and not actually necessary or desired behaviour? 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 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + 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 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 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 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 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 index 612a535d3c..7d74cfcc24 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 @@ using non-posix basename implementation, we have a way out 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 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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 eeff693bc4..0000000000 --- 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 index baf4903803..8162bc2c57 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 @@ Upstream-Status: Inappropriate [musl specific] 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } 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 d51ac4265a..0000000000 --- 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/0015-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 index 878914b307..f6d908f947 100644 --- 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/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch @@ -1,4 +1,4 @@ -From 873202f63f9f117c6e5a98e444cc709057042979 Mon Sep 17 00:00:00 2001 +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 @@ -18,15 +18,16 @@ 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(+) + 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 -@@ -409,7 +409,12 @@ static void bus_error_strerror(sd_bus_er +@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { return; errno = 0; @@ -39,9 +40,25 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 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 -@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(co +@@ -360,7 +360,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove char* j; errno = 0; @@ -54,3 +71,6 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 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 1ba5c1292b..0000000000 --- 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 index 5ca5386289..e5f017347c 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 @@ error: redefinition of 'struct prctl_mm_map' 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 @@ index ab851306ba..5547cad875 100644 /* 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 index d389e1d9f9..c85087219c 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: Chen Qi <Qi.Chen@windriver.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> } 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> if (r < 0) log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); else ---- 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; +--- 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_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); +- 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 log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, + return r; + +--- a/src/core/main.c ++++ b/src/core/main.c @@ -1737,7 +1737,7 @@ static void initialize_core_pattern(bool if (getpid_cached() != 1) return; @@ -185,7 +197,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> 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 dfab8fbbdf..0000000000 --- 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 index e001ed59e8..580aff327d 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 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately. 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 @@ index 3c63a58826..4c2d4347fc 100644 /* 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 @@ index 4403c0aa52..e7e4ae112d 100644 -#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 index 2d06ab84a2..19ee3ff311 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 @@ Upstream-Status: Inappropriate [musl specific] 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> } 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> +#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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> #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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 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 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> if (r < 0) return r; +-- +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/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index 700a04a264..d64cec1585 100644 --- 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/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch @@ -1,4 +1,4 @@ -From 6f0dd2ba75b68036d7b4ebfe47ac5eaf44d26f06 Mon Sep 17 00:00:00 2001 +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 @@ -10,11 +10,13 @@ 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(+) + 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 @@ @@ -30,3 +32,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> #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-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 0000000000..c9ec00012e --- /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 0000000000..8e386551a1 --- /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 14e927d075..0000000000 --- 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 0000000000..0b211948cf --- /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 index a7e147877b..956b4b82f4 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 @@ inherit cmake 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 869bfa951f..ca91b351ed 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 @@ inherit cmake pkgconfig systemd ptest 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 @@ do_install:append() { 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 0000000000..899638161a --- /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 index 99a76d454a..649bb39457 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 @@ LICENSE = "MIT" 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 index b53753c12d..44a7f6855e 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 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" 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 index c6a6ac4673..40d997a52c 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 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ 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 index fd08bf85cc..5f5507bc74 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 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ " 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 694d632cb1..350932388c 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 @@ SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" -SRCREV_FORMAT = "json-test-data" +SRCREV_FORMAT .= "_json-test-data" S = "${WORKDIR}/git" @@ -36,6 +36,7 @@ do_install_ptest () { 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 index c57324d89c..880af82bba 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 98b888760f..0000000000 --- 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 index 708c1c194a..83f44833b6 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 @@ BUGTRACKER = "https://github.com/google/brotli/issues" 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 index ecb0dbe73f..8a150f5a91 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 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b" 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 index 8eebd691a7..8d19c62980 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 5a6cda6ca4..0000000000 --- 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 0000000000..abb09bc648 --- /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 5d89e3540d..0000000000 --- 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 0000000000..0cc128c8c4 --- /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 0857cc455b..0000000000 --- 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 e7fbb0389f..0000000000 --- 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 b4d32fb2c7..0000000000 --- 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 0000000000..9e17f91669 --- /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 6c0e315d79..0000000000 --- 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 2cbdd6c74c..0000000000 --- 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 index b50c0f7de7..5287430c41 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 " - -SRC_URI[md5sum] = "1fe43f6641dbf1e1766e2a02cf68a9c3" -SRC_URI[sha256sum] = "d43baf23dc6887fe8f8e9b75cabaabc5f4bbbaa0f9eff44278d276141752a545" - -UPSTREAM_CHECK_URI = "https://github.com/libpwquality/libpwquality/releases" - -S = "${WORKDIR}/${SRCNAME}-${PV}" +SRCREV = "5490e96a3dd6ed7371435ca5b3ccef98bdb48b5a" -DEPENDS = "cracklib virtual/gettext" +S = "${WORKDIR}/git" -inherit autotools setuptools3-base gettext +inherit autotools-brokensep gettext setuptools3-base -B = "${S}" +do_configure:prepend() { + cp ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${AUTOTOOLS_AUXDIR}/ +} export PYTHON_DIR export BUILD_SYS @@ -35,7 +32,7 @@ EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \ " 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 index e8d8b1d53f..e8d8b1d53f 100644 --- 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 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 index 385b0aeed0..385b0aeed0 100644 --- 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 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 index 6e07c25c6a..6e07c25c6a 100644 --- 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 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 index 7785acca5c..7785acca5c 100644 --- 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 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 index c5f335f57d..c5f335f57d 100755 --- 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 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 index bff07535de..bff07535de 100644 --- 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 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 index 7b601e02a9..7b601e02a9 100644 --- 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 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 index 75037d6dc8..75037d6dc8 100644 --- 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 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 index a52204cc70..a52204cc70 100644 --- 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 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 index 44fb01bc85..7fa0e6372a 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 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ 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 0000000000..46463abbc4 --- /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 53030f2779..4e66d8d05a 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 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb" 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 9b9980397a..0000000000 --- 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 6763d37540..0000000000 --- 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 a10b917394..0000000000 --- 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 index 25b16121e8..1d6ffa3312 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 @@ SRC_URI = "git://github.com/manatools/dnfdragora.git;branch=master;protocol=http 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 index c885a00c5b..0adac8464e 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 @@ HOMEPAGE = "https://github.com/fontforge/libspiro" 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 index eee9de7497..d23d89f2b1 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 @@ LICENSE = "GPL-2.0-only" 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 index 7c1ebc159c..4c9c64c28a 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 @@ DEPENDS = " \ " 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 index 8dbf7933bb..9b8ca07fe7 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 @@ LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238 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 0000000000..9a4e31c1d2 --- /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 0370ae79d2..efcd1aab8a 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 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6d5b952b53dbe7752199903d082e5f07" 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 index 2fcdb6bd61..86acdc7aa1 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 @@ being useful purely as a system analysis tool." 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 c09ce73f98..ec39604f44 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 ?= "shared unwind 64bit-atomics" 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 b34762710d..0000000000 --- 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 0000000000..640b131703 --- /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 index 028291c965..f834726bd6 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 @@ LICENSE = "Apache-2.0" 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 @@ LDFLAGS:append:libc-musl = " -lucontext" # 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 index d71f3df004..566417047e 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 @@ HOMEPAGE = "https://github.com/aio-libs/aiohttp" 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 index 7a049733be..8831d84cb1 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 @@ HOMEPAGE = "https://github.com/scott-griffiths/bitstring" 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 index 5ce05c3838..b3cb377ec2 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 @@ HOMEPAGE = "https://github.com/bluetooth-devices/dbus-fast" 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 index aa56a90119..d74070876d 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 @@ SECTION = "devel/python" 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 index 134a358bf7..aaeb720e6c 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 @@ LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" 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 index 432cefcbfa..90301f3ccb 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 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8d62fd8f8648cb018e52857347e340b9" 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 index 54da389273..fffefb3c69 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 @@ LICENSE = "MIT" 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 index ed25406085..6ee5b25bda 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 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b" 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 index c27d490f4c..dff1876c3f 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 @@ HOMEPAGE = "https://github.com/balloob/pychromecast" 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 index 609411fe14..3750d49a97 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 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6" 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 index e969dbe5b6..69c7742215 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 @@ LICENSE = "BSD-2-Clause" 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 index c3b84c70c2..89b5039571 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 @@ HOMEPAGE = "https://github.com/pytest-dev/pytest-xdist" 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 index b2bc875f5e..868a7e2f30 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 @@ RDEPENDS:${PN} += "\ ${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 index 1061213357..4042ab55f0 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 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1 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 0000000000..1da7ee4a04 --- /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 index aa11534f7d..a4e5607e7e 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 @@ HOMEPAGE = "https://github.com/pypa/virtualenv" 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 9accbf18a1..0000000000 --- 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 index bbc1c6c48a..e4f7e1ceb8 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 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ 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 @@ SRC_URI:append:class-target = " \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" -SRC_URI[sha256sum] = "dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a" +SRC_URI[sha256sum] = "fa16d72a078210a54c47dd5bef2f8b9b8a01d94909a51453956b3ec6442ea4c5" S = "${WORKDIR}/httpd-${PV}" |